@@ -1318,7 +1354,7 @@ Fix any of the following:
"violation": Object {
"description": "Ensures each HTML document contains a non-empty
@@ -1386,7 +1424,7 @@ Fix any of the following:
"violation": Object {
"description": "Ensures every HTML document has a lang attribute",
"help": " 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": "
",
"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": " 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": "",
"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": " 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
element",
"help": "Documents must have 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": " 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": " 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 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:
@@ -1902,7 +1956,7 @@ Summary: Fix any of the following:
"failureDetails": Array [],
"failureMessages": Array [
"Accessibility issues found: 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:
@@ -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:
@@ -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
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 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 element\\",\\"help\\":\\"Documents must have 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 element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"\\\\n\\\\n
\\\\n\\\\n\\\\n\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty
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\\":\\"\\",\\"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 element\\",\\"help\\":\\"Documents must have 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 element\\"}],\\"all\\":[],\\"none\\":[],\\"impact\\":\\"serious\\",\\"html\\":\\"\\\\n\\\\n
\\\\n\\\\n\\\\n\\",\\"target\\":[\\"html\\"],\\"failureSummary\\":\\"Fix any of the following:\\\\n Document does not have a non-empty
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\\":\\"\\",\\"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 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 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 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 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 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 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 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"