diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/help/index.ts b/accessibility-checker-engine/src/v2/checker/accessibility/help/index.ts index 97f31b5c2..827437a1a 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/help/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/help/index.ts @@ -863,11 +863,11 @@ let a11yHelp = { "Fail_1": `${Config.helpRoot}/Rpt_Aria_ArticleRoleLabel_Implicit` }, // JCH - DONE - "Rpt_Aria_MultipleGroupRoles_Implicit": { - 0: `${Config.helpRoot}/Rpt_Aria_MultipleGroupRoles_Implicit`, - "Pass_0": `${Config.helpRoot}/Rpt_Aria_MultipleGroupRoles_Implicit`, - "Fail_1": `${Config.helpRoot}/Rpt_Aria_MultipleGroupRoles_Implicit` - }, + // "Rpt_Aria_MultipleGroupRoles_Implicit": { + // 0: `${Config.helpRoot}/Rpt_Aria_MultipleGroupRoles_Implicit`, + // "Pass_0": `${Config.helpRoot}/Rpt_Aria_MultipleGroupRoles_Implicit`, + // "Fail_1": `${Config.helpRoot}/Rpt_Aria_MultipleGroupRoles_Implicit` + // }, // JCH - DONE "Rpt_Aria_GroupRoleLabel_Implicit": { 0: `${Config.helpRoot}/Rpt_Aria_GroupRoleLabel_Implicit`, diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts b/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts index 4b160e1b0..7a0fbac23 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts @@ -856,11 +856,11 @@ let a11yNls = { "Fail_1": "The element with \"article\" role does not have a label" }, // JCH - DONE - "Rpt_Aria_MultipleGroupRoles_Implicit": { - 0: "Each element with \"group\" role must have a unique label that describes its purpose", - "Pass_0": "Rule Passed", - "Fail_1": "Multiple elements with \"group\" role do not have unique labels" - }, + // "Rpt_Aria_MultipleGroupRoles_Implicit": { + // 0: "Each element with \"group\" role must have a unique label that describes its purpose", + // "Pass_0": "Rule Passed", + // "Fail_1": "Multiple elements with \"group\" role do not have unique labels" + // }, // JCH - DONE "Rpt_Aria_GroupRoleLabel_Implicit": { 0: "An element with \"group\" role should have a unique label that describes its purpose", diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-ariaLabeling-rules.ts b/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-ariaLabeling-rules.ts index 29049bfac..8aebcaf74 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-ariaLabeling-rules.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-ariaLabeling-rules.ts @@ -834,40 +834,48 @@ let a11yRulesLabeling: Rule[] = [ } }, - { - /** - * Description: Triggers if multiple group roles are present and they don't have unique labels - * Also, consider
element which has implicit 'group' role - * Origin: CI162 Web checklist checkpoint 2.4a - */ - id: "Rpt_Aria_MultipleGroupRoles_Implicit", - context: "aria:group", - run: (context: RuleContext, options?: {}): RuleResult | RuleResult[] => { - const ruleContext = context["dom"].node as Element; - - // Consider the Check Hidden Content setting that is set by the rules - // Also, consider Implicit role checking. - let landmarks = RPTUtil.getElementsByRoleHidden(ruleContext.ownerDocument, "group", true, true); - if (landmarks.length === 0 || landmarks.length === 1) { - return null; - } - - let dupes = RPTUtil.getCache(ruleContext.ownerDocument, "Rpt_Aria_MultipleGroupRoles_Implicit", null); - if (!dupes) { - dupes = RPTUtil.findAriaLabelDupes(landmarks); - RPTUtil.setCache(ruleContext.ownerDocument, "Rpt_Aria_MultipleGroupRoles_Implicit", dupes); - } - let myLabel = RPTUtil.getAriaLabel(ruleContext); - let passed = myLabel === "" || !(myLabel in dupes) || dupes[myLabel] <= 1; - - //return new ValidationResult(passed, ruleContext, '', '', [ myLabel ]); - if (!passed) { - return RuleFail("Fail_1", [myLabel]); - } else { - return RulePass("Pass_0"); - } - } - }, + /** -------------------------------------------------------------------------------------------- + * DEPRECATED: This rule is being deprecated and replaced by 2 separate rules that are more + * targeted. + * 1) landmark_name_unique + * 2) group_withInputs_hasName + * The reasoning for this was we were accidentally catching groups that were valid. Such as + * groups that might have the same name but had structurally ways to reach them. So they were + * disambiguated by structure nested parent hierarchy. + * -------------------------------------------------------------------------------------------- + * Description: Triggers if multiple group roles are present and they don't have unique labels + * Also, consider
element which has implicit 'group' role + * Origin: CI162 Web checklist checkpoint 2.4a + */ + // { + // id: "Rpt_Aria_MultipleGroupRoles_Implicit", + // context: "aria:group", + // run: (context: RuleContext, options?: {}): RuleResult | RuleResult[] => { + // const ruleContext = context["dom"].node as Element; + + // // Consider the Check Hidden Content setting that is set by the rules + // // Also, consider Implicit role checking. + // let landmarks = RPTUtil.getElementsByRoleHidden(ruleContext.ownerDocument, "group", true, true); + // if (landmarks.length === 0 || landmarks.length === 1) { + // return null; + // } + + // let dupes = RPTUtil.getCache(ruleContext.ownerDocument, "Rpt_Aria_MultipleGroupRoles_Implicit", null); + // if (!dupes) { + // dupes = RPTUtil.findAriaLabelDupes(landmarks); + // RPTUtil.setCache(ruleContext.ownerDocument, "Rpt_Aria_MultipleGroupRoles_Implicit", dupes); + // } + // let myLabel = RPTUtil.getAriaLabel(ruleContext); + // let passed = myLabel === "" || !(myLabel in dupes) || dupes[myLabel] <= 1; + + // //return new ValidationResult(passed, ruleContext, '', '', [ myLabel ]); + // if (!passed) { + // return RuleFail("Fail_1", [myLabel]); + // } else { + // return RulePass("Pass_0"); + // } + // } + // }, { diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/rulesets/index.ts b/accessibility-checker-engine/src/v2/checker/accessibility/rulesets/index.ts index eb608288e..b5c69f30b 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/rulesets/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/rulesets/index.ts @@ -756,11 +756,12 @@ let a11yRulesets: Ruleset[] = [ level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE }, - { - id: "Rpt_Aria_MultipleGroupRoles_Implicit", - level: eRulePolicy.VIOLATION, - toolkitLevel: eToolkitLevel.LEVEL_THREE - }, + // DEPRECATED + // { + // id: "Rpt_Aria_MultipleGroupRoles_Implicit", + // level: eRulePolicy.VIOLATION, + // toolkitLevel: eToolkitLevel.LEVEL_THREE + // }, { id: "Rpt_Aria_MultipleContentinfoInSiblingSet_Implicit", level: eRulePolicy.VIOLATION, @@ -1945,11 +1946,12 @@ let a11yRulesets: Ruleset[] = [ level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE }, - { - id: "Rpt_Aria_MultipleGroupRoles_Implicit", - level: eRulePolicy.VIOLATION, - toolkitLevel: eToolkitLevel.LEVEL_THREE - }, + // DEPRECATED + // { + // id: "Rpt_Aria_MultipleGroupRoles_Implicit", + // level: eRulePolicy.VIOLATION, + // toolkitLevel: eToolkitLevel.LEVEL_THREE + // }, { id: "Rpt_Aria_MultipleContentinfoInSiblingSet_Implicit", level: eRulePolicy.VIOLATION, @@ -3080,11 +3082,12 @@ let a11yRulesets: Ruleset[] = [ level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE }, - { - id: "Rpt_Aria_MultipleGroupRoles_Implicit", - level: eRulePolicy.VIOLATION, - toolkitLevel: eToolkitLevel.LEVEL_THREE - }, + // DEPRECATED + // { + // id: "Rpt_Aria_MultipleGroupRoles_Implicit", + // level: eRulePolicy.VIOLATION, + // toolkitLevel: eToolkitLevel.LEVEL_THREE + // }, { id: "Rpt_Aria_MultipleContentinfoInSiblingSet_Implicit", level: eRulePolicy.VIOLATION, diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUnique.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUnique.html index 44eaa2b70..5d2ddafd3 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUnique.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUnique.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHidden.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHidden.html index 6970d5aea..4dc7b8162 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHidden.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHidden.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHiddenImplicit.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHiddenImplicit.html index ec11794ed..4e5273a24 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHiddenImplicit.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelNotUniqueHiddenImplicit.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> \ No newline at end of file diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelUnique.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelUnique.html index 5bf4ff034..e7c37e00c 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelUnique.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelUnique.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyNotUniqueImplicit.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyNotUniqueImplicit.html index 65b7a4ae9..f6221958e 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyNotUniqueImplicit.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyNotUniqueImplicit.html @@ -38,7 +38,7 @@

Another heading to be used as landmark label

- --> \ No newline at end of file diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyUnique.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyUnique.html index b42c4f269..a3d1ab308 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyUnique.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksAriaLabelledbyUnique.html @@ -45,7 +45,7 @@

Another heading to be used as landmark label - hd4

- --> \ No newline at end of file diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksNoLabels.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksNoLabels.html index 7bd4a222a..399461afb 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksNoLabels.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksNoLabels.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabel.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabel.html index 93baca620..4139251be 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabel.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabel.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabelledby.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabelledby.html index 76c6b756d..dacdeeb72 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabelledby.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/duplicateLandmarksOneAriaLabelledby.html @@ -37,7 +37,7 @@

Multiple landmarks of the same type must have unique labels

- --> + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/noDuplicateLandmarks.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/noDuplicateLandmarks.html index 3d1ebf09f..6d42d14b7 100644 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/noDuplicateLandmarks.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/Rpt_Aria_MultipleGroupRoles_Implicit_ruleunit/noDuplicateLandmarks.html @@ -36,7 +36,7 @@

Multiple landmarks of the same type must have unique labels

- --> +