Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning .
Fixed
[New] label-has-associated-control
: add additional error message #1005
[Fix] label-has-associated-control
: ignore undetermined label text #966
Commits
[Tests] switch from jest to tape a284cbf
[New] add eslint 9 support deac4fd
[New] add attributes
setting a1ee7f8
[New] allow polymorphic linting to be restricted 6cd1a70
[Tests] remove duplicate tests 74d5dec
[Dev Deps] update @babel/cli
, @babel/core
, @babel/eslint-parser
, @babel/plugin-transform-flow-strip-types
6eca235
[readme] remove deprecated travis ci badge; add github actions badge 0be7ea9
[Tests] use npm audit
instead of aud
05a5e49
[Deps] update axobject-query
912e98c
[Deps] unpin axobject-query
75147aa
[Deps] update axe-core
27ff7cb
[readme] fix jsxA11y import name ce846e0
[readme] fix typo in shareable config section in readme cca288b
v6.9.0 - 2024-06-19
Fixed
[Fix] img-redundant-alt
: fixed multibyte character support #969
[meta] fix changelog links #960
Commits
[New] add support for Flat Config 6b5f096
Revert "[Fix] isNonInteractiveElement
: Upgrade aria-query to 5.3.0 and axobject-query to 3.2.1" 75d5dd7
[Robustness] use safe-regex-test
4c7e781
[actions] update actions/checkout 51a1ca7
[Dev Deps] update @babel/cli
, @babel/core
, @babel/eslint-parser
, @babel/plugin-transform-flow-strip-types
, @babel/register
, eslint-doc-generator
, object.entries
1271ac1
[Dev Deps] update @babel/cli
, @babel/core
, @babel/register
, aud
, eslint-plugin-import
, npmignore
, object.assign
540cb7a
[Deps] update @babel/runtime
, array-includes
, es-iterator-helpers
, hasown
, object.fromentries
, safe-regex-test
5d14408
[Deps] pin aria-query
and axobject-query
, add ls-engines
test to CI 32fd82c
[Dev Deps] update @babel/core
, @babel/eslint-parser
, @babel/plugin-transform-flow-strip-types
, eslint-doc-generator
d1b4114
[Fix] ensure summary
remains non-interactive 6a048da
[Deps] remove @babel/runtime
0a98ad8
[New] no-noninteractive-element-to-interactive-role
: allow menuitemradio
and menuitemcheckbox
on <li> c0733f9
[Deps] update @babel/runtime
, safe-regex-test
0d5321a
[actions] pin codecov to v3.1.5 961817f
[Deps] unpin axe-core
b3559cf
[Deps] move object.entries
to dev deps 1be7b70
[Deps] update @babel/runtime
2a48abb
[Deps] update @babel/runtime
1adec35
v6.8.0 - 2023-11-01
Merged
Allow title
attribute or aria-label
attribute instead of accessible child in the "anchor-has-content" rule #727
Fixed
[Docs] aria-activedescendant-has-tabindex
: align with changes from #708 #924
[Fix] control-has-associated-label
: don't accept whitespace as an accessible label #918
Commits
[Tests] migrate helper parsers function from eslint-plugin-react
ce4d57f
[Refactor] use es-iterator-helpers
52de824
[New] mouse-events-have-key-events
: add hoverInHandlers
/hoverOutHandlers
config db64898
[New] add polymorphicPropName
setting for polymorphic components fffb05b
[Fix] isNonInteractiveElement
: Upgrade aria-query to 5.3.0 and axobject-query to 3.2.1 64bfea6
[Refactor] use hasown
instead of has
9a8edde
[actions] update used actions 10c061a
[Dev Deps] update @babel/cli
, @babel/core
, @babel/eslint-parser
, @babel/plugin-transform-flow-strip-types
, @babel/register
, aud
, eslint-doc-generator
, eslint-plugin-import
, minimist
6d5022d
[Dev Deps] update @babel/cli
, @babel/core
, @babel/eslint-parser
, @babel/register
, eslint-doc-generator
, eslint-plugin-import
4dc7f1e
[New] anchor-has-content
: Allow title attribute OR aria-label attribute e6bfd5c
[patch] mouse-events-have-key-events
: rport the attribute, not the node eadd70c
[Deps] update @babel/runtime
, array-includes
, array.prototype.flatmap
, object.entries
, object.fromentries
46ffbc3
[Deps] update @babel/runtime
, axobject-query
, jsx-ast-utils
, semver
5999555
[Fix] pin aria-query
and axe-core
to fix failing tests on main 8d8f016
[patch] move semver
from Deps to Dev Deps 4da13e7
[Deps] update ast-types-flow
b755318
[Dev Deps] update eslint-plugin-import
f1c976b
[Deps] unpin language-tags
3d1d26d
[Docs] no-static-element-interactions
: tabIndex is written tabindex 1271153
[Deps] Upgrade ast-types-flow to mitigate Docker user namespacing problems f0d2ddb
[Dev Deps] pin jackspeak
since 2.1.2+ depends on npm aliases, which kill the install process in npm < 6 0c278f4
v6.7.1 - 2023-01-11
Commits
[Fix] no-aria-hidden-on-focusable
rule's missing export b01219e
v6.7.0 - 2023-01-09
Merged
New rule: prefer-tag-over-role #833
Fixed
[Tests] aria-role
: add now-passing test #756
[Docs] control-has-associated-label
: fix metadata #892
[New] add no-aria-hidden-on-focusable
rule #881
Commits
[Docs] automate docs with eslint-doc-generator
6d7a857
[Refactor] use fromEntries, flatMap, etc; better use iteration methods 3d77c84
[New] add anchor-ambiguous-text
rule 7f6463e
[New] add getAccessibleChildText
util 630116b
[New] Add isFocusable
utils method e199d17
[Docs] update eslint-doc-generator
to v1.0.0 6b9855b
[Fix] no-noninteractive-element-interactions
: Ignore contenteditable elements in no-noninteractive-element-interactions 9aa878b
[New] anchor-ambiguous-text
: ignore punctuation bbae2c4
[New] anchor-ambiguous-text
, getAccessibleChildText
: Implements check for alt
tags on <img />
elements bb84abc
[meta] use npmignore
to autogenerate an npmignore file 6ad2312
[meta] add auto-changelog
283817b
[Docs] missing descriptions in some rules 79b975a
[Deps] update aria-query
, axobject-query
7b3cda3
[Dev Deps] update @babel/cli
, @babel/core
, @babel/eslint-parser
, @babel/plugin-transform-flow-strip-types
, aud
, object.assign
0852947
[meta] move .eslintignore
to ignorePatterns
65be35b
[Dev Deps] update @babel/cli
, @babel/core
, aud
, eslint-doc-generator
60c2df5
[Deps] update @babel/runtime
, array-includes
, axe-core
4abc751
[Deps] update @babel/runtime
, axe-core
89f766c
[meta] run the build in prepack, not prepublish e411ce3
[Dev Deps] update @babel/core
, minimist
cccdb62
[Dev Deps] update markdown-magic
3382059
[Fix] expose prefer-tag-over-role
38d52f8
[Docs] label-has-for
: reran generate-list-of-rules 9a2af01
[Deps] pin language-tags
to v1.0.5
f84bb74
[Dev Deps] update @babel/core
cf3f8d0
[Deps] update axe-core
0a73cf4
[Deps] update @babel/runtime
053f04d
[Deps] update @babel/runtime
bccf0ae
[Deps] update jsx-ast-utils
c9687cc
[readme] Preventing code repetition in user's eslint config file 8b889bf
[Docs] prefer-tag-over-role
: rename docs file 0bdf95b
6.6.1 / 2022-07-21
38405ad [Fix] no-interactive-tabindex
: allow role assignments using a ternary with literals on both sides
7524e0c [Fix] no-static-element-interactions
: allow role assignments using a ternary with literals on both sides (#865)
1c06306 [readme] properly describe rule settings in builtin configs
0c19f02 [Docs] no-noninteractive-tabindex
, no-static-element-interactions
: document allowExpressionValues
(#870)
2362832 [readme] added link to redirect eslint to relevant docs (#862)
2c6926c [Deps] unpin axe-core
b78f19d [Deps] pin axe-core
to v4.4.1, due to a breaking change in a patch
768910e [Deps] update @babel/runtime
f0e04ce [Deps] update @babel/runtime
, jsx-ast-utils
93b2a9d [Dev Deps] update @babel/cli
, @babel/core
, @babel/eslint-parser
, @babel/plugin-transform-flow-strip-types
, @babel/register
a962211 [Dev Deps] update @babel/cli
, @babel/core
, @babel/plugin-transform-flow-strip-types
, @babel/register
0d2bc43 [Tests] no-noninteractive-element-interactions
: add passing test cases (#876)
ffefbad [Tests] no-noninteractive-element-interactions
: add passing tests for form with onSubmit (#871)
e7d405d [Tests] no-static-element-interactions
: add passing test cases
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 <img>
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 )
[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 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 <ELEMENT role />
for role-supports-aria-props
.
1.5.2 / 2016-06-16
[fix] Fix img-redundant-alt
rule to use getLiteralPropValue
from jsx-ast-utils
.
1.5.1 / 2016-06-16
[fix] Fix checking for undefined in heading-has-content
for children content.
1.5.0 / 2016-06-16
1.4.2 / 2016-06-10
[new] Integrate with latest jsx-ast-utils
to use propName
function. More support for namespaced names on attributes and elements.
1.4.1 / 2016-06-10
[fix] Handle spread props in aria-unsupported-elements
and role-supports-aria-props
when reporting.
1.4.0 / 2016-06-10
[dependency] Integrate jsx-ast-utils
[fix] Better error reporting for aria-unsupported-elements indicating which prop to remove.
1.3.0 / 2016-06-05
[new] Spelling suggestions for incorrect aria-*
props
[fix] Ensure role
value is a string before converting to lowercase in img-has-alt
rule.
1.2.3 / 2016-06-02
[fix] Handle dynamic tabIndex
expression values, but still retain validation logic for literal tabIndex
values.
1.2.2 / 2016-05-20
[fix] Fix checks involving the tabIndex attribute that do not account for integer literals
1.2.1 / 2016-05-19
[fix] Avoid testing interactivity of wrapper components with same name but different casing
as DOM elements (such as Button
vs button
).
1.2.0 / 2016-05-06
[new] Import all roles from DPUB-ARIA.
1.1.0 / 2016-05-06
[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.
1.0.4 / 2016-04-28
[fix] Add expression value handler for ConditionalExpression
type.
1.0.3 / 2016-04-25
[fix] Fix typo in recommended rules for onclick-has-focus
.
1.0.2 / 2016-04-20
[fix] Add expression value handler for ThisExpression
type.
1.0.1 / 2016-04-19
[fix] Fix build to copy source JSON files to build output.
1.0.0 / 2016-04-19
0.6.2 / 2016-04-08
[fix] Fix rule details for img-uses-alt: allow alt="" or role="presentation".
0.6.1 / 2016-04-07
[fix] Do not infer interactivity of components that are not low-level DOM elements.
0.6.0 / 2016-04-06
[breaking] Allow alt="" when role="presentation" on img-uses-alt rule.
[new] More descriptive error messaging for img-uses-alt rule.
0.5.2 / 2016-04-05
[fix] Handle token lists for valid-aria-role.
0.5.1 / 2016-04-05
[fix] Handle null valued props for valid-aria-role.
0.5.0 / 2016-04-02
[new] Implement valid-aria-role rule. Based on AX_ARIA_01
0.4.3 / 2016-03-29
[fix] Handle LogicalExpression attribute types when extracting values. LogicalExpressions are of form <Component prop={foo || "foobar"} />
0.4.2 / 2016-03-24
[fix] Allow component names of form Object.Property
i.e. UX.Layout
0.3.0 / 2016-03-02
[new] Implement no-hash-href rule.
[fix] Fixed TemplateLiteral AST value building to get more exact values from template strings.
0.2.0 / 2016-03-01
0.1.2 / 2016-03-01