diff --git a/doc/rule-descriptions.md b/doc/rule-descriptions.md index e425250416..c61c6d2948 100644 --- a/doc/rule-descriptions.md +++ b/doc/rule-descriptions.md @@ -37,7 +37,7 @@ | [definition-list](https://dequeuniversity.com/rules/axe/4.7/definition-list?application=RuleDescription) | Ensures <dl> elements are structured correctly | Serious | cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 | failure | | | [dlitem](https://dequeuniversity.com/rules/axe/4.7/dlitem?application=RuleDescription) | Ensures <dt> and <dd> elements are contained by a <dl> | Serious | cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 | failure | | | [document-title](https://dequeuniversity.com/rules/axe/4.7/document-title?application=RuleDescription) | Ensures each HTML document contains a non-empty <title> element | Serious | cat.text-alternatives, wcag2a, wcag242, TTv5, TT12.a, EN-301-549, EN-9.2.4.2, ACT | failure | [2779a5](https://act-rules.github.io/rules/2779a5) | -| [duplicate-id-aria](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-aria?application=RuleDescription) | Ensures every id attribute value used in ARIA and in labels is unique | Critical | cat.parsing, wcag2a, wcag411, EN-301-549, EN-9.4.1.1 | failure | [3ea0c8](https://act-rules.github.io/rules/3ea0c8) | +| [duplicate-id-aria](https://dequeuniversity.com/rules/axe/4.7/duplicate-id-aria?application=RuleDescription) | Ensures every id attribute value used in ARIA and in labels is unique | Critical | cat.parsing, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 | needs review | [3ea0c8](https://act-rules.github.io/rules/3ea0c8) | | [form-field-multiple-labels](https://dequeuniversity.com/rules/axe/4.7/form-field-multiple-labels?application=RuleDescription) | Ensures form field does not have multiple label elements | Moderate | cat.forms, wcag2a, wcag332, TTv5, TT5.c, EN-301-549, EN-9.3.3.2 | needs review | | | [frame-focusable-content](https://dequeuniversity.com/rules/axe/4.7/frame-focusable-content?application=RuleDescription) | Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1 | Serious | cat.keyboard, wcag2a, wcag211, TTv5, TT4.a, EN-301-549, EN-9.2.1.1 | failure, needs review | [akn7bn](https://act-rules.github.io/rules/akn7bn) | | [frame-title-unique](https://dequeuniversity.com/rules/axe/4.7/frame-title-unique?application=RuleDescription) | Ensures <iframe> and <frame> elements contain a unique title attribute | Serious | cat.text-alternatives, wcag2a, wcag412, TTv5, TT12.d, EN-301-549, EN-9.4.1.2 | needs review | [4b1c6c](https://act-rules.github.io/rules/4b1c6c) | diff --git a/lib/rules/duplicate-id-aria.json b/lib/rules/duplicate-id-aria.json index 18ebafeaa1..5f924d4136 100644 --- a/lib/rules/duplicate-id-aria.json +++ b/lib/rules/duplicate-id-aria.json @@ -3,7 +3,8 @@ "selector": "[id]", "matches": "duplicate-id-aria-matches", "excludeHidden": false, - "tags": ["cat.parsing", "wcag2a", "wcag411", "EN-301-549", "EN-9.4.1.1"], + "tags": ["cat.parsing", "wcag2a", "wcag412", "EN-301-549", "EN-9.4.1.2"], + "reviewOnFail": true, "actIds": ["3ea0c8"], "metadata": { "description": "Ensures every id attribute value used in ARIA and in labels is unique", diff --git a/test/integration/rules/duplicate-id-aria/duplicate-id-aria.html b/test/integration/rules/duplicate-id-aria/duplicate-id-aria.html index a2e6bf29b9..68dad18989 100644 --- a/test/integration/rules/duplicate-id-aria/duplicate-id-aria.html +++ b/test/integration/rules/duplicate-id-aria/duplicate-id-aria.html @@ -8,11 +8,11 @@
- - + + - + diff --git a/test/integration/rules/duplicate-id-aria/duplicate-id-aria.json b/test/integration/rules/duplicate-id-aria/duplicate-id-aria.json index 2d16afd673..ffb1ae4d94 100644 --- a/test/integration/rules/duplicate-id-aria/duplicate-id-aria.json +++ b/test/integration/rules/duplicate-id-aria/duplicate-id-aria.json @@ -1,6 +1,7 @@ { "description": "duplicate-id-aria test", "rule": "duplicate-id-aria", - "violations": [[".fail1"]], + "violations": [], + "incomplete": [[".incomplete1"]], "passes": [["#pass1"], ["#pass2"]] } diff --git a/test/integration/rules/runner.js b/test/integration/rules/runner.js index 134be306cc..5e1623279d 100644 --- a/test/integration/rules/runner.js +++ b/test/integration/rules/runner.js @@ -95,7 +95,11 @@ // check that all nodes are removed assert.equal(JSON.stringify(targets), '[]'); } else { - assert(false, 'there are no ' + collection); + assert.lengthOf( + test[collection], + 0, + 'there are no ' + collection + ); } }); });