securityos/node_modules/eslint-plugin-jsx-a11y/CHANGELOG.md

33 KiB

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.

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: textareas 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

  • [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

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

  • Initial pre-release.