diff --git a/packages/assert/__tests__/__snapshots__/assert.test.ts.snap b/packages/assert/__tests__/__snapshots__/assert.test.ts.snap index 0bc3c249..644ffb47 100644 --- a/packages/assert/__tests__/__snapshots__/assert.test.ts.snap +++ b/packages/assert/__tests__/__snapshots__/assert.test.ts.snap @@ -3,17 +3,17 @@ exports[`assertAccessible API should throw an error with a11y issues found for dom with a11y issues 1`] = ` "2 Accessibility issues found * (document-title) Documents must have element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`assertAccessible API should throw error with HTML element with a11y issues 1`] = ` "1 Accessibility issues found * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; diff --git a/packages/assert/package.json b/packages/assert/package.json index 9a804087..dbebc874 100644 --- a/packages/assert/package.json +++ b/packages/assert/package.json @@ -24,7 +24,7 @@ "@sa11y/common": "5.1.0", "@sa11y/format": "5.1.0", "@sa11y/preset-rules": "5.1.0", - "axe-core": "4.7.0" + "axe-core": "4.8.3" }, "devDependencies": { "@jest/globals": "28.1.3", diff --git a/packages/browser-lib/package.json b/packages/browser-lib/package.json index 5a23ceea..c70c5d3b 100644 --- a/packages/browser-lib/package.json +++ b/packages/browser-lib/package.json @@ -36,7 +36,7 @@ "dependencies": { "@sa11y/format": "5.1.0", "@sa11y/preset-rules": "5.1.0", - "axe-core": "4.7.0" + "axe-core": "4.8.3" }, "devDependencies": { "@rollup/plugin-commonjs": "23.0.7", diff --git a/packages/common/package.json b/packages/common/package.json index da98955a..2647c2af 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -16,7 +16,7 @@ "dist/**/*.d.ts*" ], "dependencies": { - "axe-core": "4.7.0" + "axe-core": "4.8.3" }, "devDependencies": { "webdriverio": "7.34.0" diff --git a/packages/common/src/format.ts b/packages/common/src/format.ts index f6b5e0b9..354c6ae7 100644 --- a/packages/common/src/format.ts +++ b/packages/common/src/format.ts @@ -20,8 +20,16 @@ export interface Filter { // const ruleIDs = getRules().map((ruleObj) => ruleObj.ruleId); // type RuleID = keyof ruleIDs; // type RuleID = typeof ruleIDs[number]; +// Array of length 2 or greater +type MultiArray<T> = [T, T, ...T[]]; + +// Selectors within a frame +type BaseSelector = string; + +type ShadowDomSelector = MultiArray<BaseSelector>; +type CrossTreeSelector = BaseSelector | ShadowDomSelector; type RuleID = string; -type CssSelectors = string[]; +type CssSelectors = CrossTreeSelector[]; /** * Exception list of map of rule to corresponding css targets that needs to be filtered from a11y results. */ diff --git a/packages/format/__tests__/__snapshots__/filter.test.ts.snap b/packages/format/__tests__/__snapshots__/filter.test.ts.snap index 95166d2a..bb10c778 100644 --- a/packages/format/__tests__/__snapshots__/filter.test.ts.snap +++ b/packages/format/__tests__/__snapshots__/filter.test.ts.snap @@ -2,11 +2,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -15,11 +15,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 3`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -32,78 +32,78 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau " `; -exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"ACT\\",\\"TTv5\\",\\"TT12.a\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag412\\",\\"wcag244\\",\\"section508\\",\\"section508.22.a\\",\\"ACT\\",\\"TTv5\\",\\"TT6.a\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"minor\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; +exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"TTv5\\",\\"TT12.a\\",\\"EN-301-549\\",\\"EN-9.2.4.2\\",\\"ACT\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag244\\",\\"wcag412\\",\\"section508\\",\\"section508.22.a\\",\\"TTv5\\",\\"TT6.a\\",\\"EN-301-549\\",\\"EN-9.2.4.4\\",\\"EN-9.4.1.2\\",\\"ACT\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; exports[`a11y Results Formatter should format using specified options: 1 1`] = ` "\\"* (document-title) Documents must have <title> element to aid in navigation: html\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 \\"* (link-name) Links must have discernible text: a\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 2 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 3 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 4 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 2`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should throw error when violations are present 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -112,7 +112,7 @@ Array [ Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -148,15 +148,17 @@ Array [ "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -194,15 +196,17 @@ Array [ "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -212,7 +216,7 @@ Array [ CheckResult { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -267,13 +271,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, ] @@ -284,7 +291,7 @@ Array [ Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -322,15 +329,17 @@ Array [ "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -340,7 +349,7 @@ Array [ CheckResult { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -395,13 +404,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, ] @@ -412,7 +424,7 @@ Array [ Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -448,15 +460,17 @@ Array [ "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -494,9 +508,11 @@ Array [ "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ] @@ -507,7 +523,7 @@ Array [ Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -545,9 +561,11 @@ Array [ "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ] diff --git a/packages/format/__tests__/__snapshots__/format.test.ts.snap b/packages/format/__tests__/__snapshots__/format.test.ts.snap index 4ce72ebd..7e3c3a6b 100644 --- a/packages/format/__tests__/__snapshots__/format.test.ts.snap +++ b/packages/format/__tests__/__snapshots__/format.test.ts.snap @@ -2,11 +2,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -15,11 +15,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 3`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -32,77 +32,77 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau " `; -exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"ACT\\",\\"TTv5\\",\\"TT12.a\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag412\\",\\"wcag244\\",\\"section508\\",\\"section508.22.a\\",\\"ACT\\",\\"TTv5\\",\\"TT6.a\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"minor\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; +exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"TTv5\\",\\"TT12.a\\",\\"EN-301-549\\",\\"EN-9.2.4.2\\",\\"ACT\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag244\\",\\"wcag412\\",\\"section508\\",\\"section508.22.a\\",\\"TTv5\\",\\"TT6.a\\",\\"EN-301-549\\",\\"EN-9.2.4.4\\",\\"EN-9.4.1.2\\",\\"ACT\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; exports[`a11y Results Formatter should format using specified options: 1 1`] = ` "\\"* (document-title) Documents must have <title> element to aid in navigation: html\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 \\"* (link-name) Links must have discernible text: a\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 2 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 3 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 4 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 2`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should throw error when violations are present 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; diff --git a/packages/format/__tests__/__snapshots__/result.test.ts.snap b/packages/format/__tests__/__snapshots__/result.test.ts.snap index 4ce72ebd..7e3c3a6b 100644 --- a/packages/format/__tests__/__snapshots__/result.test.ts.snap +++ b/packages/format/__tests__/__snapshots__/result.test.ts.snap @@ -2,11 +2,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -15,11 +15,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 3`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -32,77 +32,77 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau " `; -exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"ACT\\",\\"TTv5\\",\\"TT12.a\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag412\\",\\"wcag244\\",\\"section508\\",\\"section508.22.a\\",\\"ACT\\",\\"TTv5\\",\\"TT6.a\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"minor\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; +exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"TTv5\\",\\"TT12.a\\",\\"EN-301-549\\",\\"EN-9.2.4.2\\",\\"ACT\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag244\\",\\"wcag412\\",\\"section508\\",\\"section508.22.a\\",\\"TTv5\\",\\"TT6.a\\",\\"EN-301-549\\",\\"EN-9.2.4.4\\",\\"EN-9.4.1.2\\",\\"ACT\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; exports[`a11y Results Formatter should format using specified options: 1 1`] = ` "\\"* (document-title) Documents must have <title> element to aid in navigation: html\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 \\"* (link-name) Links must have discernible text: a\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 2 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 3 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 4 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 2`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should throw error when violations are present 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; diff --git a/packages/format/package.json b/packages/format/package.json index fcfaeb00..8829e6e1 100644 --- a/packages/format/package.json +++ b/packages/format/package.json @@ -26,7 +26,7 @@ "dependencies": { "@sa11y/common": "5.1.0", "@sa11y/preset-rules": "5.1.0", - "axe-core": "4.7.0" + "axe-core": "4.8.3" }, "devDependencies": { "@jest/globals": "28.1.3", diff --git a/packages/jest/__tests__/__snapshots__/groupViolationResultsProcessor.test.ts.snap b/packages/jest/__tests__/__snapshots__/groupViolationResultsProcessor.test.ts.snap index 1f93a283..aeb79350 100644 --- a/packages/jest/__tests__/__snapshots__/groupViolationResultsProcessor.test.ts.snap +++ b/packages/jest/__tests__/__snapshots__/groupViolationResultsProcessor.test.ts.snap @@ -66,7 +66,7 @@ Object { "a11yResults": Array [ Object { "description": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -87,7 +87,7 @@ Object { "violation": Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -123,9 +123,11 @@ Object { "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, "wcagLevel": "A", @@ -134,7 +136,7 @@ Object { }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -155,7 +157,7 @@ Object { "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -193,9 +195,11 @@ Object { "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -204,7 +208,7 @@ Object { }, Object { "description": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name", "html": "<a href=\\"#\\"></a>", "id": "link-name", "key": "link-name--a", @@ -224,7 +228,7 @@ Fix any of the following: "violation": Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -234,7 +238,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -289,13 +293,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, "wcagLevel": "A", @@ -308,7 +315,7 @@ Fix any of the following: Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -344,15 +351,17 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -390,15 +399,17 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -408,7 +419,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -463,13 +474,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, ], @@ -481,7 +495,7 @@ Fix any of the following: 3 HTML elements have accessibility issue(s). 3 rules failed. (1) [document-title] Documents must have <title> element to aid in navigation - * Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + * Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title * WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * More info: Fix any of the following: Document does not have a non-empty <title> element @@ -497,7 +511,7 @@ Fix any of the following: - CSS selector(s) : html - HTML Tag Hierarchy : document-title--html (2) [html-has-lang] <html> element must have a lang attribute - * Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + * Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang * WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * More info: Fix any of the following: The <html> element does not have a lang attribute @@ -513,7 +527,7 @@ Fix any of the following: - CSS selector(s) : html - HTML Tag Hierarchy : html-has-lang--html (3) [link-name] Links must have discernible text - * Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + * Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name * WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1 * More info: Fix all of the following: Element is in tab order and does not have accessible text @@ -545,7 +559,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html>", "id": "html-has-lang", "key": "html-has-lang--html", @@ -559,7 +573,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -590,9 +604,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -605,7 +621,7 @@ Fix any of the following: Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -636,9 +652,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ], @@ -650,7 +668,7 @@ Fix any of the following: 1 HTML elements have accessibility issue(s). 1 rules failed. (1) [html-has-lang] <html> element must have a lang attribute - * Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + * Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang * WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * More info: Fix any of the following: The <html> element does not have a lang attribute @@ -676,7 +694,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -697,7 +715,7 @@ Fix any of the following: "violation": Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -733,9 +751,11 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, "wcagLevel": "A", @@ -744,7 +764,7 @@ Fix any of the following: }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -765,7 +785,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -803,9 +823,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -814,7 +836,7 @@ Fix any of the following: }, Object { "description": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name", "html": "<a href=\\"#\\"></a>", "id": "link-name", "key": "link-name--a", @@ -834,7 +856,7 @@ Fix any of the following: "violation": Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -844,7 +866,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -899,13 +921,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, "wcagLevel": "A", @@ -918,7 +943,7 @@ Fix any of the following: Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -954,15 +979,17 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1000,15 +1027,17 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -1018,7 +1047,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -1073,13 +1102,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, ], @@ -1091,7 +1123,7 @@ Fix any of the following: 3 HTML elements have accessibility issue(s). 3 rules failed. (1) [document-title] Documents must have <title> element to aid in navigation - * Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + * Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title * WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * More info: Fix any of the following: Document does not have a non-empty <title> element @@ -1107,7 +1139,7 @@ Fix any of the following: - CSS selector(s) : html - HTML Tag Hierarchy : document-title--html (2) [html-has-lang] <html> element must have a lang attribute - * Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + * Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang * WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * More info: Fix any of the following: The <html> element does not have a lang attribute @@ -1123,7 +1155,7 @@ Fix any of the following: - CSS selector(s) : html - HTML Tag Hierarchy : html-has-lang--html (3) [link-name] Links must have discernible text - * Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + * Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name * WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1 * More info: Fix all of the following: Element is in tab order and does not have accessible text @@ -1155,7 +1187,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html>", "id": "html-has-lang", "key": "html-has-lang--html", @@ -1169,7 +1201,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1200,9 +1232,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -1215,7 +1249,7 @@ Fix any of the following: Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1246,9 +1280,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ], @@ -1260,7 +1296,7 @@ Fix any of the following: 1 HTML elements have accessibility issue(s). 1 rules failed. (1) [html-has-lang] <html> element must have a lang attribute - * Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + * Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang * WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * More info: Fix any of the following: The <html> element does not have a lang attribute @@ -1286,7 +1322,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -1307,7 +1343,7 @@ Fix any of the following: "violation": Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -1343,9 +1379,11 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, "wcagLevel": "A", @@ -1354,7 +1392,7 @@ Fix any of the following: }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -1375,7 +1413,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1413,9 +1451,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -1424,7 +1464,7 @@ Fix any of the following: }, Object { "description": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name", "html": "<a href=\\"#\\"></a>", "id": "link-name", "key": "link-name--a", @@ -1444,7 +1484,7 @@ Fix any of the following: "violation": Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -1454,7 +1494,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -1509,13 +1549,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, "wcagLevel": "A", @@ -1524,7 +1567,7 @@ Fix any of the following: }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html>", "id": "html-has-lang", "key": "html-has-lang--html", @@ -1538,7 +1581,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1569,9 +1612,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -1584,7 +1629,7 @@ Fix any of the following: Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -1620,15 +1665,17 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1666,15 +1713,17 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -1684,7 +1733,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -1739,19 +1788,22 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1782,9 +1834,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ], @@ -1796,7 +1850,7 @@ Fix any of the following: 4 HTML elements have accessibility issue(s). 3 rules failed. (1) [document-title] Documents must have <title> element to aid in navigation - * Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + * Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title * WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * More info: Fix any of the following: Document does not have a non-empty <title> element @@ -1812,7 +1866,7 @@ Fix any of the following: - CSS selector(s) : html - HTML Tag Hierarchy : document-title--html (2) [html-has-lang] <html> element must have a lang attribute - * Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + * Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang * WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * More info: Fix any of the following: The <html> element does not have a lang attribute @@ -1831,7 +1885,7 @@ Fix any of the following: - CSS selector(s) : html - HTML Tag Hierarchy : html-has-lang--html (3) [link-name] Links must have discernible text - * Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + * Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name * WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1 * More info: Fix all of the following: Element is in tab order and does not have accessible text @@ -1872,11 +1926,11 @@ Fix any of the following: exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -1885,11 +1939,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 3`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -1902,77 +1956,77 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau " `; -exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"ACT\\",\\"TTv5\\",\\"TT12.a\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag412\\",\\"wcag244\\",\\"section508\\",\\"section508.22.a\\",\\"ACT\\",\\"TTv5\\",\\"TT6.a\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"minor\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; +exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"TTv5\\",\\"TT12.a\\",\\"EN-301-549\\",\\"EN-9.2.4.2\\",\\"ACT\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag244\\",\\"wcag412\\",\\"section508\\",\\"section508.22.a\\",\\"TTv5\\",\\"TT6.a\\",\\"EN-301-549\\",\\"EN-9.2.4.4\\",\\"EN-9.4.1.2\\",\\"ACT\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; exports[`a11y Results Formatter should format using specified options: 1 1`] = ` "\\"* (document-title) Documents must have <title> element to aid in navigation: html\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 \\"* (link-name) Links must have discernible text: a\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 2 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 3 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 4 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 2`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should throw error when violations are present 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; diff --git a/packages/jest/__tests__/__snapshots__/resultsProcessor.test.ts.snap b/packages/jest/__tests__/__snapshots__/resultsProcessor.test.ts.snap index 9718d87b..84038567 100644 --- a/packages/jest/__tests__/__snapshots__/resultsProcessor.test.ts.snap +++ b/packages/jest/__tests__/__snapshots__/resultsProcessor.test.ts.snap @@ -64,15 +64,15 @@ Object { "failureDetails": Array [ [A11yError: 3 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (html-has-lang) <html> element must have a lang attribute: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + - Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang - WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1], ], "fullName": "A11yError-0", @@ -85,7 +85,7 @@ Object { "failureDetails": Array [ [A11yError: 1 Accessibility issues found * (html-has-lang) <html> element must have a lang attribute: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + - Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang - WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2], ], "fullName": "A11yError-1", @@ -98,15 +98,15 @@ Object { "failureDetails": Array [ [A11yError: 3 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (html-has-lang) <html> element must have a lang attribute: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + - Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang - WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1], ], "fullName": "A11yError-2", @@ -119,7 +119,7 @@ Object { "failureDetails": Array [ [A11yError: 1 Accessibility issues found * (html-has-lang) <html> element must have a lang attribute: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + - Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang - WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2], ], "fullName": "A11yError-3", @@ -132,19 +132,19 @@ Object { "failureDetails": Array [ [A11yError: 4 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (html-has-lang) <html> element must have a lang attribute: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + - Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang - WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1 * (html-has-lang) <html> element must have a lang attribute: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/html-has-lang + - Help URL: https://dequeuniversity.com/rules/axe/4.8/html-has-lang - WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2], ], "fullName": "A11yError-4", @@ -233,7 +233,7 @@ Object { "a11yResults": Array [ Object { "description": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -254,7 +254,7 @@ Object { "violation": Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -290,9 +290,11 @@ Object { "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, "wcagLevel": "A", @@ -301,7 +303,7 @@ Object { }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -322,7 +324,7 @@ Object { "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -360,9 +362,11 @@ Object { "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -371,7 +375,7 @@ Object { }, Object { "description": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name", "html": "<a href=\\"#\\"></a>", "id": "link-name", "key": "link-name--a", @@ -391,7 +395,7 @@ Fix any of the following: "violation": Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -401,7 +405,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -456,13 +460,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, "wcagLevel": "A", @@ -475,7 +482,7 @@ Fix any of the following: Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -511,15 +518,17 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -557,15 +566,17 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -575,7 +586,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -630,13 +641,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, ], @@ -654,7 +668,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html>", "id": "html-has-lang", "key": "html-has-lang--html", @@ -668,7 +682,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -699,9 +713,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -714,7 +730,7 @@ Fix any of the following: Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -745,9 +761,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ], @@ -765,7 +783,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -786,7 +804,7 @@ Fix any of the following: "violation": Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -822,9 +840,11 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, "wcagLevel": "A", @@ -833,7 +853,7 @@ Fix any of the following: }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -854,7 +874,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -892,9 +912,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -903,7 +925,7 @@ Fix any of the following: }, Object { "description": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name", "html": "<a href=\\"#\\"></a>", "id": "link-name", "key": "link-name--a", @@ -923,7 +945,7 @@ Fix any of the following: "violation": Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -933,7 +955,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -988,13 +1010,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, "wcagLevel": "A", @@ -1007,7 +1032,7 @@ Fix any of the following: Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -1043,15 +1068,17 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1089,15 +1116,17 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -1107,7 +1136,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -1162,13 +1191,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, ], @@ -1186,7 +1218,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html>", "id": "html-has-lang", "key": "html-has-lang--html", @@ -1200,7 +1232,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1231,9 +1263,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -1246,7 +1280,7 @@ Fix any of the following: Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1277,9 +1311,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ], @@ -1297,7 +1333,7 @@ Fix any of the following: "a11yResults": Array [ Object { "description": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -1318,7 +1354,7 @@ Fix any of the following: "violation": Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -1354,9 +1390,11 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, "wcagLevel": "A", @@ -1365,7 +1403,7 @@ Fix any of the following: }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html><head></head><body> <div id=\\"dom-with-issues\\"> @@ -1386,7 +1424,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1424,9 +1462,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -1435,7 +1475,7 @@ Fix any of the following: }, Object { "description": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name", "html": "<a href=\\"#\\"></a>", "id": "link-name", "key": "link-name--a", @@ -1455,7 +1495,7 @@ Fix any of the following: "violation": Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -1465,7 +1505,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -1520,13 +1560,16 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, "wcagLevel": "A", @@ -1535,7 +1578,7 @@ Fix any of the following: }, Object { "description": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang", "html": "<html>", "id": "html-has-lang", "key": "html-has-lang--html", @@ -1549,7 +1592,7 @@ Fix any of the following: "violation": Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1580,9 +1623,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, "wcagLevel": "A", @@ -1595,7 +1640,7 @@ Fix any of the following: Object { "description": "Ensures each HTML document contains a non-empty <title> element", "help": "Documents must have <title> element to aid in navigation", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI", "id": "document-title", "impact": "serious", "nodes": Array [ @@ -1631,15 +1676,17 @@ Fix any of the following: "cat.text-alternatives", "wcag2a", "wcag242", - "ACT", "TTv5", "TT12.a", + "EN-301-549", + "EN-9.2.4.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1677,15 +1724,17 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, Object { "description": "Ensures links have discernible text", "help": "Links must have discernible text", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI", "id": "link-name", "impact": "serious", "nodes": Array [ @@ -1695,7 +1744,7 @@ Fix any of the following: Object { "data": null, "id": "has-visible-text", - "impact": "minor", + "impact": "serious", "message": "Element does not have text that is visible to screen readers", "relatedNodes": Array [], }, @@ -1750,19 +1799,22 @@ Fix any of the following: "tags": Array [ "cat.name-role-value", "wcag2a", - "wcag412", "wcag244", + "wcag412", "section508", "section508.22.a", - "ACT", "TTv5", "TT6.a", + "EN-301-549", + "EN-9.2.4.4", + "EN-9.4.1.2", + "ACT", ], }, Object { "description": "Ensures every HTML document has a lang attribute", "help": "<html> element must have a lang attribute", - "helpUrl": "https://dequeuniversity.com/rules/axe/4.7/html-has-lang?application=axeAPI", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.8/html-has-lang?application=axeAPI", "id": "html-has-lang", "impact": "serious", "nodes": Array [ @@ -1793,9 +1845,11 @@ Fix any of the following: "cat.language", "wcag2a", "wcag311", - "ACT", "TTv5", "TT11.a", + "EN-301-549", + "EN-9.3.1.1", + "ACT", ], }, ], @@ -1849,7 +1903,7 @@ Fix any of the following: "failureDetails": Array [], "failureMessages": Array [ "Accessibility issues found: Documents must have <title> element to aid in navigation -Help: https://dequeuniversity.com/rules/axe/4.7/document-title +Help: https://dequeuniversity.com/rules/axe/4.8/document-title WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 CSS Selectors: html HTML element: <html><head></head><body> @@ -1902,7 +1956,7 @@ Summary: Fix any of the following: "failureDetails": Array [], "failureMessages": Array [ "Accessibility issues found: <html> element must have a lang attribute -Help: https://dequeuniversity.com/rules/axe/4.7/html-has-lang +Help: https://dequeuniversity.com/rules/axe/4.8/html-has-lang WCAG Criteria: SA11Y-WCAG-SC3.1.1-P2 CSS Selectors: html HTML element: <html><head></head><body> @@ -1955,7 +2009,7 @@ Summary: Fix any of the following: "failureDetails": Array [], "failureMessages": Array [ "Accessibility issues found: Links must have discernible text -Help: https://dequeuniversity.com/rules/axe/4.7/link-name +Help: https://dequeuniversity.com/rules/axe/4.8/link-name WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1 CSS Selectors: a HTML element: <a href=\\"#\\"></a> @@ -1981,11 +2035,11 @@ Fix any of the following: exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -1994,11 +2048,11 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau exports[`a11y Results Formatter should format a11y issues as expected with default options for dom 0 3`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; @@ -2011,77 +2065,77 @@ exports[`a11y Results Formatter should format a11y issues as expected with defau " `; -exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"ACT\\",\\"TTv5\\",\\"TT12.a\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag412\\",\\"wcag244\\",\\"section508\\",\\"section508.22.a\\",\\"ACT\\",\\"TTv5\\",\\"TT6.a\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.7/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"minor\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; +exports[`a11y Results Formatter should format using specified options: 0 1`] = `"[{\\"id\\":\\"document-title\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.text-alternatives\\",\\"wcag2a\\",\\"wcag242\\",\\"TTv5\\",\\"TT12.a\\",\\"EN-301-549\\",\\"EN-9.2.4.2\\",\\"ACT\\"],\\"description\\":\\"Ensures each HTML document contains a non-empty <title> element\\",\\"help\\":\\"Documents must have <title> element to aid in navigation\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/document-title?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"doc-has-title\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Document does not have a non-empty <title> element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"<html lang=\\\\\\"en\\\\\\"><head><style>* { pointer-events: all }</style></head><body>\\\\n\\\\n<div id=\\\\\\"dom-with-issues\\\\\\">\\\\n <a href=\\\\\\"#\\\\\\"></a>\\\\n</div>\\\\n\\\\n\\\\n</body></html>\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty <title> element\\"}]},{\\"id\\":\\"link-name\\",\\"impact\\":\\"serious\\",\\"tags\\":[\\"cat.name-role-value\\",\\"wcag2a\\",\\"wcag244\\",\\"wcag412\\",\\"section508\\",\\"section508.22.a\\",\\"TTv5\\",\\"TT6.a\\",\\"EN-301-549\\",\\"EN-9.2.4.4\\",\\"EN-9.4.1.2\\",\\"ACT\\"],\\"description\\":\\"Ensures links have discernible text\\",\\"help\\":\\"Links must have discernible text\\",\\"helpUrl\\":\\"https://dequeuniversity.com/rules/axe/4.8/link-name?application=axeAPI\\",\\"nodes\\":[{\\"any\\":[{\\"id\\":\\"has-visible-text\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element does not have text that is visible to screen readers\\"},{\\"id\\":\\"aria-label\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-label attribute does not exist or is empty\\"},{\\"id\\":\\"aria-labelledby\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\"},{\\"id\\":\\"non-empty-title\\",\\"data\\":{\\"messageKey\\":\\"noAttr\\"},\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element has no title attribute\\"}],\\"all\\":[],\\"none\\":[{\\"id\\":\\"focusable-no-name\\",\\"data\\":null,\\"relatedNodes\\":[],\\"impact\\":\\"serious\\",\\"message\\":\\"Element is in tab order and does not have accessible text\\"}],\\"impact\\":\\"serious\\",\\"html\\":\\"<a href=\\\\\\"#\\\\\\"></a>\\",\\"target\\":[\\"a\\"],\\"failureSummary\\":\\"Fix all of the following:\\\\n Element is in tab order and does not have accessible text\\\\n\\\\nFix any of the following:\\\\n Element does not have text that is visible to screen readers\\\\n aria-label attribute does not exist or is empty\\\\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\\\\n Element has no title attribute\\"}]}]"`; exports[`a11y Results Formatter should format using specified options: 1 1`] = ` "\\"* (document-title) Documents must have <title> element to aid in navigation: html\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 \\"* (link-name) Links must have discernible text: a\\" - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 2 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 3 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should format using specified options: 4 1`] = ` "* (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should not throw error for repeated violations with consolidation 2`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; exports[`a11y Results Formatter should throw error when violations are present 1`] = ` "2 Accessibility issues found * (document-title) Documents must have <title> element to aid in navigation: html - - Help URL: https://dequeuniversity.com/rules/axe/4.7/document-title + - Help URL: https://dequeuniversity.com/rules/axe/4.8/document-title - WCAG Criteria: SA11Y-WCAG-SC2.4.2-P2 * (link-name) Links must have discernible text: a - - Help URL: https://dequeuniversity.com/rules/axe/4.7/link-name + - Help URL: https://dequeuniversity.com/rules/axe/4.8/link-name - WCAG Criteria: SA11Y-WCAG-SC4.1.2-P1" `; diff --git a/packages/preset-rules/README.md b/packages/preset-rules/README.md index 1b9b7b62..4952f784 100644 --- a/packages/preset-rules/README.md +++ b/packages/preset-rules/README.md @@ -37,102 +37,106 @@ console.log(a11yResults); | Rule ID | Description | WCAG SC | WCAG Level | Priority | In Base ruleset | In Extended ruleset | | -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ---------- | -------- | --------------- | ------------------- | -| [area-alt](https://dequeuniversity.com/rules/axe/4.7/area-alt) | Ensures <area> elements of image maps have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | -| [aria-allowed-attr](https://dequeuniversity.com/rules/axe/4.7/aria-allowed-attr) | Ensures ARIA attributes are allowed for an element's role | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-allowed-role](https://dequeuniversity.com/rules/axe/4.7/aria-allowed-role) | Ensures role attribute has an appropriate value for the element | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-command-name](https://dequeuniversity.com/rules/axe/4.7/aria-command-name) | Ensures every ARIA button, link and menuitem has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-dialog-name](https://dequeuniversity.com/rules/axe/4.7/aria-dialog-name) | Ensures every ARIA dialog and alertdialog node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-hidden-body](https://dequeuniversity.com/rules/axe/4.7/aria-hidden-body) | Ensures aria-hidden='true' is not present on the document body. | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-hidden-focus](https://dequeuniversity.com/rules/axe/4.7/aria-hidden-focus) | Ensures aria-hidden elements are not focusable nor contain focusable elements | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-input-field-name](https://dequeuniversity.com/rules/axe/4.7/aria-input-field-name) | Ensures every ARIA input field has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-meter-name](https://dequeuniversity.com/rules/axe/4.7/aria-meter-name) | Ensures every ARIA meter node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-progressbar-name](https://dequeuniversity.com/rules/axe/4.7/aria-progressbar-name) | Ensures every ARIA progressbar node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-required-attr](https://dequeuniversity.com/rules/axe/4.7/aria-required-attr) | Ensures elements with ARIA roles have all required ARIA attributes | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-required-children](https://dequeuniversity.com/rules/axe/4.7/aria-required-children) | Ensures elements with an ARIA role that require child roles contain them | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-required-parent](https://dequeuniversity.com/rules/axe/4.7/aria-required-parent) | Ensures elements with an ARIA role that require parent roles are contained by them | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-roledescription](https://dequeuniversity.com/rules/axe/4.7/aria-roledescription) | Ensure aria-roledescription is only used on elements with an implicit or explicit role | 4.1.2 | A | P3 | ✅ | ✅ | -| [aria-roles](https://dequeuniversity.com/rules/axe/4.7/aria-roles) | Ensures all elements with a role attribute use a valid value | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-toggle-field-name](https://dequeuniversity.com/rules/axe/4.7/aria-toggle-field-name) | Ensures every ARIA toggle field has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-tooltip-name](https://dequeuniversity.com/rules/axe/4.7/aria-tooltip-name) | Ensures every ARIA tooltip node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-treeitem-name](https://dequeuniversity.com/rules/axe/4.7/aria-treeitem-name) | Ensures every ARIA treeitem node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [aria-valid-attr](https://dequeuniversity.com/rules/axe/4.7/aria-valid-attr) | Ensures attributes that begin with aria- are valid ARIA attributes | 4.1.2 | A | P3 | ✅ | ✅ | -| [aria-valid-attr-value](https://dequeuniversity.com/rules/axe/4.7/aria-valid-attr-value) | Ensures all ARIA attributes have valid values | 4.1.2 | A | P3 | ✅ | ✅ | -| [audio-caption](https://dequeuniversity.com/rules/axe/4.7/audio-caption) | Ensures <audio> elements have captions | 1.2.2 | A | P1 | ✅ | ✅ | -| [autocomplete-valid](https://dequeuniversity.com/rules/axe/4.7/autocomplete-valid) | Ensure the autocomplete attribute is correct and suitable for the form field | 1.3.5 | AA | P2 | ✅ | ✅ | -| [avoid-inline-spacing](https://dequeuniversity.com/rules/axe/4.7/avoid-inline-spacing) | Ensure that text spacing set through style attributes can be adjusted with custom stylesheets | 1.4.12 | AA | P3 | ✅ | ✅ | -| [blink](https://dequeuniversity.com/rules/axe/4.7/blink) | Ensures <blink> elements are not used | 2.2.2 | A | P1 | ✅ | ✅ | -| [button-name](https://dequeuniversity.com/rules/axe/4.7/button-name) | Ensures buttons have discernible text | 4.1.2 | A | P1 | ✅ | ✅ | -| [bypass](https://dequeuniversity.com/rules/axe/4.7/bypass) | Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content | 2.4.1 | A | P3 | ✅ | ✅ | -| [color-contrast](https://dequeuniversity.com/rules/axe/4.7/color-contrast) | Ensures the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds | 1.4.3 | AA | P1 | ✅ | ✅ | -| [definition-list](https://dequeuniversity.com/rules/axe/4.7/definition-list) | Ensures <dl> elements are structured correctly | 1.3.1 | A | P2 | ✅ | ✅ | -| [dlitem](https://dequeuniversity.com/rules/axe/4.7/dlitem) | Ensures <dt> and <dd> elements are contained by a <dl> | 1.3.1 | A | P2 | ✅ | ✅ | -| [document-title](https://dequeuniversity.com/rules/axe/4.7/document-title) | Ensures each HTML document contains a non-empty <title> element | 2.4.2 | A | P2 | ✅ | ✅ | -| [duplicate-id](https://dequeuniversity.com/rules/axe/4.7/duplicate-id) | Ensures every id attribute value is unique | 4.1.1 | A | P3 | ✅ | ✅ | -| [duplicate-id-active](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-active) | Ensures every id attribute value of active elements is unique | 4.1.1 | A | P3 | ✅ | ✅ | -| [duplicate-id-aria](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-aria) | Ensures every id attribute value used in ARIA and in labels is unique | 4.1.2 | A | P1 | ✅ | ✅ | -| [form-field-multiple-labels](https://dequeuniversity.com/rules/axe/4.7/form-field-multiple-labels) | Ensures form field does not have multiple label elements | 2.5.3 | A | P2 | ✅ | ✅ | -| [frame-focusable-content](https://dequeuniversity.com/rules/axe/4.7/frame-focusable-content) | Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1 | 2.1.1 | A | P1 | ✅ | ✅ | -| [frame-title](https://dequeuniversity.com/rules/axe/4.7/frame-title) | Ensures <iframe> and <frame> elements have an accessible name | 2.4.2 | A | P3 | ✅ | ✅ | -| [html-has-lang](https://dequeuniversity.com/rules/axe/4.7/html-has-lang) | Ensures every HTML document has a lang attribute | 3.1.1 | A | P2 | ✅ | ✅ | -| [html-lang-valid](https://dequeuniversity.com/rules/axe/4.7/html-lang-valid) | Ensures the lang attribute of the <html> element has a valid value | 3.1.1 | A | P2 | ✅ | ✅ | -| [html-xml-lang-mismatch](https://dequeuniversity.com/rules/axe/4.7/html-xml-lang-mismatch) | Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page | 3.1.1 | A | P2 | ✅ | ✅ | -| [image-alt](https://dequeuniversity.com/rules/axe/4.7/image-alt) | Ensures <img> elements have alternate text or a role of none or presentation | 1.1.1 | A | P1 | ✅ | ✅ | -| [input-button-name](https://dequeuniversity.com/rules/axe/4.7/input-button-name) | Ensures input buttons have discernible text | 4.1.2 | A | P1 | ✅ | ✅ | -| [input-image-alt](https://dequeuniversity.com/rules/axe/4.7/input-image-alt) | Ensures <input type="image"> elements have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | -| [label](https://dequeuniversity.com/rules/axe/4.7/label) | Ensures every form element has a label | 3.3.2 | A | P1 | ✅ | ✅ | -| [label-title-only](https://dequeuniversity.com/rules/axe/4.7/label-title-only) | Ensures that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes | 3.3.2 | A | P1 | ✅ | ✅ | -| [link-name](https://dequeuniversity.com/rules/axe/4.7/link-name) | Ensures links have discernible text | 4.1.2 | A | P1 | ✅ | ✅ | -| [list](https://dequeuniversity.com/rules/axe/4.7/list) | Ensures that lists are structured correctly | 1.3.1 | A | P2 | ✅ | ✅ | -| [listitem](https://dequeuniversity.com/rules/axe/4.7/listitem) | Ensures <li> elements are used semantically | 1.3.1 | A | P2 | ✅ | ✅ | -| [marquee](https://dequeuniversity.com/rules/axe/4.7/marquee) | Ensures <marquee> elements are not used | 2.2.2 | A | P1 | ✅ | ✅ | -| [meta-refresh](https://dequeuniversity.com/rules/axe/4.7/meta-refresh) | Ensures <meta http-equiv="refresh"> is not used for delayed refresh | 2.2.1 | A | P1 | ✅ | ✅ | -| [meta-viewport](https://dequeuniversity.com/rules/axe/4.7/meta-viewport) | Ensures <meta name="viewport"> does not disable text scaling and zooming | 1.4.4 | AA | P2 | ✅ | ✅ | -| [nested-interactive](https://dequeuniversity.com/rules/axe/4.7/nested-interactive) | Ensures interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies | 4.1.2 | A | P1 | ✅ | ✅ | -| [object-alt](https://dequeuniversity.com/rules/axe/4.7/object-alt) | Ensures <object> elements have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | -| [presentation-role-conflict](https://dequeuniversity.com/rules/axe/4.7/presentation-role-conflict) | Elements marked as presentational should not have global ARIA or tabindex to ensure all screen readers ignore them | 4.1.1 | A | P3 | ✅ | ✅ | -| [role-img-alt](https://dequeuniversity.com/rules/axe/4.7/role-img-alt) | Ensures [role='img'] elements have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | -| [scope-attr-valid](https://dequeuniversity.com/rules/axe/4.7/scope-attr-valid) | Ensures the scope attribute is used correctly on tables | 1.3.1 | A | P1 | ✅ | ✅ | -| [scrollable-region-focusable](https://dequeuniversity.com/rules/axe/4.7/scrollable-region-focusable) | Ensure elements that have scrollable content are accessible by keyboard | 2.1.1 | A | P1 | ✅ | ✅ | -| [select-name](https://dequeuniversity.com/rules/axe/4.7/select-name) | Ensures select element has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | -| [server-side-image-map](https://dequeuniversity.com/rules/axe/4.7/server-side-image-map) | Ensures that server-side image maps are not used | 2.1.1 | A | P1 | ✅ | ✅ | -| [svg-img-alt](https://dequeuniversity.com/rules/axe/4.7/svg-img-alt) | Ensures <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text | 1.1.1 | A | P1 | ✅ | ✅ | -| [tabindex](https://dequeuniversity.com/rules/axe/4.7/tabindex) | Ensures tabindex attribute values are not greater than 0 | 2.4.3 | A | P2 | ✅ | ✅ | -| [td-headers-attr](https://dequeuniversity.com/rules/axe/4.7/td-headers-attr) | Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table | 1.3.1 | A | P1 | ✅ | ✅ | -| [th-has-data-cells](https://dequeuniversity.com/rules/axe/4.7/th-has-data-cells) | Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe | 1.3.1 | A | P1 | ✅ | ✅ | -| [valid-lang](https://dequeuniversity.com/rules/axe/4.7/valid-lang) | Ensures lang attributes have valid values | 3.1.1 | A | P2 | ✅ | ✅ | -| [video-caption](https://dequeuniversity.com/rules/axe/4.7/video-caption) | Ensures <video> elements have captions | 1.2.2 | A | P1 | ✅ | ✅ | -| [accesskeys](https://dequeuniversity.com/rules/axe/4.7/accesskeys) | Ensures every accesskey attribute value is unique | 4.1.1 | A | P3 | ✖️ | ✅ | -| [aria-text](https://dequeuniversity.com/rules/axe/4.7/aria-text) | Ensures "role=text" is used on elements with no focusable descendants | 4.1.1 | A | P3 | ✖️ | ✅ | -| [color-contrast-enhanced](https://dequeuniversity.com/rules/axe/4.7/color-contrast-enhanced) | Ensures the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds | 1.4.6 | AAA | P3 | ✖️ | ✅ | -| [css-orientation-lock](https://dequeuniversity.com/rules/axe/4.7/css-orientation-lock) | Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations | 1.3.4 | AA | P3 | ✖️ | ✅ | -| [empty-heading](https://dequeuniversity.com/rules/axe/4.7/empty-heading) | Ensures headings have discernible text | 1.3.1 | A | P2 | ✖️ | ✅ | -| [empty-table-header](https://dequeuniversity.com/rules/axe/4.7/empty-table-header) | Ensures table headers have discernible text | 1.3.1 | A | P2 | ✖️ | ✅ | -| [focus-order-semantics](https://dequeuniversity.com/rules/axe/4.7/focus-order-semantics) | Ensures elements in the focus order have a role appropriate for interactive content | | | P3 | ✖️ | ✅ | -| [frame-tested](https://dequeuniversity.com/rules/axe/4.7/frame-tested) | Ensures <iframe> and <frame> elements contain the axe-core script | | | P3 | ✖️ | ✅ | -| [frame-title-unique](https://dequeuniversity.com/rules/axe/4.7/frame-title-unique) | Ensures <iframe> and <frame> elements contain a unique title attribute | | | P3 | ✖️ | ✅ | -| [heading-order](https://dequeuniversity.com/rules/axe/4.7/heading-order) | Ensures the order of headings is semantically correct | 1.3.1 | A | P2 | ✖️ | ✅ | -| [hidden-content](https://dequeuniversity.com/rules/axe/4.7/hidden-content) | Informs users about hidden content. | | | P3 | ✖️ | ✅ | -| [identical-links-same-purpose](https://dequeuniversity.com/rules/axe/4.7/identical-links-same-purpose) | Ensure that links with the same accessible name serve a similar purpose | 2.4.9 | AAA | P3 | ✖️ | ✅ | -| [image-redundant-alt](https://dequeuniversity.com/rules/axe/4.7/image-redundant-alt) | Ensure image alternative is not repeated as text | 1.1.1 | A | P3 | ✖️ | ✅ | -| [label-content-name-mismatch](https://dequeuniversity.com/rules/axe/4.7/label-content-name-mismatch) | Ensures that elements labelled through their content must have their visible text as part of their accessible name | 2.5.3 | A | P2 | ✖️ | ✅ | -| [landmark-banner-is-top-level](https://dequeuniversity.com/rules/axe/4.7/landmark-banner-is-top-level) | Ensures the banner landmark is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-complementary-is-top-level](https://dequeuniversity.com/rules/axe/4.7/landmark-complementary-is-top-level) | Ensures the complementary landmark or aside is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-contentinfo-is-top-level](https://dequeuniversity.com/rules/axe/4.7/landmark-contentinfo-is-top-level) | Ensures the contentinfo landmark is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-main-is-top-level](https://dequeuniversity.com/rules/axe/4.7/landmark-main-is-top-level) | Ensures the main landmark is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-no-duplicate-banner](https://dequeuniversity.com/rules/axe/4.7/landmark-no-duplicate-banner) | Ensures the document has at most one banner landmark | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-no-duplicate-contentinfo](https://dequeuniversity.com/rules/axe/4.7/landmark-no-duplicate-contentinfo) | Ensures the document has at most one contentinfo landmark | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-no-duplicate-main](https://dequeuniversity.com/rules/axe/4.7/landmark-no-duplicate-main) | Ensures the document has at most one main landmark | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-one-main](https://dequeuniversity.com/rules/axe/4.7/landmark-one-main) | Ensures the document has a main landmark | 4.1.1 | A | P3 | ✖️ | ✅ | -| [landmark-unique](https://dequeuniversity.com/rules/axe/4.7/landmark-unique) | Landmarks should have a unique role or role/label/title (i.e. accessible name) combination | 4.1.1 | A | P3 | ✖️ | ✅ | -| [link-in-text-block](https://dequeuniversity.com/rules/axe/4.7/link-in-text-block) | Ensure links are distinguished from surrounding text in a way that does not rely on color | 1.4.1 | A | P1 | ✖️ | ✅ | -| [meta-refresh-no-exceptions](https://dequeuniversity.com/rules/axe/4.7/meta-refresh-no-exceptions) | Ensures <meta http-equiv="refresh"> is not used for delayed refresh | | | P3 | ✖️ | ✅ | -| [meta-viewport-large](https://dequeuniversity.com/rules/axe/4.7/meta-viewport-large) | Ensures <meta name="viewport"> can scale a significant amount | 1.4.4 | AA | P2 | ✖️ | ✅ | -| [no-autoplay-audio](https://dequeuniversity.com/rules/axe/4.7/no-autoplay-audio) | Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio | 1.4.2 | A | P1 | ✖️ | ✅ | -| [page-has-heading-one](https://dequeuniversity.com/rules/axe/4.7/page-has-heading-one) | Ensure that the page, or at least one of its frames contains a level-one heading | 1.3.1 | A | P2 | ✖️ | ✅ | -| [p-as-heading](https://dequeuniversity.com/rules/axe/4.7/p-as-heading) | Ensure bold, italic text and font-size is not used to style <p> elements as a heading | 1.3.1 | A | P2 | ✖️ | ✅ | -| [region](https://dequeuniversity.com/rules/axe/4.7/region) | Ensures all page content is contained by landmarks | | | P3 | ✖️ | ✅ | -| [skip-link](https://dequeuniversity.com/rules/axe/4.7/skip-link) | Ensure all skip links have a focusable target | | | P3 | ✖️ | ✅ | -| [table-duplicate-name](https://dequeuniversity.com/rules/axe/4.7/table-duplicate-name) | Ensure the <caption> element does not contain the same text as the summary attribute | | | P3 | ✖️ | ✅ | -| [table-fake-caption](https://dequeuniversity.com/rules/axe/4.7/table-fake-caption) | Ensure that tables with a caption use the <caption> element. | | | P3 | ✖️ | ✅ | -| [target-size](https://dequeuniversity.com/rules/axe/4.7/target-size) | Ensure touch target have sufficient size and space | 2.5.5 | AAA | P3 | ✖️ | ✅ | -| [td-has-header](https://dequeuniversity.com/rules/axe/4.7/td-has-header) | Ensure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers | 1.3.1 | A | P1 | ✖️ | ✅ | +| [area-alt](https://dequeuniversity.com/rules/axe/4.8/area-alt) | Ensures <area> elements of image maps have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | +| [aria-allowed-attr](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-attr) | Ensures an element's role supports its ARIA attributes | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-allowed-role](https://dequeuniversity.com/rules/axe/4.8/aria-allowed-role) | Ensures role attribute has an appropriate value for the element | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-command-name](https://dequeuniversity.com/rules/axe/4.8/aria-command-name) | Ensures every ARIA button, link and menuitem has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-dialog-name](https://dequeuniversity.com/rules/axe/4.8/aria-dialog-name) | Ensures every ARIA dialog and alertdialog node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-hidden-body](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-body) | Ensures aria-hidden="true" is not present on the document body. | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-hidden-focus](https://dequeuniversity.com/rules/axe/4.8/aria-hidden-focus) | Ensures aria-hidden elements are not focusable nor contain focusable elements | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-input-field-name](https://dequeuniversity.com/rules/axe/4.8/aria-input-field-name) | Ensures every ARIA input field has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-meter-name](https://dequeuniversity.com/rules/axe/4.8/aria-meter-name) | Ensures every ARIA meter node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-progressbar-name](https://dequeuniversity.com/rules/axe/4.8/aria-progressbar-name) | Ensures every ARIA progressbar node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-required-attr](https://dequeuniversity.com/rules/axe/4.8/aria-required-attr) | Ensures elements with ARIA roles have all required ARIA attributes | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-required-children](https://dequeuniversity.com/rules/axe/4.8/aria-required-children) | Ensures elements with an ARIA role that require child roles contain them | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-required-parent](https://dequeuniversity.com/rules/axe/4.8/aria-required-parent) | Ensures elements with an ARIA role that require parent roles are contained by them | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-roledescription](https://dequeuniversity.com/rules/axe/4.8/aria-roledescription) | Ensure aria-roledescription is only used on elements with an implicit or explicit role | 4.1.2 | A | P3 | ✅ | ✅ | +| [aria-roles](https://dequeuniversity.com/rules/axe/4.8/aria-roles) | Ensures all elements with a role attribute use a valid value | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-toggle-field-name](https://dequeuniversity.com/rules/axe/4.8/aria-toggle-field-name) | Ensures every ARIA toggle field has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-tooltip-name](https://dequeuniversity.com/rules/axe/4.8/aria-tooltip-name) | Ensures every ARIA tooltip node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-treeitem-name](https://dequeuniversity.com/rules/axe/4.8/aria-treeitem-name) | Ensures every ARIA treeitem node has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [aria-valid-attr](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr) | Ensures attributes that begin with aria- are valid ARIA attributes | 4.1.2 | A | P3 | ✅ | ✅ | +| [aria-valid-attr-value](https://dequeuniversity.com/rules/axe/4.8/aria-valid-attr-value) | Ensures all ARIA attributes have valid values | 4.1.2 | A | P3 | ✅ | ✅ | +| [audio-caption](https://dequeuniversity.com/rules/axe/4.8/audio-caption) | Ensures <audio> elements have captions | 1.2.2 | A | P1 | ✅ | ✅ | +| [autocomplete-valid](https://dequeuniversity.com/rules/axe/4.8/autocomplete-valid) | Ensure the autocomplete attribute is correct and suitable for the form field | 1.3.5 | AA | P2 | ✅ | ✅ | +| [avoid-inline-spacing](https://dequeuniversity.com/rules/axe/4.8/avoid-inline-spacing) | Ensure that text spacing set through style attributes can be adjusted with custom stylesheets | 1.4.12 | AA | P3 | ✅ | ✅ | +| [blink](https://dequeuniversity.com/rules/axe/4.8/blink) | Ensures <blink> elements are not used | 2.2.2 | A | P1 | ✅ | ✅ | +| [button-name](https://dequeuniversity.com/rules/axe/4.8/button-name) | Ensures buttons have discernible text | 4.1.2 | A | P1 | ✅ | ✅ | +| [bypass](https://dequeuniversity.com/rules/axe/4.8/bypass) | Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content | 2.4.1 | A | P3 | ✅ | ✅ | +| [color-contrast](https://dequeuniversity.com/rules/axe/4.8/color-contrast) | Ensures the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds | 1.4.3 | AA | P1 | ✅ | ✅ | +| [definition-list](https://dequeuniversity.com/rules/axe/4.8/definition-list) | Ensures <dl> elements are structured correctly | 1.3.1 | A | P2 | ✅ | ✅ | +| [dlitem](https://dequeuniversity.com/rules/axe/4.8/dlitem) | Ensures <dt> and <dd> elements are contained by a <dl> | 1.3.1 | A | P2 | ✅ | ✅ | +| [document-title](https://dequeuniversity.com/rules/axe/4.8/document-title) | Ensures each HTML document contains a non-empty <title> element | 2.4.2 | A | P2 | ✅ | ✅ | +| [duplicate-id](https://dequeuniversity.com/rules/axe/4.8/duplicate-id) | Ensures every id attribute value is unique | 4.1.1 | A | P3 | ✅ | ✅ | +| [duplicate-id-active](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-active) | Ensures every id attribute value of active elements is unique | 4.1.1 | A | P3 | ✅ | ✅ | +| [duplicate-id-aria](https://dequeuniversity.com/rules/axe/4.8/duplicate-id-aria) | Ensures every id attribute value used in ARIA and in labels is unique | 4.1.2 | A | P1 | ✅ | ✅ | +| [form-field-multiple-labels](https://dequeuniversity.com/rules/axe/4.8/form-field-multiple-labels) | Ensures form field does not have multiple label elements | 2.5.3 | A | P2 | ✅ | ✅ | +| [frame-focusable-content](https://dequeuniversity.com/rules/axe/4.8/frame-focusable-content) | Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1 | 2.1.1 | A | P1 | ✅ | ✅ | +| [frame-title](https://dequeuniversity.com/rules/axe/4.8/frame-title) | Ensures <iframe> and <frame> elements have an accessible name | 2.4.2 | A | P3 | ✅ | ✅ | +| [html-has-lang](https://dequeuniversity.com/rules/axe/4.8/html-has-lang) | Ensures every HTML document has a lang attribute | 3.1.1 | A | P2 | ✅ | ✅ | +| [html-lang-valid](https://dequeuniversity.com/rules/axe/4.8/html-lang-valid) | Ensures the lang attribute of the <html> element has a valid value | 3.1.1 | A | P2 | ✅ | ✅ | +| [html-xml-lang-mismatch](https://dequeuniversity.com/rules/axe/4.8/html-xml-lang-mismatch) | Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page | 3.1.1 | A | P2 | ✅ | ✅ | +| [image-alt](https://dequeuniversity.com/rules/axe/4.8/image-alt) | Ensures <img> elements have alternate text or a role of none or presentation | 1.1.1 | A | P1 | ✅ | ✅ | +| [input-button-name](https://dequeuniversity.com/rules/axe/4.8/input-button-name) | Ensures input buttons have discernible text | 4.1.2 | A | P1 | ✅ | ✅ | +| [input-image-alt](https://dequeuniversity.com/rules/axe/4.8/input-image-alt) | Ensures <input type="image"> elements have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | +| [label](https://dequeuniversity.com/rules/axe/4.8/label) | Ensures every form element has a label | 3.3.2 | A | P1 | ✅ | ✅ | +| [label-title-only](https://dequeuniversity.com/rules/axe/4.8/label-title-only) | Ensures that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes | 3.3.2 | A | P1 | ✅ | ✅ | +| [link-name](https://dequeuniversity.com/rules/axe/4.8/link-name) | Ensures links have discernible text | 4.1.2 | A | P1 | ✅ | ✅ | +| [list](https://dequeuniversity.com/rules/axe/4.8/list) | Ensures that lists are structured correctly | 1.3.1 | A | P2 | ✅ | ✅ | +| [listitem](https://dequeuniversity.com/rules/axe/4.8/listitem) | Ensures <li> elements are used semantically | 1.3.1 | A | P2 | ✅ | ✅ | +| [marquee](https://dequeuniversity.com/rules/axe/4.8/marquee) | Ensures <marquee> elements are not used | 2.2.2 | A | P1 | ✅ | ✅ | +| [meta-refresh](https://dequeuniversity.com/rules/axe/4.8/meta-refresh) | Ensures <meta http-equiv="refresh"> is not used for delayed refresh | 2.2.1 | A | P1 | ✅ | ✅ | +| [meta-viewport](https://dequeuniversity.com/rules/axe/4.8/meta-viewport) | Ensures <meta name="viewport"> does not disable text scaling and zooming | 1.4.4 | AA | P2 | ✅ | ✅ | +| [nested-interactive](https://dequeuniversity.com/rules/axe/4.8/nested-interactive) | Ensures interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies | 4.1.2 | A | P1 | ✅ | ✅ | +| [object-alt](https://dequeuniversity.com/rules/axe/4.8/object-alt) | Ensures <object> elements have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | +| [presentation-role-conflict](https://dequeuniversity.com/rules/axe/4.8/presentation-role-conflict) | Elements marked as presentational should not have global ARIA or tabindex to ensure all screen readers ignore them | 4.1.1 | A | P3 | ✅ | ✅ | +| [role-img-alt](https://dequeuniversity.com/rules/axe/4.8/role-img-alt) | Ensures [role="img"] elements have alternate text | 1.1.1 | A | P1 | ✅ | ✅ | +| [scope-attr-valid](https://dequeuniversity.com/rules/axe/4.8/scope-attr-valid) | Ensures the scope attribute is used correctly on tables | 1.3.1 | A | P1 | ✅ | ✅ | +| [scrollable-region-focusable](https://dequeuniversity.com/rules/axe/4.8/scrollable-region-focusable) | Ensure elements that have scrollable content are accessible by keyboard | 2.1.1 | A | P1 | ✅ | ✅ | +| [select-name](https://dequeuniversity.com/rules/axe/4.8/select-name) | Ensures select element has an accessible name | 4.1.2 | A | P1 | ✅ | ✅ | +| [server-side-image-map](https://dequeuniversity.com/rules/axe/4.8/server-side-image-map) | Ensures that server-side image maps are not used | 2.1.1 | A | P1 | ✅ | ✅ | +| [svg-img-alt](https://dequeuniversity.com/rules/axe/4.8/svg-img-alt) | Ensures <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text | 1.1.1 | A | P1 | ✅ | ✅ | +| [tabindex](https://dequeuniversity.com/rules/axe/4.8/tabindex) | Ensures tabindex attribute values are not greater than 0 | 2.4.3 | A | P2 | ✅ | ✅ | +| [td-headers-attr](https://dequeuniversity.com/rules/axe/4.8/td-headers-attr) | Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table | 1.3.1 | A | P1 | ✅ | ✅ | +| [th-has-data-cells](https://dequeuniversity.com/rules/axe/4.8/th-has-data-cells) | Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe | 1.3.1 | A | P1 | ✅ | ✅ | +| [valid-lang](https://dequeuniversity.com/rules/axe/4.8/valid-lang) | Ensures lang attributes have valid values | 3.1.1 | A | P2 | ✅ | ✅ | +| [video-caption](https://dequeuniversity.com/rules/axe/4.8/video-caption) | Ensures <video> elements have captions | 1.2.2 | A | P1 | ✅ | ✅ | +| [accesskeys](https://dequeuniversity.com/rules/axe/4.8/accesskeys) | Ensures every accesskey attribute value is unique | 4.1.1 | A | P3 | ✖️ | ✅ | +| [aria-text](https://dequeuniversity.com/rules/axe/4.8/aria-text) | Ensures role="text" is used on elements with no focusable descendants | 4.1.1 | A | P3 | ✖️ | ✅ | +| [color-contrast-enhanced](https://dequeuniversity.com/rules/axe/4.8/color-contrast-enhanced) | Ensures the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds | 1.4.6 | AAA | P3 | ✖️ | ✅ | +| [css-orientation-lock](https://dequeuniversity.com/rules/axe/4.8/css-orientation-lock) | Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations | 1.3.4 | AA | P3 | ✖️ | ✅ | +| [empty-heading](https://dequeuniversity.com/rules/axe/4.8/empty-heading) | Ensures headings have discernible text | 1.3.1 | A | P2 | ✖️ | ✅ | +| [empty-table-header](https://dequeuniversity.com/rules/axe/4.8/empty-table-header) | Ensures table headers have discernible text | 1.3.1 | A | P2 | ✖️ | ✅ | +| [focus-order-semantics](https://dequeuniversity.com/rules/axe/4.8/focus-order-semantics) | Ensures elements in the focus order have a role appropriate for interactive content | | | P3 | ✖️ | ✅ | +| [frame-tested](https://dequeuniversity.com/rules/axe/4.8/frame-tested) | Ensures <iframe> and <frame> elements contain the axe-core script | | | P3 | ✖️ | ✅ | +| [frame-title-unique](https://dequeuniversity.com/rules/axe/4.8/frame-title-unique) | Ensures <iframe> and <frame> elements contain a unique title attribute | | | P3 | ✖️ | ✅ | +| [heading-order](https://dequeuniversity.com/rules/axe/4.8/heading-order) | Ensures the order of headings is semantically correct | 1.3.1 | A | P2 | ✖️ | ✅ | +| [hidden-content](https://dequeuniversity.com/rules/axe/4.8/hidden-content) | Informs users about hidden content. | | | P3 | ✖️ | ✅ | +| [identical-links-same-purpose](https://dequeuniversity.com/rules/axe/4.8/identical-links-same-purpose) | Ensure that links with the same accessible name serve a similar purpose | 2.4.9 | AAA | P3 | ✖️ | ✅ | +| [image-redundant-alt](https://dequeuniversity.com/rules/axe/4.8/image-redundant-alt) | Ensure image alternative is not repeated as text | 1.1.1 | A | P3 | ✖️ | ✅ | +| [label-content-name-mismatch](https://dequeuniversity.com/rules/axe/4.8/label-content-name-mismatch) | Ensures that elements labelled through their content must have their visible text as part of their accessible name | 2.5.3 | A | P2 | ✖️ | ✅ | +| [landmark-banner-is-top-level](https://dequeuniversity.com/rules/axe/4.8/landmark-banner-is-top-level) | Ensures the banner landmark is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-complementary-is-top-level](https://dequeuniversity.com/rules/axe/4.8/landmark-complementary-is-top-level) | Ensures the complementary landmark or aside is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-contentinfo-is-top-level](https://dequeuniversity.com/rules/axe/4.8/landmark-contentinfo-is-top-level) | Ensures the contentinfo landmark is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-main-is-top-level](https://dequeuniversity.com/rules/axe/4.8/landmark-main-is-top-level) | Ensures the main landmark is at top level | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-no-duplicate-banner](https://dequeuniversity.com/rules/axe/4.8/landmark-no-duplicate-banner) | Ensures the document has at most one banner landmark | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-no-duplicate-contentinfo](https://dequeuniversity.com/rules/axe/4.8/landmark-no-duplicate-contentinfo) | Ensures the document has at most one contentinfo landmark | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-no-duplicate-main](https://dequeuniversity.com/rules/axe/4.8/landmark-no-duplicate-main) | Ensures the document has at most one main landmark | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-one-main](https://dequeuniversity.com/rules/axe/4.8/landmark-one-main) | Ensures the document has a main landmark | 4.1.1 | A | P3 | ✖️ | ✅ | +| [landmark-unique](https://dequeuniversity.com/rules/axe/4.8/landmark-unique) | Landmarks should have a unique role or role/label/title (i.e. accessible name) combination | 4.1.1 | A | P3 | ✖️ | ✅ | +| [link-in-text-block](https://dequeuniversity.com/rules/axe/4.8/link-in-text-block) | Ensure links are distinguished from surrounding text in a way that does not rely on color | 1.4.1 | A | P1 | ✖️ | ✅ | +| [meta-refresh-no-exceptions](https://dequeuniversity.com/rules/axe/4.8/meta-refresh-no-exceptions) | Ensures <meta http-equiv="refresh"> is not used for delayed refresh | | | P3 | ✖️ | ✅ | +| [meta-viewport-large](https://dequeuniversity.com/rules/axe/4.8/meta-viewport-large) | Ensures <meta name="viewport"> can scale a significant amount | 1.4.4 | AA | P2 | ✖️ | ✅ | +| [no-autoplay-audio](https://dequeuniversity.com/rules/axe/4.8/no-autoplay-audio) | Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio | 1.4.2 | A | P1 | ✖️ | ✅ | +| [page-has-heading-one](https://dequeuniversity.com/rules/axe/4.8/page-has-heading-one) | Ensure that the page, or at least one of its frames contains a level-one heading | 1.3.1 | A | P2 | ✖️ | ✅ | +| [p-as-heading](https://dequeuniversity.com/rules/axe/4.8/p-as-heading) | Ensure bold, italic text and font-size is not used to style <p> elements as a heading | 1.3.1 | A | P2 | ✖️ | ✅ | +| [region](https://dequeuniversity.com/rules/axe/4.8/region) | Ensures all page content is contained by landmarks | | | P3 | ✖️ | ✅ | +| [skip-link](https://dequeuniversity.com/rules/axe/4.8/skip-link) | Ensure all skip links have a focusable target | | | P3 | ✖️ | ✅ | +| [table-duplicate-name](https://dequeuniversity.com/rules/axe/4.8/table-duplicate-name) | Ensure the <caption> element does not contain the same text as the summary attribute | | | P3 | ✖️ | ✅ | +| [table-fake-caption](https://dequeuniversity.com/rules/axe/4.8/table-fake-caption) | Ensure that tables with a caption use the <caption> element. | | | P3 | ✖️ | ✅ | +| [target-size](https://dequeuniversity.com/rules/axe/4.8/target-size) | Ensure touch target have sufficient size and space | 2.5.5 | AAA | P3 | ✖️ | ✅ | +| [td-has-header](https://dequeuniversity.com/rules/axe/4.8/td-has-header) | Ensure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers | 1.3.1 | A | P1 | ✖️ | ✅ | +| [aria-braille-equivalent](https://dequeuniversity.com/rules/axe/4.8/aria-braille-equivalent) | Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent | | | P3 | ✖️ | ✅ | +| [aria-conditional-attr](https://dequeuniversity.com/rules/axe/4.8/aria-conditional-attr) | Ensures ARIA attributes are used as described in the specification of the element's role | | | P3 | ✖️ | ✅ | +| [aria-prohibited-attr](https://dequeuniversity.com/rules/axe/4.8/aria-prohibited-attr) | Ensures ARIA attributes are not prohibited for an element's role | | | P3 | ✖️ | ✅ | +| [aria-deprecated-role](https://dequeuniversity.com/rules/axe/4.8/aria-deprecated-role) | Ensures elements do not use deprecated roles | | | P3 | ✖️ | ✅ | diff --git a/packages/preset-rules/package.json b/packages/preset-rules/package.json index 06a62f5c..cffa1829 100644 --- a/packages/preset-rules/package.json +++ b/packages/preset-rules/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@jest/globals": "28.1.3", - "axe-core": "4.7.0", + "axe-core": "4.8.3", "markdown-table-ts": "1.0.3" }, "publishConfig": { diff --git a/packages/preset-rules/src/full.ts b/packages/preset-rules/src/full.ts index d1edd025..8c34ee59 100644 --- a/packages/preset-rules/src/full.ts +++ b/packages/preset-rules/src/full.ts @@ -8,7 +8,12 @@ import { defaultPriority, getA11yConfig } from './rules'; import { extendedRulesInfo } from './extended'; // Rules that have been excluded due to being new or deprecated by axe -export const excludedRules = []; +export const excludedRules = [ + 'aria-braille-equivalent', + 'aria-conditional-attr', + 'aria-prohibited-attr', + 'aria-deprecated-role', +]; // Add excluded rules to extended to get the full list excludedRules.forEach((rule) => extendedRulesInfo.set(rule, { priority: defaultPriority, wcagSC: '', wcagLevel: '' })); diff --git a/packages/wdio/package.json b/packages/wdio/package.json index 3c4c1d5c..d13da993 100644 --- a/packages/wdio/package.json +++ b/packages/wdio/package.json @@ -32,7 +32,7 @@ "@sa11y/common": "5.1.0", "@sa11y/format": "5.1.0", "@sa11y/preset-rules": "5.1.0", - "axe-core": "4.7.0" + "axe-core": "4.8.3" }, "peerDependencies": { "webdriverio": ">=6.0.0" diff --git a/yarn.lock b/yarn.lock index 37074848..a82abb8e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4368,10 +4368,10 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axe-core@4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== +axe-core@4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.3.tgz#205df863dd9917d5979e9435dab4d47692759051" + integrity sha512-d5ZQHPSPkF9Tw+yfyDcRoUOc4g/8UloJJe5J8m4L5+c7AtDdjDLRxew/knnI4CxvtdxEUVgWz4x3OIQUIFiMfw== axios@^1.0.0, axios@^1.4.0: version "1.6.1"