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.
v6.10.2 - 2024-10-25
- [patch]
no-redundandant-roles
: allow<img src="*.svg" role="img" />
#936
- [meta] fix changelog URLs
0d01a1a
- [Refactor] remove no-longer-needed
es-iterator-helpers
aa075bd
- [Refactor] avoid spreading things that are already arrays
d15d3ab
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/eslint-parser
,@babel/plugin-transform-flow-strip-types
,@babel/register
5dad7c4
- [Tests]
aria-role
: Add valid test for<svg role="img" />
daba189
- [Docs]
label-has-associated-control
: add line breaks for readability0bc6378
- [Tests]
label-has-associated-control
: add additional test cases30d2318
- [Tests] Add tests to reinforce required attributes for role="heading"
d92446c
v6.10.1 - 2024-10-20
- [Fix] handle interactive/noninteractive changes from aria-query
4925ba8
- [Docs] Use consistent spelling of 'screen reader'
cb6788c
- [Dev Deps] update
@babel/cli
,@babel/core
,@babel/eslint-parser
,@babel/plugin-transform-flow-strip-types
,@babel/register
,auto-changelog
,eslint-plugin-import
,tape
518a77e
- [Deps] update
es-iterator-helpers
,string.prototype.includes
eed03a3
- [meta] package.json - Update jscodeshift & remove babel-jest
2ee940c
- [Docs] Remove accidental whitespace in CONTRIBUTING.md
a262131
- [Deps] unpin
aria-query
e517937
v6.10.0 - 2024-09-03
- [New]
label-has-associated-control
: add additional error message#1005
- [Fix]
label-has-associated-control
: ignore undetermined label text#966
- [Tests] switch from jest to tape
a284cbf
- [New] add eslint 9 support
deac4fd
- [New] add
attributes
settinga1ee7f8
- [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 ofaud
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
- [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
andaxobject-query
, addls-engines
test to CI32fd82c
- [Dev Deps] update
@babel/core
,@babel/eslint-parser
,@babel/plugin-transform-flow-strip-types
,eslint-doc-generator
d1b4114
- [Fix] ensure
summary
remains non-interactive6a048da
- [Deps] remove
@babel/runtime
0a98ad8
- [New]
no-noninteractive-element-to-interactive-role
: allowmenuitemradio
andmenuitemcheckbox
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 deps1be7b70
- [Deps] update
@babel/runtime
2a48abb
- [Deps] update
@babel/runtime
1adec35
v6.8.0 - 2023-11-01
- Allow
title
attribute oraria-label
attribute instead of accessible child in the "anchor-has-content" rule#727
- [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
- [Tests] migrate helper parsers function from
eslint-plugin-react
ce4d57f
- [Refactor] use
es-iterator-helpers
52de824
- [New]
mouse-events-have-key-events
: addhoverInHandlers
/hoverOutHandlers
configdb64898
- [New] add
polymorphicPropName
setting for polymorphic componentsfffb05b
- [Fix]
isNonInteractiveElement
: Upgrade aria-query to 5.3.0 and axobject-query to 3.2.164bfea6
- [Refactor] use
hasown
instead ofhas
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 attributee6bfd5c
- [patch]
mouse-events-have-key-events
: rport the attribute, not the nodeeadd70c
- [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
andaxe-core
to fix failing tests on main8d8f016
- [patch] move
semver
from Deps to Dev Deps4da13e7
- [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 tabindex1271153
- [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 < 60c278f4
v6.7.1 - 2023-01-11
- [Fix]
no-aria-hidden-on-focusable
rule's missing exportb01219e
v6.7.0 - 2023-01-09
- New rule: prefer-tag-over-role
#833
- [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
- [Docs] automate docs with
eslint-doc-generator
6d7a857
- [Refactor] use fromEntries, flatMap, etc; better use iteration methods
3d77c84
- [New] add
anchor-ambiguous-text
rule7f6463e
- [New] add
getAccessibleChildText
util630116b
- [New] Add
isFocusable
utils methode199d17
- [Docs] update
eslint-doc-generator
to v1.0.06b9855b
- [Fix]
no-noninteractive-element-interactions
: Ignore contenteditable elements in no-noninteractive-element-interactions9aa878b
- [New]
anchor-ambiguous-text
: ignore punctuationbbae2c4
- [New]
anchor-ambiguous-text
,getAccessibleChildText
: Implements check foralt
tags on<img />
elementsbb84abc
- [meta] use
npmignore
to autogenerate an npmignore file6ad2312
- [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
toignorePatterns
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-rules9a2af01
- [Deps] pin
language-tags
tov1.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 file0bdf95b
- 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
: documentallowExpressionValues
(#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
- 566011b [New]
aria-role
: addallowedInvalidRoles
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 ofmodule.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
- 8f7d0b0 [Fix] properly build
module.exports
(#824) - 2fd2087 [Dev Deps] update
eslint-plugin-import
- 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 toHEAD
- 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 ofbabel-eslint
(#811) - 0021489 [actions] use codecov action
- 1251088 [meta] delete FUNDING.yml in favor of
.github
repo - ecf7a27 [Docs]
scope
: replace duplicatescope
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
inposttest
- 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 offlabel-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)
- f8a4496 Upgrade jsx-ast-utils to v3.1.0
- 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 handlenull
- 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
- 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
- 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 ofsome
- 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 thelang
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
- [617] Add @babel/runtime to the dependencies
- 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
- 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.