import type { Linter } from "eslint"; // @ts-expect-error - no types available import jsxA11y from "eslint-plugin-jsx-a11y"; import { astroFiles, javascriptFiles, typescriptFiles } from "./shared"; export const jsxA11yConfig: Linter.Config = { name: "eslint/jsx-a11y", files: [ ...astroFiles, ...typescriptFiles.filter((f) => f.includes("tsx")), ...javascriptFiles.filter((f) => f.includes("jsx")), ], plugins: { "jsx-a11y": jsxA11y, }, rules: { ...jsxA11y.configs.recommended.rules, // Additional a11y rules "jsx-a11y/alt-text": "error", "jsx-a11y/anchor-has-content": "error", "jsx-a11y/anchor-is-valid": "error", "jsx-a11y/click-events-have-key-events": "error", "jsx-a11y/interactive-supports-focus": "error", "jsx-a11y/no-redundant-roles": "error", "jsx-a11y/img-redundant-alt": "error", "jsx-a11y/no-access-key": "error", "jsx-a11y/label-has-associated-control": "error", "jsx-a11y/no-autofocus": "warn", }, };