- 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 [email protected]
- 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 [email protected], 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.