diff --git a/CHANGELOG.md b/CHANGELOG.md index a10c40d7a..e6b58ee28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,30 @@ +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 ================== diff --git a/README.md b/README.md index 5ccebc172..54cb6ab56 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,12 @@ Static AST checker for accessibility rules on JSX elements. + + +#### *Read this in [other languages](https://github.com/ari-os310/eslint-plugin-jsx-a11y/blob/master/translations/Translations.md).* + +[Mexican Spanish🇲🇽](https://github.com/ari-os310/eslint-plugin-jsx-a11y/blob/master/translations/README.mx.md) + ## Why? Ryan Florence built out this awesome runtime-analysis tool called [react-a11y](https://github.com/reactjs/react-a11y). It is super useful. However, since you're probably already using linting in your project, this plugin comes for free and closer to the actual development process. Pairing this plugin with an editor lint plugin, you can bake accessibility standards into your application in real-time. @@ -80,7 +86,6 @@ Then configure the rules you want to use under the rules section. } ``` - You can also enable all the recommended or strict rules at once. Add `plugin:jsx-a11y/recommended` or `plugin:jsx-a11y/strict` in `extends`: diff --git a/docs/rules/no-onchange.md b/docs/rules/no-onchange.md index 5c4875c77..01eedd100 100644 --- a/docs/rules/no-onchange.md +++ b/docs/rules/no-onchange.md @@ -1,4 +1,6 @@ -# no-onchange +# [Deprecated] no-onchange + +⚠️ **Deprecated:** This rule is based on reports of behavior of [old browsers (eg. IE 10 and below)](https://www.quirksmode.org/dom/events/change.html#t05). In the meantime, this behavior has been corrected, both in newer versions of browsers as well as [in the DOM spec](https://bugzilla.mozilla.org/show_bug.cgi?id=969068#c2). Enforce usage of `onBlur` over/in parallel with `onChange` on select menu elements for accessibility. `onBlur` **should** be used instead of `onChange`, unless absolutely necessary and it causes no negative consequences for keyboard only or screen reader users. `onBlur` is a more declarative action by the user: for instance in a dropdown, using the arrow keys to toggle between options will trigger the `onChange` event in some browsers. Regardless, when a change of context results from an `onBlur` event or an `onChange` event, the user should be notified of the change unless it occurs below the currently focused element. diff --git a/package.json b/package.json index 839877b6d..cf6c08719 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-jsx-a11y", - "version": "6.3.1", + "version": "6.4.1", "description": "Static AST checker for accessibility rules on JSX elements.", "keywords": [ "eslint", @@ -30,25 +30,25 @@ "jest": "jest --coverage __tests__/**/*" }, "devDependencies": { - "@babel/cli": "^7.10.1", - "@babel/core": "^7.10.2", - "@babel/plugin-transform-flow-strip-types": "^7.10.1", + "@babel/cli": "^7.11.6", + "@babel/core": "^7.11.6", + "@babel/plugin-transform-flow-strip-types": "^7.10.4", "babel-eslint": "^10.1.0", "babel-jest": "^24.9.0", "babel-preset-airbnb": "^5.0.0", "coveralls": "^3.1.0", "eslint": "^3 || ^4 || ^5 || ^6 || ^7", "eslint-config-airbnb-base": "^14.2.0", - "eslint-plugin-flowtype": "^5.1.3", - "eslint-plugin-import": "^2.21.2", - "estraverse": "^5.0.0", - "expect": "^24.3.1", + "eslint-plugin-flowtype": "^5.2.0", + "eslint-plugin-import": "^2.22.1", + "estraverse": "^5.2.0", + "expect": "^24.9.0", "flow-bin": "^0.113.0", "in-publish": "^2.0.1", "jest": "^24.9.0", "jscodeshift": "^0.7.0", "minimist": "^1.2.5", - "object.assign": "^4.1.0", + "object.assign": "^4.1.1", "rimraf": "^3.0.2", "safe-publish-latest": "^1.1.4", "to-ast": "^1.0.0" @@ -58,16 +58,16 @@ }, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.2", + "@babel/runtime": "^7.11.2", "aria-query": "^4.2.2", "array-includes": "^3.1.1", "ast-types-flow": "^0.0.7", - "axe-core": "^3.5.4", + "axe-core": "^4.0.2", "axobject-query": "^2.2.0", "damerau-levenshtein": "^1.0.6", "emoji-regex": "^9.0.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", + "jsx-ast-utils": "^3.1.0", "language-tags": "^1.0.5" }, "peerDependencies": { diff --git a/src/index.js b/src/index.js index 4bec05cb5..2b1f4c4c8 100644 --- a/src/index.js +++ b/src/index.js @@ -175,7 +175,6 @@ module.exports = { allowExpressionValues: true, }, ], - 'jsx-a11y/no-onchange': 'error', 'jsx-a11y/no-redundant-roles': 'error', 'jsx-a11y/no-static-element-interactions': [ 'error', @@ -283,7 +282,6 @@ module.exports = { ], 'jsx-a11y/no-noninteractive-element-to-interactive-role': 'error', 'jsx-a11y/no-noninteractive-tabindex': 'error', - 'jsx-a11y/no-onchange': 'error', 'jsx-a11y/no-redundant-roles': 'error', 'jsx-a11y/no-static-element-interactions': 'error', 'jsx-a11y/role-has-required-aria-props': 'error', diff --git a/src/rules/no-onchange.js b/src/rules/no-onchange.js index 9451b57d0..06486bf7c 100644 --- a/src/rules/no-onchange.js +++ b/src/rules/no-onchange.js @@ -24,6 +24,7 @@ module.exports = { docs: { url: 'https://github.com/evcohen/eslint-plugin-jsx-a11y/tree/master/docs/rules/no-onchange.md', }, + deprecated: true, schema: [schema], },