- 9980e45 [fix] Prevent Error when JSXSpreadAttribute is passed to isSemanticRoleElement
- 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
<img>
withalt=""
- 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
- [fix] Add link-type styling recommendation to anchor-is-valid #486
- [fix]
label-has-for
:textarea
s 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.', #459
- [fix] label-has-for: broken in v6.1.0, #455
- [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
- [fix] Prefix directories in
.npmignore
with/
so it only matches the top-level directory
- [temporary] Remove
src
andflow
from package to resolve flow issues for consuming packages.
- [new] Add rule
anchor-is-valid
. See documentation for configuration options. Thanks @AlmeroSteyn. - [breaking]
href-no-hash
replaced withanchor-is-valid
in the recommended and strict configs. Use theinvalidHref
aspect (active by default) inanchor-is-valid
to continue to apply the behavior provided byhref-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 afor
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.
- [fix] revert v6 breaking changes unintentionally added in v5.1 (#283)
- [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
: addaspects
option (#251) - [Deps] Bump aria-query to 0.7.0
- [fix] Remove
flow
directory from.npmignore
to accommodate explicit imports fromv5.0.2
.
- [fix] Explicitly import flow types to resolve flow failures in consuming projects.
- [fix] Polyfill Array.includes for node < 6 support.
- [breaking] Refactor
img-has-alt
rule intoalt-text
rule - [breaking] Rule
onclick-has-role
is removed. Replaced withno-static-element-interactions
andno-noninteractive-element-interactions
. - [breaking] Rule
onclick-has-focus
is removed. Replaced withinteractive-supports-focus
. - [new] - Add rule
media-has-caption
rule - [new] - Add
ignoreNonDOM
option tono-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
andno-noninteractive-element-interactions
. Options allow for fine-tuning of elements and event handlers to check.
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.
- [fix] - make
aria-invalid
values true and false pass for rulearia-proptypes
- [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 propertyspecialLink
to check for customhref
properties on elements. (fixes #76) - [breaking][fix] -
img-has-alt
now prefersalt=""
overrole="presentation"
. You can set both, but not justrole="presentation"
by itself to ensure a11y across all devices.
Note - see rule documentation for updated schemas.
- [fix] - Add
switch
aria role. - [devDependencies] - Updgrade dev dependencies and fix linting issues.
- [fix]
x-has-content
rules now pass with children prop set.
- [fix] Update
tablist
role to include missing propertyaria-multiselectable
.
- [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 over2
syntax in recommended config.
- [fix] Require
aria-checked
for roles that are subclasses ofcheckbox
- [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).
- [fix] JSXElement support in expression handlers for prop types.
- [fix]
heading-has-content
: dangerouslySetInnerHTML will pass.
- [breaking] Scope
no-onchange
rule to select menu elements only.
- [fix] Add
eslint
v3 as apeerDependency
.
- [fix] Add
eslint
as apeerDependency
.
- [fix] Fix crash when
<ELEMENT role />
forrole-supports-aria-props
.
- [fix] Fix
img-redundant-alt
rule to usegetLiteralPropValue
fromjsx-ast-utils
.
- [fix] Fix checking for undefined in
heading-has-content
for children content.
- [new] Add heading-has-content rule.
- [new] Add html-has-lang rule.
- [new] Add lang rule.
- [new] Add no-marquee rule.
- [new] Add scope rule.
- [new] Integrate with latest
jsx-ast-utils
to usepropName
function. More support for namespaced names on attributes and elements.
- [fix] Handle spread props in
aria-unsupported-elements
androle-supports-aria-props
when reporting.
- [dependency] Integrate jsx-ast-utils
- [fix] Better error reporting for aria-unsupported-elements indicating which prop to remove.
- [new] Spelling suggestions for incorrect
aria-*
props - [fix] Ensure
role
value is a string before converting to lowercase inimg-has-alt
rule.
- [fix] Handle dynamic
tabIndex
expression values, but still retain validation logic for literaltabIndex
values.
- [fix] Fix checks involving the tabIndex attribute that do not account for integer literals
- [fix] Avoid testing interactivity of wrapper components with same name but different casing
as DOM elements (such as
Button
vsbutton
).
- [new] Import all roles from DPUB-ARIA.
- [new] Add expression value handler for
BinaryExpression
type. - [new] Add expression value handler for
NewExpression
type. - [new] Add expression value handler for
ObjectExpression
type. - [fix] Throws error when getting an expression of type without a handler function.
- This is for more graceful error handling and better issue reporting.
- [fix] Add expression value handler for
ConditionalExpression
type.
- [fix] Fix typo in recommended rules for
onclick-has-focus
.
- [fix] Add expression value handler for
ThisExpression
type.
- [fix] Fix build to copy source JSON files to build output.
-
[breaking] Rename
img-uses-alt
toimg-has-alt
-
[breaking] Rename
onlick-uses-role
toonclick-has-role
-
[breaking] Rename
mouse-events-map-to-key-events
tomouse-events-have-key-events
-
[breaking] Rename
use-onblur-not-onchange
tono-onchange
-
[breaking] Rename
label-uses-for
tolabel-has-for
-
[breaking] Rename
redundant-alt
toimg-redundant-alt
-
[breaking] Rename
no-hash-href
tohref-no-hash
-
[breaking] Rename
valid-aria-role
toaria-role
-
[new] Implement
aria-props
rule -
[new] Implement
aria-proptypes
rule -
[new] Implement
aria-unsupported-elements
rule -
[new] Implement
onclick-has-focus
rule -
[new] Implement
role-has-required-aria-props
rule -
[new] Implement
role-supports-aria-props
rule -
[new] Implement
tabindex-no-positive
rule
- [fix] Fix rule details for img-uses-alt: allow alt="" or role="presentation".
- [fix] Do not infer interactivity of components that are not low-level DOM elements.
- [breaking] Allow alt="" when role="presentation" on img-uses-alt rule.
- [new] More descriptive error messaging for img-uses-alt rule.
- [fix] Handle token lists for valid-aria-role.
- [fix] Handle null valued props for valid-aria-role.
- [new] Implement valid-aria-role rule. Based on AX_ARIA_01
- [fix] Handle LogicalExpression attribute types when extracting values. LogicalExpressions are of form
<Component prop={foo || "foobar"} />
- [fix] Allow component names of form
Object.Property
i.e.UX.Layout
- [new] Implement no-hash-href rule.
- [fix] Fixed TemplateLiteral AST value building to get more exact values from template strings.
- [new] Implement redunant-alt rule.
- Initial pre-release.