img
<img>
with alt=""
plugin:jsx-a11y/{recommended,strict}
configslabel-has-for
: textarea
s are inputs too #470.npmignore
with /
so it only matches the top-level directorysrc
and flow
from package to resolve flow issues for consuming packages.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.label-has-for
: add “required” option to allow customization (#240)anchor-is-valid
(#224)interactive-supports-focus
: Split interactive supports focus into tabbable and focusable cases (#236)anchor-is-valid
: add aspects
option (#251)flow
directory from .npmignore
to accommodate explicit imports from v5.0.2
.img-has-alt
rule into alt-text
ruleonclick-has-role
is removed. Replaced with no-static-element-interactions
and no-noninteractive-element-interactions
.onclick-has-focus
is removed. Replaced with interactive-supports-focus
.media-has-caption
ruleignoreNonDOM
option to no-autofocus
.no-interactive-element-to-noninteractive-role
no-noninteractive-element-to-interactive-role
no-noninteractive-tabindex
no-static-element-interactions
and no-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
ignoreNonDom
aria-invalid
values true and false pass for rule aria-proptypes
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.
switch
aria role.x-has-content
rules now pass with children prop set.tablist
role to include missing property aria-multiselectable
.click-events-have-key-events
rule.no-static-element-interactions
rule.eslint
, eslint-config-airbnb
, mocha
to latest.error
syntax over 2
syntax in recommended config.aria-checked
for roles that are subclasses of checkbox
anchor-has-content
rule.img-redundant-alt
(mainly for i18n).heading-has-content
: dangerouslySetInnerHTML will pass.no-onchange
rule to select menu elements only.eslint
v3 as a peerDependency
.eslint
as a peerDependency
.<ELEMENT role />
for role-supports-aria-props
.img-redundant-alt
rule to use getLiteralPropValue
from jsx-ast-utils
.heading-has-content
for children content.jsx-ast-utils
to use propName
function. More support for namespaced names on attributes and elements.aria-unsupported-elements
and role-supports-aria-props
when reporting.aria-*
propsrole
value is a string before converting to lowercase in img-has-alt
rule.tabIndex
expression values, but still retain validation logic for literal tabIndex
values.Button
vs button
).BinaryExpression
type.NewExpression
type.ObjectExpression
type.ConditionalExpression
type.onclick-has-focus
.ThisExpression
type.[breaking] Rename img-uses-alt
to img-has-alt
[breaking] Rename onlick-uses-role
to onclick-has-role
[breaking] Rename mouse-events-map-to-key-events
to mouse-events-have-key-events
[breaking] Rename use-onblur-not-onchange
to no-onchange
[breaking] Rename label-uses-for
to label-has-for
[breaking] Rename redundant-alt
to img-redundant-alt
[breaking] Rename no-hash-href
to href-no-hash
[breaking] Rename valid-aria-role
to aria-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
<Component prop={foo || "foobar"} />
Object.Property
i.e. UX.Layout