f8a4496
Upgrade jsx-ast-utils to v3.1.083e4ff2
[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 translationc2ae092
[Docs] no-static-element-interactions
: Fixed rule name in commentsb90e20d
Fix screenreader -> screen reader645900a
Fixed rule name in comments381b9d6
[fix:634] Ignore control elements that are hidden2c47f0a
[Fix] autocomplete-valid
: workaround for axe not being able to handle null
00bd6d8
Add failing test for autocomplete with dynamic type3c49c9a
Add WCAG guidelines to rule documentation4ecaf35
Add a testcase for tablist to interactive supports focusdac6864
Deprecate the accessible-emoji ruleb315698
Allow negative tabindex in aria-activedescendant-has-tabindex8e6fcd0
docs: fix travis badge now points to correct location at travis-ci.com2234df7
Account for additional control elements in label-has-associated-control5cbb718
Adding test cases for label tests66c425c
Additional test case for no-redundant-roles765da0f
Update to aria-query 4.2.2d528e8c
Fix aria-level allowed on elements wit role heading (#704)29c6859
[meta] remove yarn registry from npmrc, so publishing worksf52c206
chore(package): update estraverse to version 5.0.0cce838a
Update aria-query to 4.2.0121e8a4
Add two test cases found while upgrading to ARIA 1.28059f51
Fix test failures raised by the upgrade to ARIA 1.20d24e3a
Update package.jsonb1f412a
Fix test failures in role-has-required-aria-props due to ARIA 1.2 updates74cec6e
Fix test failures in no-noninteractive-element-interactions due to ARIA 1.2 updates835b89e
Fix test failures in role-supports-aria-props-test due to ARIA 1.2 updates730319b
Account for the null semantic generic role in ARIA 1.27dfa7c9
Update aria-query from 4.0.1 to 4.0.242098b9
[Refactor] img-redundant-alt
: removing a use of some
a910d83
[Tests] label-has-associated-control
: add test for b273fe5
[New] Support ESLint 7.x1a97632
[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 function410ae43
chore(package): update eslint-plugin-flowtype to version 5.0.0a87f83d
fix(package): update emoji-regex to version 9.0.071940e6
chore(package): update babel-preset-airbnb to version 5.0.0d471f54
docs: Fix 404 links to WAI-ARIA spec42a2016
Fixes #669: use the language-tags
package to check the lang
rule7bcea20
[Tests] update axe-coref13dc38
[Deps] Pin axe-core version33670bb
fix: require missing 'autocomplete-valid' ruleaca4c37
chore(mouse-event): revert unrelated formatting changesdf1e275
fix(mouse-event): remove check from custom elements1a16a1c
chore(package): update jscodeshift to version 0.7.07a55cdd
chore(package): update flow-bin to version 0.113.08e0d22b
Update aria-query and axobject-query to the latest versionsdd49060
Added test cases for an empty or undefined value of aria-label and aria-labelledby in alt-text1a7b94f
Updated dependencies including eslint-config-airbnb-base3aea217
chore: replace ignoreNonDOM with inputComponents1848d00
feat(autocomplete-valid): add to recommended & strict config3519c7b
chore: Remove axe VirtualNode abstraction9ac55c4
autocomplete-valid: Add inline comment44c6098
Update axe-core to 3.3.082f598e
[Docs] examples: add language in code block for syntax highlight2529ad3
fixing casing issue on aria-props00926f2
Update README.mdce5d121
Update README.md031574e
chore(package): update flow-bin to version 0.103.0e00e1db
[meta] add FUNDING.ymle1e5fae
Fix readme file9980e45
[fix] Prevent Error when JSXSpreadAttribute is passed to isSemanticRoleElementf234698
[docs] add How to manage IDs9924d03
[docs] document jsx-a11y/label-has-associated-control assert option77b9870
[docs] Add newlines below headings8244e43
[docs] Add syntax highlighting to example26f41c8
[docs] Change explanation for role="presentation" escape hatch33a1f94
[fix] - Purely decorative emojis do not need descriptions.29d20f7
fix: update emoji-regex to version 7.0.20b63f73
chore: update flow-bin to version 0.88.0baa1344
[fix] Disable jsx-a11y/label-has-for in recommended2c5fb06
chore: update jscodeshift to version 0.6.087debc0
[fix] corrected no-noninteractive-element-to-interactive-role.md filed56265b
chore: update flow-bin to version 0.87.0477966f
[fix] Update test for implicit role of img
f484ce3
[fix] No implicit role for <img>
with alt=""
6c33bcb
[fix] Add select to the list of default control elements in label-has-associated-control011f8d9
[fix] Dialog and Alert roles can host keyboard listeners0f6a8af
[fix] More easier plugin:jsx-a11y/{recommended,strict}
configs93265cb
[fix] normalizedValues to values651366c
[fix] Make aria-role case sensitive56d3b9a
[fix] [484] Fix role-has-required-aria-props for semantic elements like input[checkbox]46e9abd
[fix] Handle the type={truthy} case in jsxlabel-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.img-uses-alt
to img-has-alt
onlick-uses-role
to onclick-has-role
mouse-events-map-to-key-events
to mouse-events-have-key-events
use-onblur-not-onchange
to no-onchange
label-uses-for
to label-has-for
redundant-alt
to img-redundant-alt
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