NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1297 most downloaded on npm
Static AST checker for accessibility rules on JSX elements.
Last release 2 years ago
no release in 18 months
Ships fairly regularly
a new release about every 6 months
Some releases are documented
notes for 28 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
11 years old
84 releases · first in 2016
[Tests] Add tests to reinforce required attributes for role="heading" by @lb- in #1022
role="heading" by @lb- in #1022label-has-associated-control: add additional test cases by @lb- in #1021label-has-associated-control: add line breaks for readability by @lb- in #1024no-redundandant-roles: allow <img src="*.svg" role="img" /> by @lb- in #1026Full Changelog: v6.10.1...v6.10.2
One column per quarter.
Use consistent spelling of 'screen reader' by @lb- in #1018
[readme] remove deprecated travis ci badge by @trajan0x in #995
label-has-associated-control: add additional error message by @BillyLevin in #1007for attribute by @edoardocavazza in #977attributes setting by @edoardocavazza in #979label-has-associated-control: ignore undetermined label text by @BillyLevin in #1004Full Changelog: v6.9.0...v6.10.0
add support for Flat Config 6b5f096
6b5f096no-noninteractive-element-to-interactive-role: allow menuitemradio and menuitemcheckbox on <li> c0733f9img-redundant-alt: fixed multibyte character support #969isNonInteractiveElement: Upgrade aria-query to 5.3.0 and axobject-query to 3.2.1" 75d5dd7summary remains non-interactive 6a048da#960safe-regex-test 4c7e78151a1ca7aria-query and axobject-query, add ls-engines test to CI 32fd82c@babel/runtime 0a98ad8axe-core b3559cfobject.entries to dev deps 1be7b70Full Changelog: v6.8.0...v6.9.0
Full Changelog : v6.7.1...v6.8.0
Full Changelog: v6.7.1...v6.8.0
Full Changelog : v6.7.0...v6.7.1
Full Changelog: v6.7.0...v6.7.1
Full Changelog : v6.6.1...v6.7.0
Full Changelog: v6.6.1...v6.7.0
Full Changelog : v6.6.0...v6.6.1
Full Changelog: v6.6.0...v6.6.1
Full Changelog : v6.5.1...v6.6.0
Full Changelog: v6.5.1...v6.6.0
Full Changelog : v6.5.0...v6.5.1
Full Changelog: v6.5.0...v6.5.1
Fully deprecate accessible-emoji rule by @backwardok in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/782
label-has-associated-control: Add glob support by @hallzac2 in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/749no-redundant-roles: Adds missing closing square bracket by @mikeriley131 in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/775anchor-is-valid: general cleanup by @Anima-t3d in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/728scope: replace duplicate scope word by @rafaelss95 in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/799@babel/eslint-parser instead of babel-eslint by @MichaelDeBoey in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/811export default syntax for exporting rules by @bmish in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/819eslint-plugin-eslint-plugin by @bmish in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/818Full Changelog: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.4.1...v6.5.0
Deprecate the accessible-emoji rule by @jessebeach in https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/713
Full Changelog: https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.3.1...v6.4.1
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
5650674 [new rule] control-has-associated-label checks interactives for a label
img<img> with alt=""plugin:jsx-a11y/{recommended,strict} configs6.1.2 / 2018-10-05 [fix] Add link-type styling recommendation to anchor-is-valid #486 [fix] label-has-for: textareas are inputs too #470
6.1.2 / 2018-10-05 [fix] Add link-type styling recommendation to anchor-is-valid #486 [fix] label-has-for: textareas are inputs too #470
[fix] aria-proptypes support for idlist, #454 [fix] Image with expanded props throws 'The prop must be a JSXAttribute collected by the AST parser.', #
[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
[deprecate] The rule label-has-for is deprecated and replaced with label-has-associated-control
jsx-ast-utils was using incorrect major version for v6.0.2 of this plugin. This version republishes the same code with jsx-ast-utils@^2.0.0
jsx-ast-utils was using incorrect major version for v6.0.2 of this plugin. This version republishes the same code with jsx-ast-utils@^2.0.0
Nothing published for this version
Nothing published for this version
[new] Add rule anchor-is-valid. See documentation for configuration options. Thanks @AlmeroSteyn.
anchor-is-valid. See documentation for configuration options. Thanks @AlmeroSteyn.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.label-has-for now allows inputs nested in label tags. Previously it was strict about requiring a for attribute. Thanks @ignatiusreza and @mjaltamirano.interactive-supports-focus. Recommended and strict configs for now contain a trimmed-down whitelist of roles that will be checked.media-has-caption. Thanks @ismail-syed.aria-props rule incorrectly threw errors for these new properties.Nothing published for this version
Nothing published for this version
for explicit imports in v5.0.2
for explicit imports in v5.0.2
Explicitly import flow types to resolve flow failures in consuming projects.
Explicitly import flow types to resolve flow failures in consuming projects.
Swapped Array.includes for array-includes polyfill to support node versions <4
Swapped Array.includes for array-includes polyfill to support node versions <4
[breaking] Refactor img-has-alt rule into alt-text rule [breaking] Rule onclick-has-role is removed. Replaced with no-static-element-interactions and
[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.
jsx-a11y/accessible-emoji jsx-a11y/aria-activedescendant-has-tabindex jsx-a11y/iframe-has-title jsx-a11y/no-autofocus jsx-a11y/no-distracting-elements
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 option to aria-role
[dev] - Add script to scaffold new rule creation.
Nothing published for this version
[breaking] - Update all rule schemas to accept objects. This allows a future schema expansion to not be a breaking change.
href-no-hash accepts new schema property specialLink to check for custom href properties on elements. (fixes #76)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 for updated schemas.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[new] Integrate with latest jsx-ast-utils to use propName function. More support for namespaced names on attributes and elements.
jsx-ast-utils to use propName function. More support for namespaced names on attributes and elements.Nothing published for this version
[dependency] Integrate jsx-ast-utils
[new] Spelling suggestions for incorrect aria-\* props [fix] Ensure role value is a string before converting to lowercase in img-has-alt rule.
[new] Spelling suggestions for incorrect aria-* props [fix] Ensure role value is a string before converting to lowercase in img-has-alt rule.
This fix retains validation logic for literal tabIndex values added in #48.
Fixes #50
This fix retains validation logic for literal tabIndex values added in #48.
Nothing published for this version
Nothing published for this version
Nothing published for this version
[new] Add expression value handler for BinaryExpression type.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →