From db0878b4d8c8fbab5652679e27cb8f94e6c2349a Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 11:02:31 -0600 Subject: [PATCH 01/16] updated help after review --- .../help/input_haspopup_invalid.mdx | 64 +++++++++++-------- .../src/v2/checker/accessibility/nls/index.ts | 8 +-- .../input_list.html | 4 +- .../input_list2.html | 8 +-- 4 files changed, 46 insertions(+), 38 deletions(-) diff --git a/accessibility-checker-engine/help/input_haspopup_invalid.mdx b/accessibility-checker-engine/help/input_haspopup_invalid.mdx index 87b2e21bb..b191aec9f 100644 --- a/accessibility-checker-engine/help/input_haspopup_invalid.mdx +++ b/accessibility-checker-engine/help/input_haspopup_invalid.mdx @@ -1,5 +1,5 @@ --- -title: "Accessibility Checker Rule Help: input_haspopup_invalid" +title: "input_haspopup_invalid: Accessibility Checker Rule Help" --- import "../../../styles/ToolHelp.scss" import { CodeSnippet, Tag } from "carbon-components-react"; @@ -8,11 +8,11 @@ import { CodeSnippet, Tag } from "carbon-components-react"; -### A focusable element should not be within the subtree of an element with `aria-hidden` set to `"true"` +### `` element with `list` attribute also uses `aria-haspopup` attribute on certain input types
-Element with `aria-hidden="true"` should not have focusable content +An `` element with `list` attribute should not also use `aria-haspopup` attribute
@@ -21,51 +21,59 @@ Element with `aria-hidden="true"` should not have focusable content ### Why is this important? -Using either `role="presentation"` or `aria-hidden="true"` on a focusable element will result in some users focusing on "nothing". -A focusable element with `aria-hidden="true"` is ignored as part of the reading order, -but still part of the focus order, -making its state of visible or hidden unclear. -This rule checks that elements with an `aria-hidden` attribute do not contain focusable elements. +Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), +[search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), +[tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), +[url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), +and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) +(or inputs with a missing or invalid type) that also have a +[list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox +(which in turn has an implicit aria-haspopup="listbox"); +therefore, developers should not explicitly assign the aria-haspopup attribute, +which will be either redundant or possibly conflicting. +When HTML elements use both `aria-*` attributes and their HTML implied equivalents, +browsers **_must_** ignore the explicit (redundant or conflicting) ARIA attribute – the native HTML attribute with their +[implied ARIA semantics](https://www.w3.org/TR/wai-aria-1.1/#implicit_semantics) take precedence. + +To ensure that Assistive Technologies (AT) can gather information, +proper coding is required so that the end users can understand and interact with the content. +If standard HTML controls are created according to specification, +the conditions of this provision will be met. +For this reason, to avoid unintended consequences, +developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-*` attribute.
### What to do -When designers and developers want to hide parts of a web page that are pure decoration, -such as icon fonts - that are not meant to be read by assistive technologies: +* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` + * [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  + * [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  + * [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)),   + * [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)),  + * [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) +* **And/Or**, add input type if missing or correct the invalid input type. -* ensure that assistive technologies will ignore the element by adding `aria-hidden="true"` to the element -* enure none of the target elements are part of sequential focus navigation -* ensure no descendants are part of sequential focus navigation -### Example -* In the following example, the `button` element is focusable by default. -Therefore, using `aria-hidden="true"` violates the rule: - - <div aria-hidden="true"> - <div aria-hidden="false"> - <button>Some button</button> - </div> - </div> - -Note: Using `aria-hidden="false"` on a descendant of an element with `aria-hidden="true"` does not expose that element. -Using `aria-hidden="true"` hides itself and all its content from assistive technologies. ### About this requirement -* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1) * [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) -* [Fourth Rule of ARIA Use](https://www.w3.org/TR/using-aria/#fourth) -* [ACT rule: Element with aria-hidden has no focusable content](https://act-rules.github.io/rules/6cfa84) +* [ARIA in HTML specification](https://www.w3.org/TR/html-aria/#el-input-text-list) +* [WCAG technique ARIA5](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA5) +* [WCAG technique G108](https://www.w3.org/WAI/WCAG21/Techniques/general/G108) ### Who does this affect? * People using a screen reader, including blind, low vision and neurodivergent people +* People with low vision using screen magnification +* People with dexterity impairment using voice control +* People who physically cannot use a pointing device 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 c8dbb0703..deb2d47dc 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts @@ -1023,10 +1023,10 @@ let a11yNls = { "Fail_inline": "The combobox does not support an 'aria-autocomplete' attribute value set to '\"inline\"' " }, "input_haspopup_invalid": { - 0: " element with list attribute should not use aria-haspopup attribute on indicated inputs", - "Pass_0": " element with list attribute does not use aria-haspopup attribute on indicated inputs", - "Failure_1": " element with list attribute uses aria-haspopup attribute on type=\"{0}\"", - "Failure_2": " element with list attribute uses aria-haspopup attribute on missing or invalid input type" + 0: " element with 'list' attribute should not also use 'aria-haspopup' attribute", + "Pass_0": " element with 'list' attribute does not use 'aria-haspopup' attribute", + "Failure_1": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"{0}\"", + "Failure_2": " element with 'list' attribute also uses 'aria-haspopup' attribute on missing or invalid input type" }, // JCH - DONE "WCAG21_Style_Viewport": { diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index e4fce3b78..7d12e33dc 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -71,7 +71,7 @@ "aria": "/document[1]/main[1]/combobox[1]" }, "reasonId": "Failure_2", - "message": " element with list attribute uses aria-haspopup attribute on missing or invalid input type", + "message": " element with 'list' attribute uses 'aria-haspopup' attribute on missing or invalid input type", "messageArgs": [], "apiArgs": [], "category": "Accessibility" @@ -87,7 +87,7 @@ "aria": "/document[1]/main[1]/combobox[2]" }, "reasonId": "Failure_1", - "message": " element with list attribute uses aria-haspopup attribute on type=\"text\"", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"text\"", "messageArgs": [ "text" ], diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html index 333972a68..aae4ea3c4 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html @@ -72,7 +72,7 @@ "aria": "/document[1]/main[1]/combobox[1]" }, "reasonId": "Failure_1", - "message": " element with list attribute uses aria-haspopup attribute on type=\"search\"", + "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"search\"", "messageArgs": [ "search" ], @@ -90,7 +90,7 @@ "aria": "/document[1]/main[1]/combobox[2]" }, "reasonId": "Failure_1", - "message": " element with list attribute uses aria-haspopup attribute on type=\"email\"", + "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"email\"", "messageArgs": [ "email" ], @@ -108,7 +108,7 @@ "aria": "/document[1]/main[1]/combobox[3]" }, "reasonId": "Failure_1", - "message": " element with list attribute uses aria-haspopup attribute on type=\"tel\"", + "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"tel\"", "messageArgs": [ "tel" ], @@ -126,7 +126,7 @@ "aria": "/document[1]/main[1]" }, "reasonId": "Failure_2", - "message": " element with list attribute uses aria-haspopup attribute on missing or invalid input type", + "message": " element with 'list' attribute uses 'aria-haspopup' attribute on missing or invalid input type", "messageArgs": [], "apiArgs": [], "category": "Accessibility" From 389e4b4742c295bd09da2ea924cb6452184ec503 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 11:40:55 -0600 Subject: [PATCH 02/16] Should be Needs Review --- .../v2/checker/accessibility/help/index.ts | 4 ++-- .../src/v2/checker/accessibility/nls/index.ts | 4 ++-- .../accessibility/rules/rpt-combobox-rules.ts | 6 +++--- .../checker/accessibility/rulesets/index.ts | 20 ++++++++++++++----- .../input_list.html | 4 ++-- .../input_list2.html | 8 ++++---- 6 files changed, 28 insertions(+), 18 deletions(-) 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 6508ab8f9..18947a70a 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/help/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/help/index.ts @@ -1033,8 +1033,8 @@ let a11yHelp = { "input_haspopup_invalid":{ 0: `${Config.helpRoot}/`, "Pass": `${Config.helpRoot}/input_haspopup_invalid`, - "Failure_1": `${Config.helpRoot}/input_haspopup_invalid`, - "Failure_2": `${Config.helpRoot}/input_haspopup_invalid` + "Potential_1": `${Config.helpRoot}/input_haspopup_invalid`, + "Potential_2": `${Config.helpRoot}/input_haspopup_invalid` }, // JCH - DONE "WCAG21_Style_Viewport": { 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 deb2d47dc..ccf8b6ad3 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts @@ -1025,8 +1025,8 @@ let a11yNls = { "input_haspopup_invalid": { 0: " element with 'list' attribute should not also use 'aria-haspopup' attribute", "Pass_0": " element with 'list' attribute does not use 'aria-haspopup' attribute", - "Failure_1": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"{0}\"", - "Failure_2": " element with 'list' attribute also uses 'aria-haspopup' attribute on missing or invalid input type" + "Potential_1": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"{0}\"", + "Potential_2": " element with 'list' attribute also uses 'aria-haspopup' attribute on missing or invalid input type" }, // JCH - DONE "WCAG21_Style_Viewport": { diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts b/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts index 0902767e0..239800541 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts @@ -375,7 +375,7 @@ let a11yRulesCombobox: Rule[] = [ let attrValue = ruleContext.getAttribute("type"); //missing input type if (!attrValue) - return RuleFail("Failure_2"); + return RuleFail("Potential_2"); attrValue = attrValue.toLowerCase(); // ignore for no triggering input types @@ -384,10 +384,10 @@ let a11yRulesCombobox: Rule[] = [ // failure_1 if any triggering input types if (yesTypes.includes(attrValue)) - return RuleFail("Failure_1", [attrValue]); + return RuleFail("Potential_1", [attrValue]); //invalid input type - return RuleFail("Failure_2"); + return RuleFail("Potential_2"); } } 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 72a724930..698852561 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/rulesets/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/rulesets/index.ts @@ -1110,6 +1110,11 @@ let a11yRulesets: Ruleset[] = [ "wcagLevel": "A", "summary": "For all user interface components (including, but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.", "rules": [ + { + id: "input_haspopup_invalid", + level: eRulePolicy.VIOLATION, + toolkitLevel: eToolkitLevel.LEVEL_ONE + }, { id: "WCAG20_Input_ExplicitLabel", level: eRulePolicy.VIOLATION, @@ -1245,11 +1250,6 @@ let a11yRulesets: Ruleset[] = [ level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE }, - { - id: "input_haspopup_invalid", - level: eRulePolicy.VIOLATION, - toolkitLevel: eToolkitLevel.LEVEL_ONE - }, { id: "aria_hidden_focus_misuse", level: eRulePolicy.VIOLATION, @@ -2320,6 +2320,11 @@ let a11yRulesets: Ruleset[] = [ "wcagLevel": "A", "summary": "For all user interface components (including, but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.", "rules": [ + { + id: "input_haspopup_invalid", + level: eRulePolicy.VIOLATION, + toolkitLevel: eToolkitLevel.LEVEL_ONE + }, { id: "WCAG20_Input_ExplicitLabel", level: eRulePolicy.VIOLATION, @@ -3432,6 +3437,11 @@ let a11yRulesets: Ruleset[] = [ "wcagLevel": "A", "summary": "For all user interface components (including, but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies.", "rules": [ + { + id: "input_haspopup_invalid", + level: eRulePolicy.VIOLATION, + toolkitLevel: eToolkitLevel.LEVEL_ONE + }, { id: "WCAG20_Input_ExplicitLabel", level: eRulePolicy.VIOLATION, diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index 7d12e33dc..caf238320 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -70,7 +70,7 @@ "dom": "/html[1]/body[1]/main[1]/input[1]", "aria": "/document[1]/main[1]/combobox[1]" }, - "reasonId": "Failure_2", + "reasonId": "Potential_2", "message": " element with 'list' attribute uses 'aria-haspopup' attribute on missing or invalid input type", "messageArgs": [], "apiArgs": [], @@ -86,7 +86,7 @@ "dom": "/html[1]/body[1]/main[1]/input[2]", "aria": "/document[1]/main[1]/combobox[2]" }, - "reasonId": "Failure_1", + "reasonId": "Potential_1", "message": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"text\"", "messageArgs": [ "text" diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html index aae4ea3c4..4fcd334c1 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html @@ -71,7 +71,7 @@ "dom": "/html[1]/body[1]/main[1]/input[1]", "aria": "/document[1]/main[1]/combobox[1]" }, - "reasonId": "Failure_1", + "reasonId": "Potential_1", "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"search\"", "messageArgs": [ "search" @@ -89,7 +89,7 @@ "dom": "/html[1]/body[1]/main[1]/input[2]", "aria": "/document[1]/main[1]/combobox[2]" }, - "reasonId": "Failure_1", + "reasonId": "Potential_1", "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"email\"", "messageArgs": [ "email" @@ -107,7 +107,7 @@ "dom": "/html[1]/body[1]/main[1]/input[3]", "aria": "/document[1]/main[1]/combobox[3]" }, - "reasonId": "Failure_1", + "reasonId": "Potential_1", "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"tel\"", "messageArgs": [ "tel" @@ -125,7 +125,7 @@ "dom": "/html[1]/body[1]/main[1]/input[4]", "aria": "/document[1]/main[1]" }, - "reasonId": "Failure_2", + "reasonId": "Potential_2", "message": " element with 'list' attribute uses 'aria-haspopup' attribute on missing or invalid input type", "messageArgs": [], "apiArgs": [], From 9f36e21d597015f3c42e308d6226d93b386a0f20 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 13:21:25 -0600 Subject: [PATCH 03/16] Improve mdx formatting --- .../help/input_haspopup_invalid.mdx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/accessibility-checker-engine/help/input_haspopup_invalid.mdx b/accessibility-checker-engine/help/input_haspopup_invalid.mdx index b191aec9f..2778eea8e 100644 --- a/accessibility-checker-engine/help/input_haspopup_invalid.mdx +++ b/accessibility-checker-engine/help/input_haspopup_invalid.mdx @@ -8,7 +8,7 @@ import { CodeSnippet, Tag } from "carbon-components-react"; -### `` element with `list` attribute also uses `aria-haspopup` attribute on certain input types +### `` element with `list` attribute also uses `aria-haspopup` attribute
@@ -21,7 +21,7 @@ An `` element with `list` attribute should not also use `aria-haspopup` a ### Why is this important? -Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), +* Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), @@ -35,7 +35,7 @@ When HTML elements use both `aria-*` attributes and their HTML implied equivalen browsers **_must_** ignore the explicit (redundant or conflicting) ARIA attribute – the native HTML attribute with their [implied ARIA semantics](https://www.w3.org/TR/wai-aria-1.1/#implicit_semantics) take precedence. -To ensure that Assistive Technologies (AT) can gather information, +* To ensure that Assistive Technologies (AT) can gather information, proper coding is required so that the end users can understand and interact with the content. If standard HTML controls are created according to specification, the conditions of this provision will be met. @@ -46,18 +46,13 @@ developers **_should not_** specify both the native HTML attribute and an equiva ### What to do -* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` - * [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  - * [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  - * [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)),   - * [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)),  - * [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) +* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  +[search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  +[tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)),  +[url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)),  +or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) * **And/Or**, add input type if missing or correct the invalid input type. - - - -
From e827e6258e33461f48c793a375b0a1220a14bcfd Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 14:20:27 -0600 Subject: [PATCH 04/16] Should be Needs Review --- .../help/input_haspopup_invalid.mdx | 37 +++++-------------- .../src/v2/checker/accessibility/nls/index.ts | 4 +- .../accessibility/rules/rpt-combobox-rules.ts | 6 +-- 3 files changed, 15 insertions(+), 32 deletions(-) diff --git a/accessibility-checker-engine/help/input_haspopup_invalid.mdx b/accessibility-checker-engine/help/input_haspopup_invalid.mdx index 2778eea8e..4b0e48fd9 100644 --- a/accessibility-checker-engine/help/input_haspopup_invalid.mdx +++ b/accessibility-checker-engine/help/input_haspopup_invalid.mdx @@ -8,11 +8,11 @@ import { CodeSnippet, Tag } from "carbon-components-react"; -### `` element with `list` attribute also uses `aria-haspopup` attribute +### An `` element with `list` attribute also uses `aria-haspopup` attribute
-An `` element with `list` attribute should not also use `aria-haspopup` attribute +The `` element with a `list` attribute **_should not_** also use a `aria-haspopup` attribute
@@ -21,36 +21,19 @@ An `` element with `list` attribute should not also use `aria-haspopup` a ### Why is this important? -* Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), -[search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), -[tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), -[url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), -and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) -(or inputs with a missing or invalid type) that also have a -[list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox -(which in turn has an implicit aria-haspopup="listbox"); -therefore, developers should not explicitly assign the aria-haspopup attribute, -which will be either redundant or possibly conflicting. -When HTML elements use both `aria-*` attributes and their HTML implied equivalents, -browsers **_must_** ignore the explicit (redundant or conflicting) ARIA attribute – the native HTML attribute with their -[implied ARIA semantics](https://www.w3.org/TR/wai-aria-1.1/#implicit_semantics) take precedence. - -* To ensure that Assistive Technologies (AT) can gather information, -proper coding is required so that the end users can understand and interact with the content. -If standard HTML controls are created according to specification, -the conditions of this provision will be met. -For this reason, to avoid unintended consequences, -developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-*` attribute. +* Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) (or inputs with a missing or invalid type) that also have a [list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox (which in turn has an implicit aria-haspopup="listbox"); +therefore, developers should not explicitly assign the aria-haspopup attribute, which will be either redundant or possibly conflicting. +When HTML elements use both `aria-*` attributes and their HTML implied equivalents, browsers **_must_** ignore the explicit (redundant or conflicting) ARIA attribute – the native HTML attribute with their [implied ARIA semantics](https://www.w3.org/TR/wai-aria-1.1/#implicit_semantics) take precedence. + +* To ensure that Assistive Technologies (AT) can gather information, proper coding is required so that the end users can understand and interact with the content. +If standard HTML controls are created according to specification, the conditions of this provision will be met. +For this reason, to avoid unintended consequences, developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-*` attribute.
### What to do -* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  -[search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)),  -[tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)),  -[url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)),  -or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) +* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)). * **And/Or**, add input type if missing or correct the invalid input type.
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 ccf8b6ad3..790dcb92d 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/nls/index.ts @@ -1025,8 +1025,8 @@ let a11yNls = { "input_haspopup_invalid": { 0: " element with 'list' attribute should not also use 'aria-haspopup' attribute", "Pass_0": " element with 'list' attribute does not use 'aria-haspopup' attribute", - "Potential_1": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"{0}\"", - "Potential_2": " element with 'list' attribute also uses 'aria-haspopup' attribute on missing or invalid input type" + "Potential_1": " element with 'list' attribute also uses 'aria-haspopup' attribute with type=\"{0}\"", + "Potential_2": " element with 'list' attribute also uses 'aria-haspopup' attribute with missing or invalid input type" }, // JCH - DONE "WCAG21_Style_Viewport": { diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts b/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts index 239800541..8fba388ad 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/rules/rpt-combobox-rules.ts @@ -375,7 +375,7 @@ let a11yRulesCombobox: Rule[] = [ let attrValue = ruleContext.getAttribute("type"); //missing input type if (!attrValue) - return RuleFail("Potential_2"); + return RulePotential("Potential_2"); attrValue = attrValue.toLowerCase(); // ignore for no triggering input types @@ -384,10 +384,10 @@ let a11yRulesCombobox: Rule[] = [ // failure_1 if any triggering input types if (yesTypes.includes(attrValue)) - return RuleFail("Potential_1", [attrValue]); + return RulePotential("Potential_1", [attrValue]); //invalid input type - return RuleFail("Potential_2"); + return RulePotential("Potential_2"); } } From dbb022d6545fd66ef52523fa4916e3c6c887dd69 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 14:45:53 -0600 Subject: [PATCH 05/16] Improved mdx formatting --- .../help/input_haspopup_invalid.mdx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/accessibility-checker-engine/help/input_haspopup_invalid.mdx b/accessibility-checker-engine/help/input_haspopup_invalid.mdx index 4b0e48fd9..16637d8d1 100644 --- a/accessibility-checker-engine/help/input_haspopup_invalid.mdx +++ b/accessibility-checker-engine/help/input_haspopup_invalid.mdx @@ -21,20 +21,21 @@ The `` element with a `list` attribute **_should not_** also use a `aria- ### Why is this important? -* Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) (or inputs with a missing or invalid type) that also have a [list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox (which in turn has an implicit aria-haspopup="listbox"); -therefore, developers should not explicitly assign the aria-haspopup attribute, which will be either redundant or possibly conflicting. +* Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) (or inputs with a missing or invalid type) that also have a [list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox, which in turn has an implicit `aria-haspopup="listbox"`; +therefore, developers should not explicitly assign the `aria-haspopup` attribute, which will be either redundant or possibly conflicting. When HTML elements use both `aria-*` attributes and their HTML implied equivalents, browsers **_must_** ignore the explicit (redundant or conflicting) ARIA attribute – the native HTML attribute with their [implied ARIA semantics](https://www.w3.org/TR/wai-aria-1.1/#implicit_semantics) take precedence. * To ensure that Assistive Technologies (AT) can gather information, proper coding is required so that the end users can understand and interact with the content. If standard HTML controls are created according to specification, the conditions of this provision will be met. -For this reason, to avoid unintended consequences, developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-*` attribute. +For this reason, to avoid unintended consequences, developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-has-popup` attribute on the indicated inputs with a `list` attribute. +Otherwise, any global `aria-*` attributes and any other `aria-*` attributes applicable to the combobox role **_may_** be used.
### What to do -* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)). -* **And/Or**, add input type if missing or correct the invalid input type. +* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)). +* **And/Or**, add an input type if missing or correct the invalid input type. From 5de55d1a395f76c3959b7128919b3b92decae714 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 16:13:04 -0600 Subject: [PATCH 06/16] Encode %28 for '(' in URLs --- .../help/input_haspopup_invalid.mdx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/accessibility-checker-engine/help/input_haspopup_invalid.mdx b/accessibility-checker-engine/help/input_haspopup_invalid.mdx index 16637d8d1..12a29f6d7 100644 --- a/accessibility-checker-engine/help/input_haspopup_invalid.mdx +++ b/accessibility-checker-engine/help/input_haspopup_invalid.mdx @@ -21,7 +21,9 @@ The `` element with a `list` attribute **_should not_** also use a `aria- ### Why is this important? -* Input types of [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)) (or inputs with a missing or invalid type) that also have a [list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox, which in turn has an implicit `aria-haspopup="listbox"`; +* Input types of +[text](https://html.spec.whatwg.org/multipage/input.html#text-%28type=text%29-state-and-search-state-%28type=search%29), [search](https://html.spec.whatwg.org/multipage/input.html#text-%28type=text%29-state-and-search-state-%28type=search%29), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-%28type=tel%29), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-%28type=url%29), and [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-%28type=email%29) +(or inputs with a missing or invalid type) that also have a [list](https://html.spec.whatwg.org/multipage/input.html#attr-input-list) attribute have an implicit role of combobox, which in turn has an implicit `aria-haspopup="listbox"`; therefore, developers should not explicitly assign the `aria-haspopup` attribute, which will be either redundant or possibly conflicting. When HTML elements use both `aria-*` attributes and their HTML implied equivalents, browsers **_must_** ignore the explicit (redundant or conflicting) ARIA attribute – the native HTML attribute with their [implied ARIA semantics](https://www.w3.org/TR/wai-aria-1.1/#implicit_semantics) take precedence. @@ -34,7 +36,8 @@ Otherwise, any global `aria-*` attributes and any other `aria-*` attributes appl ### What to do -* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` [text](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [search](https://html.spec.whatwg.org/multipage/input.html#text-(type=text)-state-and-search-state-(type=search)), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-(type=tel)), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-(type=url)), or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-(type=email)). +* Remove the `aria-haspopup` attribute from the `` element that has a `list` attribute with input `type=` +[text](https://html.spec.whatwg.org/multipage/input.html#text-%28type=text%29-state-and-search-state-%28type=search%29), [search](https://html.spec.whatwg.org/multipage/input.html#text-%28type=text%29-state-and-search-state-%28type=search%29), [tel](https://html.spec.whatwg.org/multipage/input.html#telephone-state-%28type=tel%29), [url](https://html.spec.whatwg.org/multipage/input.html#url-state-%28type=url%29), or [email](https://html.spec.whatwg.org/multipage/input.html#e-mail-state-%28type=email%29). * **And/Or**, add an input type if missing or correct the invalid input type. From 837d933a21356d6d902cb04b48113bc49a73c41b Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 16:34:28 -0600 Subject: [PATCH 07/16] mdx formatting --- accessibility-checker-engine/help/input_haspopup_invalid.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker-engine/help/input_haspopup_invalid.mdx b/accessibility-checker-engine/help/input_haspopup_invalid.mdx index 12a29f6d7..137a6b9d4 100644 --- a/accessibility-checker-engine/help/input_haspopup_invalid.mdx +++ b/accessibility-checker-engine/help/input_haspopup_invalid.mdx @@ -29,7 +29,7 @@ When HTML elements use both `aria-*` attributes and their HTML implied equivalen * To ensure that Assistive Technologies (AT) can gather information, proper coding is required so that the end users can understand and interact with the content. If standard HTML controls are created according to specification, the conditions of this provision will be met. -For this reason, to avoid unintended consequences, developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-has-popup` attribute on the indicated inputs with a `list` attribute. +For this reason, to avoid unintended consequences, developers **_should not_** specify both the native HTML attribute and an equivalent (redundant or conflicting) `aria-haspopup` attribute on the indicated inputs with a `list` attribute. Otherwise, any global `aria-*` attributes and any other `aria-*` attributes applicable to the combobox role **_may_** be used.
From f5381142ba768cd04c70ddfa89aa5e140935fecf Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 17:55:26 -0600 Subject: [PATCH 08/16] missed changing 'on' to 'with' --- .../rules/input_haspopup_invalid_ruleunit/input_list.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index caf238320..6002c80c8 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -71,7 +71,7 @@ "aria": "/document[1]/main[1]/combobox[1]" }, "reasonId": "Potential_2", - "message": " element with 'list' attribute uses 'aria-haspopup' attribute on missing or invalid input type", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute with missing or invalid input type", "messageArgs": [], "apiArgs": [], "category": "Accessibility" @@ -87,7 +87,7 @@ "aria": "/document[1]/main[1]/combobox[2]" }, "reasonId": "Potential_1", - "message": " element with 'list' attribute also uses 'aria-haspopup' attribute on type=\"text\"", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute with type=\"text\"", "messageArgs": [ "text" ], @@ -99,4 +99,4 @@ - \ No newline at end of file + From fcd11e6d387a0c33a0e20d49093c6c05b9d6b783 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 17:57:33 -0600 Subject: [PATCH 09/16] missed changing "on" to "with" --- .../input_haspopup_invalid_ruleunit/input_list2.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html index 4fcd334c1..90984d2a9 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html @@ -72,7 +72,7 @@ "aria": "/document[1]/main[1]/combobox[1]" }, "reasonId": "Potential_1", - "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"search\"", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute with type=\"search\"", "messageArgs": [ "search" ], @@ -90,7 +90,7 @@ "aria": "/document[1]/main[1]/combobox[2]" }, "reasonId": "Potential_1", - "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"email\"", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute with type=\"email\"", "messageArgs": [ "email" ], @@ -108,7 +108,7 @@ "aria": "/document[1]/main[1]/combobox[3]" }, "reasonId": "Potential_1", - "message": " element with 'list' attribute uses 'aria-haspopup' attribute on type=\"tel\"", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute with type=\"tel\"", "messageArgs": [ "tel" ], @@ -126,7 +126,7 @@ "aria": "/document[1]/main[1]" }, "reasonId": "Potential_2", - "message": " element with 'list' attribute uses 'aria-haspopup' attribute on missing or invalid input type", + "message": " element with 'list' attribute also uses 'aria-haspopup' attribute with missing or invalid input type", "messageArgs": [], "apiArgs": [], "category": "Accessibility" @@ -136,4 +136,4 @@ - \ No newline at end of file + From 922b887fb2ad19e77a47d5a537ecb52b8a17c2ae Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 18:19:20 -0600 Subject: [PATCH 10/16] Potential violation to map to Needs review --- .../rules/input_haspopup_invalid_ruleunit/input_list.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index 6002c80c8..0a28f7455 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -63,8 +63,8 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "INFORMATION", - "FAIL" + "VIOLATION", + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[1]", @@ -79,8 +79,8 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "INFORMATION", - "FAIL" + "VIOLATION", + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[2]", From 1cc5940ec920510b7a18132f4f6f9464a6c3087d Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 18:21:33 -0600 Subject: [PATCH 11/16] Potential violation mapped to Needs review --- .../input_list2.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html index 90984d2a9..06d28ee56 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html @@ -64,8 +64,8 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "INFORMATION", - "FAIL" + "VIOLATION", + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[1]", @@ -82,8 +82,8 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "INFORMATION", - "FAIL" + "VIOLATION", + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[2]", @@ -100,8 +100,8 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "INFORMATION", - "FAIL" + "VIOLATION", + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[3]", @@ -118,8 +118,8 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "INFORMATION", - "FAIL" + "VIOLATION", + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[4]", From 44b7d9d2569792063bb69591a7bccf98cbe5389b Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 18:52:42 -0600 Subject: [PATCH 12/16] Changed POTENTIAL back to FAIL to test --- .../rules/input_haspopup_invalid_ruleunit/input_list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index 0a28f7455..03fab59c6 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -64,7 +64,7 @@ "ruleId": "input_haspopup_invalid", "value": [ "VIOLATION", - "POTENTIAL" + "FAIL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[1]", @@ -80,7 +80,7 @@ "ruleId": "input_haspopup_invalid", "value": [ "VIOLATION", - "POTENTIAL" + "FAIL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[2]", From 0f6590d85c6d984bcf5adb32c34be7094a6bbcf9 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 18:54:44 -0600 Subject: [PATCH 13/16] Changed POTENTIAL back to FAIL to test --- .../input_haspopup_invalid_ruleunit/input_list2.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html index 06d28ee56..54a55da8a 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html @@ -65,7 +65,7 @@ "ruleId": "input_haspopup_invalid", "value": [ "VIOLATION", - "POTENTIAL" + "FAIL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[1]", @@ -83,7 +83,7 @@ "ruleId": "input_haspopup_invalid", "value": [ "VIOLATION", - "POTENTIAL" + "FAIL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[2]", @@ -101,7 +101,7 @@ "ruleId": "input_haspopup_invalid", "value": [ "VIOLATION", - "POTENTIAL" + "FAIL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[3]", @@ -119,7 +119,7 @@ "ruleId": "input_haspopup_invalid", "value": [ "VIOLATION", - "POTENTIAL" + "FAIL" ], "path": { "dom": "/html[1]/body[1]/main[1]/input[4]", From 60df9dbfd33b26b0bd3acb0c8ea8caaf065dea95 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 20:32:53 -0600 Subject: [PATCH 14/16] Changed VIOLATION back to INFORMATION to test --- .../input_haspopup_invalid_ruleunit/input_list2.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html index 54a55da8a..90984d2a9 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list2.html @@ -64,7 +64,7 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "VIOLATION", + "INFORMATION", "FAIL" ], "path": { @@ -82,7 +82,7 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "VIOLATION", + "INFORMATION", "FAIL" ], "path": { @@ -100,7 +100,7 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "VIOLATION", + "INFORMATION", "FAIL" ], "path": { @@ -118,7 +118,7 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "VIOLATION", + "INFORMATION", "FAIL" ], "path": { From 701b2c307d06fdd85d0ed110889031840db26681 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 28 Feb 2022 20:34:21 -0600 Subject: [PATCH 15/16] Changed VIOLATION back to INFORMATION to test --- .../rules/input_haspopup_invalid_ruleunit/input_list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index 03fab59c6..6002c80c8 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -63,7 +63,7 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "VIOLATION", + "INFORMATION", "FAIL" ], "path": { @@ -79,7 +79,7 @@ { "ruleId": "input_haspopup_invalid", "value": [ - "VIOLATION", + "INFORMATION", "FAIL" ], "path": { From 4781bbe70d006254189efb4057a6c9a13d6e5778 Mon Sep 17 00:00:00 2001 From: Shunguo Yan Date: Tue, 1 Mar 2022 11:33:16 -0600 Subject: [PATCH 16/16] update the test cases --- .../rules/input_haspopup_invalid_ruleunit/input_list.html | 8 ++++---- .../input_haspopup_invalid_ruleunit/input_list2.html | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html index 6002c80c8..aaa424248 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/input_haspopup_invalid_ruleunit/input_list.html @@ -59,12 +59,12 @@