{"name":"eslint-plugin-jsx-a11y","version":"6.7.1","description":"Static AST checker for accessibility rules on JSX elements.","keywords":["eslint","eslintplugin","eslint-plugin","a11y","accessibility","jsx"],"author":{"name":"Ethan Cohen"},"repository":{"type":"git","url":"git+https://github.com/jsx-eslint/eslint-plugin-jsx-a11y.git"},"main":"lib/index.js","scripts":{"prepack":"npmignore --auto --commentLines=autogenerated && npm run build","build":"rimraf lib && babel src --out-dir lib --copy-files","create":"node ./scripts/create-rule","flow":"flow","lint:fix":"npm run lint -- --fix","lint":"eslint --ext=js,mjs,cjs,ts,tsx .","prepublish":"not-in-publish || npm run prepublishOnly","prepublishOnly":"safe-publish-latest && npm run lint && npm run flow && npm run jest","pretest":"npm run lint:fix && npm run flow","test":"npm run jest","posttest":"aud --production","test:ci":"npm run jest -- --ci --runInBand","jest":"jest --coverage __tests__/**/*","pregenerate-list-of-rules":"npm run build","generate-list-of-rules":"eslint-doc-generator --rule-doc-title-format prefix-name --rule-doc-section-options false --config-emoji recommended,โ๏ธ","generate-list-of-rules:check":"npm run generate-list-of-rules -- --check","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/eslint-parser":"^7.19.1","@babel/plugin-transform-flow-strip-types":"^7.19.0","@babel/register":"^7.18.9","ast-types-flow":"^0.0.7","aud":"^2.0.2","auto-changelog":"^2.4.0","babel-jest":"^24.9.0","babel-plugin-add-module-exports":"^1.0.4","babel-preset-airbnb":"^5.0.0","eslint":"^3 || ^4 || ^5 || ^6 || ^7 || ^8","eslint-config-airbnb-base":"^15.0.0","eslint-doc-generator":"^1.4.1","eslint-plugin-eslint-plugin":"^4.3.0","eslint-plugin-flowtype":"^5.8.0 || ^8.0.3","eslint-plugin-import":"^2.26.0","estraverse":"^5.3.0","expect":"^24.9.0","flow-bin":"^0.147.0","in-publish":"^2.0.1","jest":"^24.9.0","jscodeshift":"^0.7.1","minimist":"^1.2.7","npmignore":"^0.3.0","object.assign":"^4.1.4","rimraf":"^3.0.2","safe-publish-latest":"^2.0.0","to-ast":"^1.0.0"},"engines":{"node":">=4.0"},"license":"MIT","dependencies":{"@babel/runtime":"^7.20.7","aria-query":"^5.1.3","array-includes":"^3.1.6","array.prototype.flatmap":"^1.3.1","ast-types-flow":"^0.0.7","axe-core":"^4.6.2","axobject-query":"^3.1.1","damerau-levenshtein":"^1.0.8","emoji-regex":"^9.2.2","has":"^1.0.3","jsx-ast-utils":"^3.3.3","language-tags":"=1.0.5","minimatch":"^3.1.2","object.entries":"^1.1.6","object.fromentries":"^2.0.6","semver":"^6.3.0"},"peerDependencies":{"eslint":"^3 || ^4 || ^5 || ^6 || ^7 || ^8"},"jest":{"coverageReporters":["lcov","json","html"],"coverageDirectory":"coverage","roots":["__tests__"],"testPathIgnorePatterns":["__tests__/__util__/"],"testEnvironment":"node"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true,"startingVersion":"6.6.2"},"publishConfig":{"ignore":["!lib",".github/workflows",".flowconfig","/src","/reports","/flow","scripts/","CONTRIBUTING.md"]},"gitHead":"20b082a890f8e27320c6b2b3587edc6d0b735c97","bugs":{"url":"https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues"},"homepage":"https://github.com/jsx-eslint/eslint-plugin-jsx-a11y#readme","_id":"eslint-plugin-jsx-a11y@6.7.1","_nodeVersion":"19.3.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==","shasum":"fca5e02d115f48c9a597a6894d5bcec2f7a76976","tarball":"https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz","fileCount":225,"unpackedSize":706678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgok8q+cP0lsqJ7FFnhv6IAiqo9kpdPhxC4kgXFeUPKQIgRHJN6cqb/0R1ci55bDh2m82rAw5JNiL9lxC3stQBDWw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjv4pYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozaA/+ORPGg4hTUYc15FOWMKFTZM6d7qh9Ma0aQBSIUalRTzE1RGgh\r\n6HEbUDeKYSkYhKJny4lFx0GhxLGGeUu93/SlQiqQjt/HsL4KBunbIISu1njb\r\noWrsdaOAljievNLrmv4q3BIiT+J8uNTXEjxNw7iXVnEYD+Jk2u7aUZ+C2z5c\r\nvArB2Tv4UV7DF0KdpyKakJm60tW70F5oXRj06p4o3kAyiL6xzw3SHe4ztNVF\r\n034kozVLQQJAS3ojkWp9d+MOtV01kPZ4RgG9/X2L1x9F6Eq3fbvoIGs/6lvm\r\n2vYFnaMCWRoYVLvJ6oM6yq6F54n7S9cD+srBsfV2jfMOPTlz8oNpavegSy/b\r\njgH9FEMWbNK9Bn/FSa6C7mZy5g0cW+4MX1zVcJmAiMB371AQHn4i1ldoBaDE\r\nyQ1/eL/0fuj9sKXhxldutfHtlRXObB/EK06AKJjAMXAvXMocoVHoE0ejyJxP\r\na2vL1a9jKJsVf9jVrhvo3tRYbGEZRhgFz6pBAsbfnj5YYb8qs7B9Bk/J+DGD\r\niY4RPqfH/Gdsf9/ed2gfZwlKEwyFmM87NwxDo95V7TxyQR26WSLuDFpQ4git\r\nrVdVvTK6f9q60JktvJtyFZjMstpgisEO9QN2R1bU3E8XyjFt6QW2HwAG4PW4\r\njx8x/zWFPwBu5IVRJqckHP7JOizv3LBo4cQ=\r\n=teEt\r\n-----END PGP SIGNATURE-----\r\n","size":120730},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"lencioni","email":"joe.lencioni@gmail.com"},{"name":"jessebeach","email":"jesse.r.beach@icloud.com"},{"name":"evcohen","email":"ethanvcohen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/eslint-plugin-jsx-a11y_6.7.1_1673497176791_0.6716846185373775"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-12T04:19:36.937Z","publish_time":1673497176937,"readme":"
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\nGet professional support for eslint-plugin-jsx-a11y on Tidelift\n\n# eslint-plugin-jsx-a11y\n\nStatic AST checker for accessibility rules on JSX elements.\n\n#### _Read this in [other languages](https://github.com/ari-os310/eslint-plugin-jsx-a11y/blob/HEAD/translations/Translations.md)._\n\n[Mexican Spanish๐ฒ๐ฝ](https://github.com/ari-os310/eslint-plugin-jsx-a11y/blob/HEAD/translations/README.mx.md)\n\n## Why?\n\nThis plugin does aย static evaluation of the JSX to spot accessibility issues in React apps. Because it only catches errors in static code, use it in combination with [@axe-core/react](https://github.com/dequelabs/axe-core-npm/tree/develop/packages/react) to test the accessibility of the rendered DOM. Consider theseย toolsย just as one step of a larger a11y testing process andย always test your apps with assistive technology.\n\n## Installation\n\n**If you are installing this plugin via `eslint-config-airbnb`, please follow [these instructions](https://github.com/airbnb/javascript/tree/HEAD/packages/eslint-config-airbnb#eslint-config-airbnb-1).**\n\nYou'll first need to install [ESLint](https://eslint.org/docs/latest/user-guide/getting-started):\n\n```sh\n# npm\nnpm install eslint --save-dev\n\n# yarn\nyarn add eslint --dev\n```\n\nNext, install `eslint-plugin-jsx-a11y`:\n\n```sh\n# npm\nnpm install eslint-plugin-jsx-a11y --save-dev\n\n# yarn\nyarn add eslint-plugin-jsx-a11y --dev\n```\n\n**Note:** If you installed ESLint globally (using the `-g` flag in npm, or the `global` prefix in yarn) then you must also install `eslint-plugin-jsx-a11y` globally.\n\n## Usage\n\nAdd `jsx-a11y` to the plugins section of your `.eslintrc` configuration file. You can omit the `eslint-plugin-` prefix:\n\n```json\n{\n \"plugins\": [\"jsx-a11y\"]\n}\n```\n\nThen configure the rules you want to use under the rules section.\n\n```json\n{\n \"rules\": {\n \"jsx-a11y/rule-name\": 2\n }\n}\n```\n\nYou can also enable all the recommended or strict rules at once.\nAdd `plugin:jsx-a11y/recommended` or `plugin:jsx-a11y/strict` in `extends`:\n\n```json\n{\n \"extends\": [\"plugin:jsx-a11y/recommended\"]\n}\n```\n\n> As you are extending our configuration, you can omit `\"plugins\": [\"jsx-a11y\"]` from your `.eslintrc` configuration file.\n\nTo enable your custom components to be checked as DOM elements, you can set global settings in your\nconfiguration file by mapping each custom component name to a DOM element type.\n\n```json\n{\n \"settings\": {\n \"jsx-a11y\": {\n \"components\": {\n \"CityInput\": \"input\",\n \"CustomButton\": \"button\",\n \"MyButton\": \"button\",\n \"RoundButton\": \"button\"\n }\n }\n }\n}\n```\n\n## Supported Rules\n\n\n\n๐ผ Configurations enabled in.\\\n๐ซ Configurations disabled in.\\\nโ๏ธ Set in the `recommended` configuration.\\\n๐ Set in the `strict` configuration.\\\nโ Deprecated.\n\n| Nameย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย | Description | ๐ผ | ๐ซ | โ |\n| :----------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | :---- | :---- | :- |\n| [accessible-emoji](docs/rules/accessible-emoji.md) | Enforce emojis are wrapped in `` and provide screenreader access. | | | โ |\n| [alt-text](docs/rules/alt-text.md) | Enforce all elements that require alternative text have meaningful information to relay back to end user. | โ๏ธ ๐ | | |\n| [anchor-ambiguous-text](docs/rules/anchor-ambiguous-text.md) | Enforce `` text to not exactly match \"click here\", \"here\", \"link\", or \"a link\". | | โ๏ธ | |\n| [anchor-has-content](docs/rules/anchor-has-content.md) | Enforce all anchors to contain accessible content. | โ๏ธ ๐ | | |\n| [anchor-is-valid](docs/rules/anchor-is-valid.md) | Enforce all anchors are valid, navigable elements. | โ๏ธ ๐ | | |\n| [aria-activedescendant-has-tabindex](docs/rules/aria-activedescendant-has-tabindex.md) | Enforce elements with aria-activedescendant are tabbable. | โ๏ธ ๐ | | |\n| [aria-props](docs/rules/aria-props.md) | Enforce all `aria-*` props are valid. | โ๏ธ ๐ | | |\n| [aria-proptypes](docs/rules/aria-proptypes.md) | Enforce ARIA state and property values are valid. | โ๏ธ ๐ | | |\n| [aria-role](docs/rules/aria-role.md) | Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role. | โ๏ธ ๐ | | |\n| [aria-unsupported-elements](docs/rules/aria-unsupported-elements.md) | Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes. | โ๏ธ ๐ | | |\n| [autocomplete-valid](docs/rules/autocomplete-valid.md) | Enforce that autocomplete attributes are used correctly. | โ๏ธ ๐ | | |\n| [click-events-have-key-events](docs/rules/click-events-have-key-events.md) | Enforce a clickable non-interactive element has at least one keyboard event listener. | โ๏ธ ๐ | | |\n| [control-has-associated-label](docs/rules/control-has-associated-label.md) | Enforce that a control (an interactive element) has a text label. | | โ๏ธ ๐ | |\n| [heading-has-content](docs/rules/heading-has-content.md) | Enforce heading (`h1`, `h2`, etc) elements contain accessible content. | โ๏ธ ๐ | | |\n| [html-has-lang](docs/rules/html-has-lang.md) | Enforce `` element has `lang` prop. | โ๏ธ ๐ | | |\n| [iframe-has-title](docs/rules/iframe-has-title.md) | Enforce iframe elements have a title attribute. | โ๏ธ ๐ | | |\n| [img-redundant-alt](docs/rules/img-redundant-alt.md) | Enforce `` alt prop does not contain the word \"image\", \"picture\", or \"photo\". | โ๏ธ ๐ | | |\n| [interactive-supports-focus](docs/rules/interactive-supports-focus.md) | Enforce that elements with interactive handlers like `onClick` must be focusable. | โ๏ธ ๐ | | |\n| [label-has-associated-control](docs/rules/label-has-associated-control.md) | Enforce that a `label` tag has a text label and an associated control. | โ๏ธ ๐ | | |\n| [label-has-for](docs/rules/label-has-for.md) | Enforce that `