6.6.0 / 2022-06-23 ================== - 566011b [New] `aria-role`: add `allowedInvalidRoles` option (#828) - 64dcac6 [New] Introduce a plugin-wide setting for custom components. (#844) - ce2c328 [Fix] `no-redundant-roles`, `role-supports-aria-props`: Remove implicit role from dl element (#848) - fb20bc4 [Refactor] `role-supports-aria-props`: clean up the logic a bit - 1826628 [Refactor] reduce egregious use of array spread, in favor of `[].concat` idiom - 0f1615a [Docs] `no-static-element-interactions`: Update error message (#843) - 9980d1d [Docs] Add infrastructure for auto-generating markdown table and list (#837) - f878d3b [Docs] Update project readme (#831) - aea7671 [Deps] update `@babel/runtime`, `array-includes`, `axe-core`, `jsx-ast-utils` - d74173a [Deps] update `jsx-ast-utils` - f6ba03c [Deps] update `@babel/runtime`, `jsx-ast-utils` - 547dab4 [Deps] update `@babel/runtime`, `axe-core`, `minimatch` - baaf791 [Deps] update `@babel/runtime`, `minimatch`, `semver` - c015fef [Deps] update `@babel/runtime`, `axe-core`, `damerau-levenshtein` - 832cbd6 [meta] add `export default` instead of `module.exports` (#861) - ee933a2 [meta] Add CONTRIBUTING.md to solicit contributions (#846) - fa3c869 [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/eslint-parser`, `@babel/plugin-transform-flow-strip-types`, `aud`, `eslint-plugin-eslint-plugin`, `eslint-plugin-flowtype`, `eslint-plugin-import` - fb3d51e [Dev Deps] update `@babel/core`, `@babel/register`, `eslint-plugin-import`, `minimist` - 8c1df4d [Dev Deps] pin `@technote-space/doctoc` because v2.5 is a breaking change - fb071ab [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/eslint-parser`, `@babel/plugin-transform-flow-strip-types`, `eslint-plugin-eslint-plugin` - 5e966e5 [Dev Deps] update `@babel/cli` - f597f5b [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/eslint-parser` - 287854a [Tests] Fix `npm run flow` (#856) - 112261c [Tests] skip fragment tests in eslint < 6 - ea877c4 [Tests] `img-redundant-alt-test`: add passing tests (#832) - 685426d test: align usage of jest expect across tests (#827) - c460a8b [Tests] move invalid test case to valid; changed in axe-core v4.4 6.5.1 / 2021-11-10 ================== - 8f7d0b0 [Fix] properly build `module.exports` (#824) - 2fd2087 [Dev Deps] update `eslint-plugin-import` 6.5.0 / 2021-11-09 ================== - 0f5f582 [New] support ESLint 8.x (#810) - 1dbc416 [Deps] update `@babel/runtime`, `axe-core` - 4043d31 [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/eslint-parser`, `@babel/plugin-transform-flow-strip-types`, `eslint-config-airbnb-base` - d143cba [Docs] HTTP => HTTPS (#823) - 309b040 [Docs] `anchor-has-content`: add missing close / for jsx succeed example (#821) - ba1e312 [eslint] simplify eslint command - 0269025 [meta] change all `master` references in URLs to `HEAD` - f1414cf [Dev Deps] add `eslint-plugin-eslint-plugin` (#818) - f44fc05 [meta] update URLs - df34872 [Refactor] switch to `export default` syntax for exporting rules (#819) - ff26b82 [meta] fix prepublish scripts - d4a57d8 [Deps] update `@babel/runtime`, `array-includes`, `axe-core`, `jsx-ast-utils` - bd1dec6 [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/eslint-parser`, `eslint-plugin-import`, `estraverse`, `safe-publish-latest` - 434c4cf [Tests] do not test eslint 7 on node 11 - aed7a20 [Tests] use `@babel/eslint-parser` instead of `babel-eslint` (#811) - 0021489 [actions] use codecov action - 1251088 [meta] delete FUNDING.yml in favor of `.github` repo - ecf7a27 [Docs] `scope`: replace duplicate `scope` word (#799) - 952af25 [Fix] `no-access-key`: Fix wording and grammar (#800) - 6cf7ac0 [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/plugin-transform-flow-strip-types`, `aud`, `eslint-plugin-flowtype`, `eslint-plugin-import` - 79a35d4 [Deps] update `@babel/runtime`, `axe-core`, `damerau-levenshtein` - 2a9ab71 [Tests] delete `src/util/getComputedRole-test.js` test in node 6 - 0c1c587 [Tests] `autocomplete-valid`: move some failed tests to passing - 8830902 [Tests] fix eslint < 7 not understanding `import type` - d57887c [Tests] ensure all tests run - 55e5c11 Support img role for canvas (#796) - 36102cd [meta] use `prepublishOnly` script for npm 7+ - 2501a7f Remove the link-button focus css from the anchor-is-valid doc (#662) - d927625 Update recommended config to allow fieldset to have the radiogroup role (#746) - 5aa8db9 [Docs] Clarify the title of the strictness table in the main doc (#786) - df3c7ad [Docs] Document the similarity between html-has-lang and lang (#778) - 426d4c2 Fix Flow warnings (#785) - ecec8e4 Fully deprecate accessible-emoji rule (#782) - 8a0e43c [Tests] remove .travis.yml - f88bf6b [Dev Deps] update `flow-bin` to support aarch64 (#784) - 369f9db [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/plugin-transform-flow-strip-types`, `aud`, `eslint-plugin-flowtype`, `jscodeshift` - ce0785f [Deps] update `@babel/runtime`, `array-includes`, `axe-core`, `emoji-regex` - 2c2a2ad [actions] update to use `node/install` action - c275964 [Docs] `anchor-is-valid`: general cleanup (#728) - 3df059e [Docs] `no-redundant-roles`: Adds missing closing square bracket (#775) - 42ce5b7 [Docs] `anchor-is-valid`: Add Next.js case (#769) - 2e5df91 [Tests] fix tests breaking on npm 7 - 066ccff [Docs] `no-noninteractive-tabindex`: Add example for tabIndex on seemingly non-interactive element (#760) - 6b19aa5 [Tests] migrate tests to Github Actions (#764) - 7e158e3 [meta] run `aud` in `posttest` - 71f390f [Tests] stop using coveralls - e54b466 [meta] add Automatic Rebase and Require Allow Edits workflows - 7d5511d [New] `label-has-associated-control`: Add glob support (#749) - 854da0c Ran npm update; latest packages (#763) - 8637aa7 (source/pr/734, fork/pr/26) [patch] `strict` config: Turn off `label-has-for` (#734) - d85ce54 [doc] Add link to MDN Aria documentation (#762) - 20b48a4 [patch] `no-onchange`: Remove rule from recommended/strict configs, and deprecate (#757) 6.4.1 / 2020-10-26 ================== - f8a4496 Upgrade jsx-ast-utils to v3.1.0 6.4.0 / 2020-10-26 ================== - 83e4ff2 [Deps] update `axe-core`, `jsx-ast-utils` - eb92b07 [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/plugin-transform-flow-strip-types`, `eslint-plugin-flowtype`, `eslint-plugin-import`, `estraverse`, `expect`, `object.assign` - 3d98d7a [Deps] update `@babel/runtime`, `axe-core` - f702f62 [readme] add Spanish translation - c2ae092 [Docs] `no-static-element-interactions`: Fixed rule name in comments - b90e20d Fix screenreader -> screen reader - 645900a Fixed rule name in comments - 381b9d6 [fix:634] Ignore control elements that are hidden - 2c47f0a [Fix] `autocomplete-valid`: workaround for axe not being able to handle `null` - 00bd6d8 Add failing test for autocomplete with dynamic type - 3c49c9a Add WCAG guidelines to rule documentation - 4ecaf35 Add a testcase for tablist to interactive supports focus - dac6864 Deprecate the accessible-emoji rule - 5191053 Update to axobject-query@2.2.0 - b315698 Allow negative tabindex in aria-activedescendant-has-tabindex - 8e6fcd0 docs: fix travis badge now points to correct location at travis-ci.com - 2234df7 Account for additional control elements in label-has-associated-control - 5cbb718 Adding test cases for label tests - 66c425c Additional test case for no-redundant-roles 6.3.1 / 2020-06-19 ================== - 765da0f Update to aria-query 4.2.2 - d528e8c Fix aria-level allowed on elements wit role heading (#704) - 29c6859 [meta] remove yarn registry from npmrc, so publishing works - f52c206 chore(package): update estraverse to version 5.0.0 6.3.0 / 2020-06-18 ================== - cce838a Update aria-query to 4.2.0 - 121e8a4 Add two test cases found while upgrading to ARIA 1.2 - 8059f51 Fix test failures raised by the upgrade to ARIA 1.2 - 0d24e3a Update package.json - b1f412a Fix test failures in role-has-required-aria-props due to ARIA 1.2 updates - 74cec6e Fix test failures in no-noninteractive-element-interactions due to ARIA 1.2 updates - 835b89e Fix test failures in role-supports-aria-props-test due to ARIA 1.2 updates - 730319b Account for the null semantic generic role in ARIA 1.2 - 7dfa7c9 Update aria-query from 4.0.1 to 4.0.2 - 42098b9 [Refactor] `img-redundant-alt`: removing a use of `some` - a910d83 [Tests] `label-has-associated-control`: add test for
- b273fe5 [New] Support ESLint 7.x - 1a97632 [Deps] update `@babel/runtime`, `array-includes`, `axe-core`, `axobject-query`, `damerau-levenshtein`, `jsx-ast-utils` - b36976f [Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/plugin-transform-flow-types`, `babel-eslint`, `babel-jest`, `coveralls`, `eslint-config-airbnb-base`, `eslint-plugin-flowtype`, `eslint-plugin-import`, `estraverse`, `in-publish`, `jest`, `minimist`, `rimraf`, `safe-publish-latest` - 89acdc4 fix: removing the use of the some function - 410ae43 chore(package): update eslint-plugin-flowtype to version 5.0.0 - a87f83d fix(package): update emoji-regex to version 9.0.0 - 71940e6 chore(package): update babel-preset-airbnb to version 5.0.0 - d471f54 docs: Fix 404 links to WAI-ARIA spec - 42a2016 Fixes #669: use the `language-tags` package to check the `lang` rule - 7bcea20 [Tests] update axe-core - f13dc38 [Deps] Pin axe-core version - 33670bb fix: require missing 'autocomplete-valid' rule - aca4c37 chore(mouse-event): revert unrelated formatting changes - df1e275 fix(mouse-event): remove check from custom elements - 1a16a1c chore(package): update jscodeshift to version 0.7.0 - 7a55cdd chore(package): update flow-bin to version 0.113.0 - 8e0d22b Update aria-query and axobject-query to the latest versions - dd49060 Added test cases for an empty or undefined value of aria-label and aria-labelledby in alt-text - 1a7b94f Updated dependencies including eslint-config-airbnb-base - 3aea217 chore: replace ignoreNonDOM with inputComponents - 1848d00 feat(autocomplete-valid): add to recommended & strict config - 8703840 refactor: use to axe-cre 3.4 SerialVirtualNode format - 3519c7b chore: Remove axe VirtualNode abstraction - 9ac55c4 autocomplete-valid: Add inline comment - 44c6098 Update axe-core to 3.3.0 - 9916990 new autocomplete-valid rule - 82f598e [Docs] examples: add language in code block for syntax highlight - 2529ad3 fixing casing issue on aria-props - 00926f2 Update README.md - ce5d121 Update README.md - 031574e chore(package): update flow-bin to version 0.103.0 - e00e1db [meta] add FUNDING.yml - e1e5fae Fix readme file 6.2.3 / 2019-06-30 ================= - [617] Add @babel/runtime to the dependencies 6.2.2 / 2019-06-29 ================= - Update jsx-ast-utils to v2.2.1 - Add @babel/cli to the dev dependencies - Update ESLint to v6 - Update jsx-ast-utils to 2.2.0 - Update flow-bin to version 0.102.0 - [589] Allow expression statements for attribute values in no-noninteractive-tabindexlow-bin-0.101.0 - [583] Allow expression values in attributes by configurationrror - [596] Adding a test case for no-static-element-interactionseper/flow-bin-0.101.0) Merge branch 'master' into greenkeeper/flow-bin-0.101.0 - Only run branch test coverage on the master branch - chore(package): update flow-bin to version 0.100.0 - Allow select as a valid child of label. - Allow Node 4 / ESLint 3 failure to unblock ESLint upgrade in PR #568 - chore(package): update flow-bin to version 0.99.0 - Remove rootDir from Jest path configs - (fix) Template literals with undefined evaluate to the string undefined. - adds more tests to “anchor-is-valid” - Fixes “anchor-is-valid” false positive for hrefs starting with the word “javascript” - chore(package): update eslint-plugin-flowtype to version 3.5.0 - Modified no-static-element-interactions to pass on non-literal roles. - Added isNonLiteralProperty util method - [#399] Account for spread in parser options - [552] control-has-associated-label should allow generic links - [issue 392] ul role='list' test case - chore(package): update eslint to version 5.15.2 - chore(package): update flow-bin to version 0.95.0 - chore(package): update expect to version 24.3.1 - Fix typo: defintions > definitions - docs: add proper title to links to axe website for media-has-caption - docs: removes deprecated rule label-has-for - docs: fix typo and couple grammatical errors in Readme - Ignore null/undefined values in role-supports-aria-props rule - Ignore undefined values in aria-proptypes rule - Ignore null values in aria-proptypes rule - set target for node 4 6.2.1 / 2019-02-03 ================= - 9980e45 [fix] Prevent Error when JSXSpreadAttribute is passed to isSemanticRoleElement 6.2.0 / 2019-01-25 ================= - 5650674 [new rule] control-has-associated-label checks interactives for a label - f234698 [docs] add How to manage IDs - 9924d03 [docs] document jsx-a11y/label-has-associated-control assert option - 77b9870 [docs] Add newlines below headings - 8244e43 [docs] Add syntax highlighting to example - 26f41c8 [docs] Change explanation for role="presentation" escape hatch - 33a1f94 [fix] - Purely decorative emojis do not need descriptions. - 29d20f7 [fix] (package): update emoji-regex to version 7.0.2 - 0b63f73 [chore] (package): update flow-bin to version 0.88.0 - baa1344 [fix] Disable jsx-a11y/label-has-for in recommended - 2c5fb06 [chore] (package): update jscodeshift to version 0.6.0 - 87debc0 [fix] corrected no-noninteractive-element-to-interactive-role.md file - d56265b [chore] (package): update flow-bin to version 0.87.0 - 477966f [fix] Update test for implicit role of `img` - f484ce3 [fix] No implicit role for `` with `alt=""` - 6c33bcb [fix] Add select to the list of default control elements in label-has-associated-control - 011f8d9 [fix] Dialog and Alert roles can host keyboard listeners - 0f6a8af [fix] More easier `plugin:jsx-a11y/{recommended,strict}` configs - 3844248 [fix] Mark the replacement for label-has-for - 93265cb [fix] normalizedValues to values - 651366c [fix] Make aria-role case sensitive - 56d3b9a [fix] [484] Fix role-has-required-aria-props for semantic elements like input[checkbox] - 46e9abd [fix] Handle the type={truthy} case in jsx 6.1.2 / 2018-10-05 ================= - [fix] Add link-type styling recommendation to anchor-is-valid #486 - [fix] `label-has-for`: `textarea`s are inputs too #470 6.1.1 / 2018-07-03 ================== - [fix] aria-proptypes support for idlist, #454 - [fix] Image with expanded props throws 'The prop must be a JSXAttribute collected by the AST parser.', #459 - [fix] label-has-for: broken in v6.1.0, #455 6.1.0 / 2018-06-26 ================== - [new] Support for eslint v5, #451 - [new] aria-query updated to latest version - [new] eslint-config-airbnb-base updated to the latest version - [deprecate] The rule label-has-for is deprecated and replaced with label-has-associated-control - [fix] heading-has-content updated to work with custom components, #431 - [fix] aria-errormessage prop is now a valid ARIA property, #424 6.0.2 / 2017-06-28 ================== - [fix] Prefix directories in `.npmignore` with `/` so it only matches the top-level directory 6.0.1 / 2017-06-28 ================== - [temporary] Remove `src` and `flow` from package to resolve flow issues for consuming packages. 6.0.0 / 2017-06-05 ================= - [new] Add rule `anchor-is-valid`. See documentation for configuration options. Thanks @AlmeroSteyn. - [breaking] `href-no-hash` replaced with `anchor-is-valid` in the recommended and strict configs. Use the `invalidHref` aspect (active by default) in `anchor-is-valid` to continue to apply the behavior provided by `href-no-hash`. - [breaking] Removed support for ESLint peer dependency at version ^2.10.2. - [update] The rule `label-has-for` now allows inputs nested in label tags. Previously it was strict about requiring a `for` attribute. Thanks @ignatiusreza and @mjaltamirano. - [update] New configuration for `interactive-supports-focus`. Recommended and strict configs for now contain a trimmed-down whitelist of roles that will be checked. - [fix] Incompatibility between node version 4 and 5. Thanks @evilebottnawi. - [fix] Missing README entry for `media-has-caption`. Thanks @ismail-syed. - [fix] README updates explaining recommended and strict configs. Thanks @Donaldini. - [fix] Updated to aria-query@0.7.0, which includes new ARIA 1.1 properties. Previously, the `aria-props` rule incorrectly threw errors for these new properties. 5.1.1 / 2017-07-03 ================== - [fix] revert v6 breaking changes unintentionally added in v5.1 (#283) 5.1.0 / 2017-06-26 ================== - [new] Support eslint v4. (#267) - [new] `label-has-for`: add "required" option to allow customization (#240) - [new] add `anchor-is-valid` (#224) - [new] `interactive-supports-focus`: Split interactive supports focus into tabbable and focusable cases (#236) - [new] `anchor-is-valid`: add `aspects` option (#251) - [Deps] Bump aria-query to 0.7.0 5.0.3 / 2017-05-16 ================== - [fix] Remove `flow` directory from `.npmignore` to accommodate explicit imports from `v5.0.2`. 5.0.2 / 2017-05-16 ================== - [fix] Explicitly import flow types to resolve flow failures in consuming projects. 5.0.1 / 2017-05-07 ================== - [fix] Polyfill Array.includes for node < 6 support. 5.0.0 / 2017-05-05 ================== - [breaking] Refactor `img-has-alt` rule into `alt-text` rule - [breaking] Rule `onclick-has-role` is removed. Replaced with `no-static-element-interactions` and `no-noninteractive-element-interactions`. - [breaking] Rule `onclick-has-focus` is removed. Replaced with `interactive-supports-focus`. - [new] - Add rule `media-has-caption` rule - [new] - Add `ignoreNonDOM` option to `no-autofocus`. - [new] - Add rule `no-interactive-element-to-noninteractive-role` - [new] - Add rule `no-noninteractive-element-to-interactive-role` - [new] - Add rule `no-noninteractive-tabindex` - [new] - Configs split into "recommended" and "strict". - [enhanced] - Configuration options added to `no-static-element-interactions` and `no-noninteractive-element-interactions`. Options allow for fine-tuning of elements and event handlers to check. 4.0.0 / 2017-02-04 ================== Add new rules: - `jsx-a11y/accessible-emoji` - `jsx-a11y/aria-activedescendant-has-tabindex` - `jsx-a11y/iframe-has-title` - `jsx-a11y/no-autofocus` - `jsx-a11y/no-distracting-elements` *(breaking: consolidated no-marquee and no-blink into this rule.)* - `jsx-a11y/no-redundant-roles` - [fix] - redundant-alt to only check full words - [docs] - Documentation upgrades across the board. - [new] - Add `ignoreNonDom` - [dev] - Add script to scaffold new rule creation. 3.0.2 / 2016-12-14 ================== - [fix] - make `aria-invalid` values true and false pass for rule `aria-proptypes` 3.0.1 / 2016-10-11 ================== - [breaking] - Update all rule schemas to accept objects. This allows a future schema expansion to not be a breaking change. - [breaking] - All rules with schemas that accepted a string OR array, now only allows an array. - [new] - `href-no-hash` accepts new schema property `specialLink` to check for custom `href` properties on elements. (fixes [#76](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/76)) - [breaking][fix] - `img-has-alt` now prefers `alt=""` over `role="presentation"`. You can set both, but not just `role="presentation"` by itself to ensure a11y across all devices. Note - see [rule documentation](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules) for updated schemas. 2.2.3 / 2016-10-08 ================== - [fix] - Add `switch` aria role. - [devDependencies] - Updgrade dev dependencies and fix linting issues. 2.2.2 / 2016-09-12 ================== - [fix] `x-has-content` rules now pass with children prop set. 2.2.1 / 2016-08-31 ================== - [fix] Update `tablist` role to include missing property `aria-multiselectable`. 2.2.0 / 2016-08-26 ================== - [new] Add `click-events-have-key-events` rule. - [new] Add `no-static-element-interactions` rule. - [devDependencies] Upgrade `eslint`, `eslint-config-airbnb`, `mocha` to latest. - [lint] Fix all new linting errors with upgrade - [nit] Use `error` syntax over `2` syntax in recommended config. 2.1.0 / 2016-08-10 ================== - [fix] Require `aria-checked` for roles that are subclasses of `checkbox` - [new] Add `anchor-has-content` rule. - [refactor] Use new eslint rule syntax - [new] Add support for custom words in `img-redundant-alt` (mainly for i18n). 2.0.1 / 2016-07-13 ================== - [fix] JSXElement support in expression handlers for prop types. - [fix] `heading-has-content`: dangerouslySetInnerHTML will pass. 2.0.0 / 2016-07-12 ================== - [breaking] Scope `no-onchange` rule to select menu elements only. 1.5.5 / 2016-07-05 ================== - [fix] Add `eslint` v3 as a `peerDependency`. 1.5.4 / 2016-07-05 ================== - [fix] Add `eslint` as a `peerDependency`. 1.5.3 / 2016-06-16 ================== - [fix] Fix crash when ``