From a61b5aa234077753d7bc2f9b5b1559119301c915 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Mon, 2 Oct 2023 09:36:13 -0500 Subject: [PATCH 01/39] start the rule #1676 --- .../en-US/element_tabbable_unobscured.html | 117 ++++++++++++++++++ .../v4/rules/element_tabbable_unobscured.ts | 100 +++++++++++++++ 2 files changed, 217 insertions(+) create mode 100644 accessibility-checker-engine/help-v4/en-US/element_tabbable_unobscured.html create mode 100644 accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts diff --git a/accessibility-checker-engine/help-v4/en-US/element_tabbable_unobscured.html b/accessibility-checker-engine/help-v4/en-US/element_tabbable_unobscured.html new file mode 100644 index 000000000..d4d749dc6 --- /dev/null +++ b/accessibility-checker-engine/help-v4/en-US/element_tabbable_unobscured.html @@ -0,0 +1,117 @@ + + + + + + + + + + + + +
+
+
+ +

+ +
+ +

+
+
+
+
+ + + + +
+
+
+ + + +
+
+
+ + diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts new file mode 100644 index 000000000..f12fed433 --- /dev/null +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -0,0 +1,100 @@ +/****************************************************************************** + Copyright:: 2022- IBM, Inc + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + *****************************************************************************/ + +import { RPTUtil } from "../../v2/checker/accessibility/util/legacy"; +import { getDefinedStyles, getComputedStyle } from "../util/CSSUtil"; +import { Rule, RuleResult, RuleFail, RuleContext, RulePass, RuleContextHierarchy, RulePotential } from "../api/IRule"; +import { eRulePolicy, eToolkitLevel } from "../api/IRule"; + +export let element_tabbable_unobscured: Rule = { + id: "element_tabbable_unobscured", + context: "dom:*", + dependencies: [], + help: { + "en-US": { + "group": "element_tabbable_unobscured.html", + "pass": "element_tabbable_unobscured.html", + "potential_visible": "element_tabbable_unobscured.html" + } + }, + messages: { + "en-US": { + "group": "A tabbable element should be visible on the screen when it has keyboard focus", + "pass": "The tabbable element is visible on the screen", + "potential_visible": "Confirm the element should be tabbable, and is visible on the screen when it has keyboard focus" + } + }, + rulesets: [{ + id: ["WCAG_2_2"], + num: ["2.4.11"], + level: eRulePolicy.RECOMMENDATION, + toolkitLevel: eToolkitLevel.LEVEL_THREE + }], + act: [], + run: (context: RuleContext, options?: {}, contextHierarchies?: RuleContextHierarchy): RuleResult | RuleResult[] => { + const ruleContext = context["dom"].node as HTMLElement; + if (!RPTUtil.isTabbable(ruleContext)) + return null; + + const nodeName = ruleContext.nodeName.toLocaleLowerCase(); + const bounds = context["dom"].bounds; + //in case the bounds not available + if (!bounds) return null; + + // defined styles only give the styles that changed + const defined_styles = getDefinedStyles(ruleContext); + const onfocus_styles = getDefinedStyles(ruleContext, ":focus"); + + if (bounds['height'] === 0 || bounds['width'] === 0 + || (defined_styles['position']==='absolute' && defined_styles['clip'] && defined_styles['clip'].replaceAll(' ', '')==='rect(0px,0px,0px,0px)' + && !onfocus_styles['clip'])) + return RulePotential("potential_visible", []); + + if (bounds['top'] >= 0 && bounds['left'] >= 0) + return RulePass("pass"); + + const default_styles = getComputedStyle(ruleContext); + + let top = bounds['top']; + let left = bounds['left']; + + if (Object.keys(onfocus_styles).length === 0 ) { + // no onfocus position change, but could be changed from js + return RulePotential("potential_visible", []); + } else { + // with onfocus position change + var positions = ['absolute', 'fixed']; + if (typeof onfocus_styles['top'] !== 'undefined') { + if (positions.includes(onfocus_styles['position']) || (typeof onfocus_styles['position'] === 'undefined' && positions.includes(default_styles['position']))) { + top = onfocus_styles['top'].replace(/\D/g,''); + } else { + // the position is undefined and the parent's position is 'relative' + top = Number.MIN_VALUE; + } + } + if (typeof onfocus_styles['left'] !== 'undefined') { + if (positions.includes(onfocus_styles['position']) || (typeof onfocus_styles['position'] === 'undefined' && positions.includes(default_styles['position']))) { + left = onfocus_styles['left'].replace(/\D/g,''); + } else { + // the position is undefined and the parent's position is 'relative' + left = Number.MIN_VALUE; + } + } + } + + if (top >= 0 && left >= 0) + return RulePass("pass"); + else + return RulePotential("potential_visible", []); + } +} From 12a8f46338da304b71990fa368f01aef723b9931 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Wed, 4 Oct 2023 11:37:44 -0500 Subject: [PATCH 02/39] add initial test case and rule #1676 --- .../v4/rules/element_tabbable_unobscured.ts | 88 ++++---- .../src/v4/rules/index.ts | 1 + .../unobscured.html | 198 ++++++++++++++++++ 3 files changed, 237 insertions(+), 50 deletions(-) create mode 100755 accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index f12fed433..d4d8e8f5d 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -12,9 +12,10 @@ *****************************************************************************/ import { RPTUtil } from "../../v2/checker/accessibility/util/legacy"; -import { getDefinedStyles, getComputedStyle } from "../util/CSSUtil"; -import { Rule, RuleResult, RuleFail, RuleContext, RulePass, RuleContextHierarchy, RulePotential } from "../api/IRule"; +import { Rule, RuleResult, RuleContext, RulePass, RuleContextHierarchy, RulePotential } from "../api/IRule"; import { eRulePolicy, eToolkitLevel } from "../api/IRule"; +import { VisUtil } from "../../v2/dom/VisUtil"; +import { DOMMapper } from "../../v2/dom/DOMMapper"; export let element_tabbable_unobscured: Rule = { id: "element_tabbable_unobscured", @@ -24,77 +25,64 @@ export let element_tabbable_unobscured: Rule = { "en-US": { "group": "element_tabbable_unobscured.html", "pass": "element_tabbable_unobscured.html", - "potential_visible": "element_tabbable_unobscured.html" + "potential_obscured": "element_tabbable_unobscured.html" } }, messages: { "en-US": { - "group": "A tabbable element should be visible on the screen when it has keyboard focus", - "pass": "The tabbable element is visible on the screen", - "potential_visible": "Confirm the element should be tabbable, and is visible on the screen when it has keyboard focus" + "group": "When an element receives focus, it is not entirely covered by other content", + "pass": "The element is not entirely covered by other content", + "potential_obscured": "Confirm that when the element receives focus, it is not covered or, if covered by user action, can be uncovered without moving focus" } }, rulesets: [{ id: ["WCAG_2_2"], num: ["2.4.11"], - level: eRulePolicy.RECOMMENDATION, + level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE }], act: [], run: (context: RuleContext, options?: {}, contextHierarchies?: RuleContextHierarchy): RuleResult | RuleResult[] => { const ruleContext = context["dom"].node as HTMLElement; - if (!RPTUtil.isTabbable(ruleContext)) + if (!VisUtil.isNodeVisible(ruleContext) || (!RPTUtil.isTabbable(ruleContext) && (!ruleContext .hasAttribute("tabindex")|| parseInt(ruleContext.getAttribute("tabindex")) < 0))) return null; const nodeName = ruleContext.nodeName.toLocaleLowerCase(); - const bounds = context["dom"].bounds; + + //ignore certain elements + if (RPTUtil.getAncestor(ruleContext, ["pre", "code", "script", "meta"]) !== null + || nodeName === "body" || nodeName === "html" ) + return null; + + const bounds = context["dom"].bounds; + //in case the bounds not available if (!bounds) return null; - // defined styles only give the styles that changed - const defined_styles = getDefinedStyles(ruleContext); - const onfocus_styles = getDefinedStyles(ruleContext, ":focus"); - - if (bounds['height'] === 0 || bounds['width'] === 0 - || (defined_styles['position']==='absolute' && defined_styles['clip'] && defined_styles['clip'].replaceAll(' ', '')==='rect(0px,0px,0px,0px)' - && !onfocus_styles['clip'])) - return RulePotential("potential_visible", []); + //ignore if offscreen + if (bounds['height'] === 0 || bounds['width'] === 0 || bounds['top'] < 0 || bounds['left'] < 0) + return null; - if (bounds['top'] >= 0 && bounds['left'] >= 0) - return RulePass("pass"); - - const default_styles = getComputedStyle(ruleContext); - - let top = bounds['top']; - let left = bounds['left']; - - if (Object.keys(onfocus_styles).length === 0 ) { - // no onfocus position change, but could be changed from js - return RulePotential("potential_visible", []); - } else { - // with onfocus position change - var positions = ['absolute', 'fixed']; - if (typeof onfocus_styles['top'] !== 'undefined') { - if (positions.includes(onfocus_styles['position']) || (typeof onfocus_styles['position'] === 'undefined' && positions.includes(default_styles['position']))) { - top = onfocus_styles['top'].replace(/\D/g,''); - } else { - // the position is undefined and the parent's position is 'relative' - top = Number.MIN_VALUE; - } - } - if (typeof onfocus_styles['left'] !== 'undefined') { - if (positions.includes(onfocus_styles['position']) || (typeof onfocus_styles['position'] === 'undefined' && positions.includes(default_styles['position']))) { - left = onfocus_styles['left'].replace(/\D/g,''); - } else { - // the position is undefined and the parent's position is 'relative' - left = Number.MIN_VALUE; - } + let passed = true; + var elems = document.querySelectorAll('body *:not(' + nodeName +' *, ' + nodeName +')'); + if (!elems || elems.length == 0) + return; + + const mapper : DOMMapper = new DOMMapper(); + let violations = []; + elems.forEach(elem => { + // Skip hidden + if (VisUtil.isNodeVisible(elem)) { + const bnds = mapper.getBounds(elem); + if (bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height + && bnds.top + bnds.height >= bounds.left + bounds.width) + violations.push(elem); } - } + }); - if (top >= 0 && left >= 0) - return RulePass("pass"); - else + if (violations.length > 0) return RulePotential("potential_visible", []); + + return RulePass("pass"); } } diff --git a/accessibility-checker-engine/src/v4/rules/index.ts b/accessibility-checker-engine/src/v4/rules/index.ts index c368346e3..f9430b5e7 100644 --- a/accessibility-checker-engine/src/v4/rules/index.ts +++ b/accessibility-checker-engine/src/v4/rules/index.ts @@ -89,6 +89,7 @@ export * from "./element_mouseevent_keyboard" export * from "./element_orientation_unlocked" export * from "./element_scrollable_tabbable" export * from "./element_tabbable_role_valid" +export * from "./element_tabbable_unobscured" export * from "./element_tabbable_visible" export * from "./embed_alt_exists" export * from "./embed_noembed_exists" diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html new file mode 100755 index 000000000..03176d997 --- /dev/null +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html @@ -0,0 +1,198 @@ + + + + + + Using CSS margin and scroll-margin to un-obscure content + + + + +

Fixed-Position Banner

+
+
+
+
+

Header Content

+
+
+

Main Content

+
+

+ +

+ +

+ +

+ +

+ +

+
+ + +
+ + + + + + From 3d1ed9807cce0c8ce75fd6cdb492c0e5bd381ea0 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Wed, 4 Oct 2023 15:02:41 -0500 Subject: [PATCH 03/39] enable WCAG 2.2 #1676 --- .../src/v4/rules/a_target_warning.ts | 2 +- .../src/v4/rules/a_text_purpose.ts | 2 +- .../src/v4/rules/applet_alt_exists.ts | 2 +- .../rules/application_content_accessible.ts | 2 +- .../src/v4/rules/area_alt_exists.ts | 2 +- .../v4/rules/aria_accessiblename_exists.ts | 2 +- .../aria_activedescendant_tabindex_valid.ts | 2 +- .../v4/rules/aria_activedescendant_valid.ts | 2 +- .../v4/rules/aria_application_label_unique.ts | 2 +- .../src/v4/rules/aria_application_labelled.ts | 2 +- .../src/v4/rules/aria_article_label_unique.ts | 2 +- .../src/v4/rules/aria_attribute_allowed.ts | 2 +- .../src/v4/rules/aria_attribute_conflict.ts | 2 +- .../src/v4/rules/aria_attribute_exists.ts | 2 +- .../src/v4/rules/aria_attribute_redundant.ts | 2 +- .../src/v4/rules/aria_attribute_required.ts | 2 +- .../v4/rules/aria_attribute_value_valid.ts | 2 +- .../src/v4/rules/aria_banner_label_unique.ts | 2 +- .../src/v4/rules/aria_child_tabbable.ts | 2 +- .../src/v4/rules/aria_child_valid.ts | 2 +- .../rules/aria_complementary_label_unique.ts | 2 +- .../rules/aria_complementary_label_visible.ts | 2 +- .../v4/rules/aria_complementary_labelled.ts | 2 +- .../src/v4/rules/aria_content_in_landmark.ts | 2 +- .../v4/rules/aria_contentinfo_label_unique.ts | 2 +- .../src/v4/rules/aria_contentinfo_misuse.ts | 2 +- .../src/v4/rules/aria_contentinfo_single.ts | 2 +- .../src/v4/rules/aria_descendant_valid.ts | 2 +- .../v4/rules/aria_document_label_unique.ts | 2 +- .../v4/rules/aria_eventhandler_role_valid.ts | 2 +- .../src/v4/rules/aria_form_label_unique.ts | 2 +- .../src/v4/rules/aria_graphic_labelled.ts | 2 +- .../src/v4/rules/aria_hidden_nontabbable.ts | 2 +- .../src/v4/rules/aria_id_unique.ts | 2 +- .../src/v4/rules/aria_img_labelled.ts | 2 +- .../v4/rules/aria_keyboard_handler_exists.ts | 2 +- .../src/v4/rules/aria_landmark_name_unique.ts | 2 +- .../src/v4/rules/aria_main_label_unique.ts | 2 +- .../src/v4/rules/aria_main_label_visible.ts | 2 +- .../v4/rules/aria_navigation_label_unique.ts | 2 +- .../src/v4/rules/aria_parent_required.ts | 2 +- .../src/v4/rules/aria_region_label_unique.ts | 2 +- .../src/v4/rules/aria_region_labelled.ts | 2 +- .../src/v4/rules/aria_role_allowed.ts | 2 +- .../src/v4/rules/aria_search_label_unique.ts | 2 +- .../src/v4/rules/aria_semantics.ts | 4 +- .../src/v4/rules/aria_toolbar_label_unique.ts | 2 +- .../src/v4/rules/aria_widget_labelled.ts | 2 +- .../src/v4/rules/asciiart_alt_exists.ts | 2 +- .../src/v4/rules/blink_css_review.ts | 2 +- .../src/v4/rules/blink_elem_deprecated.ts | 2 +- .../src/v4/rules/blockquote_cite_exists.ts | 2 +- .../src/v4/rules/canvas_content_described.ts | 2 +- .../src/v4/rules/caption_track_exists.ts | 2 +- .../v4/rules/combobox_active_descendant.ts | 2 +- .../v4/rules/combobox_autocomplete_valid.ts | 2 +- .../src/v4/rules/combobox_design_valid.ts | 2 +- .../v4/rules/combobox_focusable_elements.ts | 2 +- .../src/v4/rules/combobox_haspopup_valid.ts | 2 +- .../src/v4/rules/combobox_popup_reference.ts | 2 +- .../src/v4/rules/dir_attribute_valid.ts | 2 +- .../rules/download_keyboard_controllable.ts | 2 +- .../v4/rules/element_accesskey_labelled.ts | 2 +- .../src/v4/rules/element_lang_valid.ts | 4 +- .../v4/rules/element_mouseevent_keyboard.ts | 2 +- .../v4/rules/element_orientation_unlocked.ts | 2 +- .../v4/rules/element_scrollable_tabbable.ts | 2 +- .../v4/rules/element_tabbable_role_valid.ts | 2 +- .../src/v4/rules/element_tabbable_visible.ts | 2 +- .../src/v4/rules/embed_alt_exists.ts | 2 +- .../src/v4/rules/embed_noembed_exists.ts | 2 +- .../src/v4/rules/emoticons_alt_exists.ts | 2 +- .../src/v4/rules/error_message_exists.ts | 2 +- .../src/v4/rules/fieldset_label_valid.ts | 2 +- .../src/v4/rules/fieldset_legend_valid.ts | 2 +- .../src/v4/rules/figure_label_exists.ts | 2 +- .../src/v4/rules/form_font_color.ts | 2 +- .../src/v4/rules/form_interaction_review.ts | 2 +- .../src/v4/rules/form_label_unique.ts | 2 +- .../src/v4/rules/form_submit_button_exists.ts | 2 +- .../src/v4/rules/form_submit_review.ts | 2 +- .../src/v4/rules/frame_src_valid.ts | 2 +- .../src/v4/rules/frame_title_exists.ts | 2 +- .../src/v4/rules/heading_content_exists.ts | 2 +- .../src/v4/rules/heading_markup_misuse.ts | 2 +- .../src/v4/rules/html_lang_exists.ts | 2 +- .../src/v4/rules/html_skipnav_exists.ts | 2 +- .../v4/rules/iframe_interactive_tabbable.ts | 2 +- .../src/v4/rules/imagebutton_alt_exists.ts | 2 +- .../src/v4/rules/imagemap_alt_exists.ts | 2 +- .../src/v4/rules/img_alt_background.ts | 2 +- .../src/v4/rules/img_alt_decorative.ts | 2 +- .../src/v4/rules/img_alt_misuse.ts | 2 +- .../src/v4/rules/img_alt_null.ts | 2 +- .../src/v4/rules/img_alt_redundant.ts | 2 +- .../src/v4/rules/img_alt_valid.ts | 2 +- .../src/v4/rules/img_ismap_misuse.ts | 2 +- .../src/v4/rules/img_longdesc_misuse.ts | 2 +- .../src/v4/rules/input_autocomplete_valid.ts | 2 +- .../src/v4/rules/input_checkboxes_grouped.ts | 2 +- .../src/v4/rules/input_fields_grouped.ts | 2 +- .../src/v4/rules/input_haspopup_conflict.ts | 2 +- .../src/v4/rules/input_label_after.ts | 2 +- .../src/v4/rules/input_label_exists.ts | 2 +- .../src/v4/rules/input_label_visible.ts | 2 +- .../src/v4/rules/input_onchange_review.ts | 2 +- .../rules/input_placeholder_label_visible.ts | 2 +- .../src/v4/rules/label_content_exists.ts | 2 +- .../src/v4/rules/label_name_visible.ts | 2 +- .../src/v4/rules/label_ref_valid.ts | 2 +- .../src/v4/rules/list_children_valid.ts | 2 +- .../src/v4/rules/list_markup_review.ts | 2 +- .../src/v4/rules/list_structure_proper.ts | 2 +- .../src/v4/rules/marquee_elem_avoid.ts | 2 +- .../src/v4/rules/media_alt_brief.ts | 2 +- .../src/v4/rules/media_alt_exists.ts | 2 +- .../src/v4/rules/media_audio_transcribed.ts | 2 +- .../v4/rules/media_autostart_controllable.ts | 2 +- .../v4/rules/media_keyboard_controllable.ts | 2 +- .../src/v4/rules/media_live_captioned.ts | 2 +- .../src/v4/rules/media_track_available.ts | 2 +- .../src/v4/rules/meta_redirect_optional.ts | 2 +- .../src/v4/rules/meta_refresh_delay.ts | 2 +- .../src/v4/rules/meta_viewport_zoomable.ts | 4 +- .../src/v4/rules/noembed_content_exists.ts | 2 +- .../src/v4/rules/object_text_exists.ts | 2 +- .../src/v4/rules/page_title_exists.ts | 2 +- .../src/v4/rules/page_title_valid.ts | 2 +- .../src/v4/rules/script_focus_blur_review.ts | 2 +- .../src/v4/rules/script_onclick_avoid.ts | 2 +- .../src/v4/rules/script_onclick_misuse.ts | 2 +- .../src/v4/rules/script_select_review.ts | 2 +- .../src/v4/rules/select_options_grouped.ts | 2 +- .../src/v4/rules/skip_main_described.ts | 2 +- .../src/v4/rules/skip_main_exists.ts | 2 +- .../v4/rules/style_background_decorative.ts | 2 +- .../src/v4/rules/style_before_after_review.ts | 2 +- .../src/v4/rules/style_color_misuse.ts | 2 +- .../src/v4/rules/style_focus_visible.ts | 2 +- .../v4/rules/style_highcontrast_visible.ts | 2 +- .../src/v4/rules/style_hover_persistent.ts | 2 +- .../src/v4/rules/style_viewport_resizable.ts | 2 +- .../src/v4/rules/table_aria_descendants.ts | 2 +- .../src/v4/rules/table_caption_empty.ts | 2 +- .../src/v4/rules/table_caption_nested.ts | 2 +- .../src/v4/rules/table_headers_exists.ts | 2 +- .../src/v4/rules/table_headers_ref_valid.ts | 2 +- .../src/v4/rules/table_headers_related.ts | 2 +- .../src/v4/rules/table_layout_linearized.ts | 2 +- .../src/v4/rules/table_scope_valid.ts | 2 +- .../src/v4/rules/table_structure_misuse.ts | 2 +- .../src/v4/rules/table_summary_redundant.ts | 2 +- .../src/v4/rules/text_block_heading.ts | 2 +- .../src/v4/rules/text_contrast_sufficient.ts | 2 +- .../src/v4/rules/text_quoted_correctly.ts | 2 +- .../src/v4/rules/text_sensory_misuse.ts | 2 +- .../src/v4/rules/text_spacing_valid.ts | 2 +- .../src/v4/rules/text_whitespace_valid.ts | 2 +- .../src/v4/rules/widget_tabbable_exists.ts | 2 +- .../src/v4/rules/widget_tabbable_single.ts | 2 +- .../src/v4/rulesets.ts | 17 +++++ .../src/v4/sc-urls.json | 12 ++++ .../unobscured.html | 63 ++++++------------- 163 files changed, 212 insertions(+), 206 deletions(-) diff --git a/accessibility-checker-engine/src/v4/rules/a_target_warning.ts b/accessibility-checker-engine/src/v4/rules/a_target_warning.ts index 01d4277a8..f502d9deb 100644 --- a/accessibility-checker-engine/src/v4/rules/a_target_warning.ts +++ b/accessibility-checker-engine/src/v4/rules/a_target_warning.ts @@ -40,7 +40,7 @@ export let a_target_warning: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "3.2.2", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.RECOMMENDATION, toolkitLevel: eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/a_text_purpose.ts b/accessibility-checker-engine/src/v4/rules/a_text_purpose.ts index 25253a98f..1362c20be 100644 --- a/accessibility-checker-engine/src/v4/rules/a_text_purpose.ts +++ b/accessibility-checker-engine/src/v4/rules/a_text_purpose.ts @@ -42,7 +42,7 @@ export let a_text_purpose: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "2.4.4", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/applet_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/applet_alt_exists.ts index 0b1f1e4a0..64f126717 100644 --- a/accessibility-checker-engine/src/v4/rules/applet_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/applet_alt_exists.ts @@ -46,7 +46,7 @@ export let applet_alt_exists: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "1.1.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/application_content_accessible.ts b/accessibility-checker-engine/src/v4/rules/application_content_accessible.ts index 619ef7901..3f289a46d 100644 --- a/accessibility-checker-engine/src/v4/rules/application_content_accessible.ts +++ b/accessibility-checker-engine/src/v4/rules/application_content_accessible.ts @@ -41,7 +41,7 @@ export let application_content_accessible: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "2.1.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/area_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/area_alt_exists.ts index 5663f6ca2..7cdea8caf 100644 --- a/accessibility-checker-engine/src/v4/rules/area_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/area_alt_exists.ts @@ -40,7 +40,7 @@ export let area_alt_exists: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "1.1.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts b/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts index 0d8f099f5..bf7708bb5 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts @@ -36,7 +36,7 @@ export let aria_accessiblename_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", , "WCAG_2_0"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_activedescendant_tabindex_valid.ts b/accessibility-checker-engine/src/v4/rules/aria_activedescendant_tabindex_valid.ts index 852ad46aa..9d280c3de 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_activedescendant_tabindex_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_activedescendant_tabindex_valid.ts @@ -38,7 +38,7 @@ export let aria_activedescendant_tabindex_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_activedescendant_valid.ts b/accessibility-checker-engine/src/v4/rules/aria_activedescendant_valid.ts index d3cc0a502..24fc5628f 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_activedescendant_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_activedescendant_valid.ts @@ -50,7 +50,7 @@ export let aria_activedescendant_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_application_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_application_label_unique.ts index 4bbd503e9..9a6422279 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_application_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_application_label_unique.ts @@ -39,7 +39,7 @@ export let aria_application_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_application_labelled.ts b/accessibility-checker-engine/src/v4/rules/aria_application_labelled.ts index 3e23da13b..2cb3df610 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_application_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_application_labelled.ts @@ -39,7 +39,7 @@ export let aria_application_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_article_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_article_label_unique.ts index e907285a6..50acf344b 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_article_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_article_label_unique.ts @@ -39,7 +39,7 @@ export let aria_article_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_attribute_allowed.ts b/accessibility-checker-engine/src/v4/rules/aria_attribute_allowed.ts index 22ec54032..a5a085bc2 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_attribute_allowed.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_attribute_allowed.ts @@ -40,7 +40,7 @@ export let aria_attribute_allowed: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "4.1.2", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_attribute_conflict.ts b/accessibility-checker-engine/src/v4/rules/aria_attribute_conflict.ts index 9287cc1d3..e80a5cdbd 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_attribute_conflict.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_attribute_conflict.ts @@ -36,7 +36,7 @@ export let aria_attribute_conflict: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_attribute_exists.ts b/accessibility-checker-engine/src/v4/rules/aria_attribute_exists.ts index 70a5b07d0..e1c117dc2 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_attribute_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_attribute_exists.ts @@ -42,7 +42,7 @@ export let aria_attribute_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_attribute_redundant.ts b/accessibility-checker-engine/src/v4/rules/aria_attribute_redundant.ts index 296553cfc..28049956a 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_attribute_redundant.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_attribute_redundant.ts @@ -37,7 +37,7 @@ export let aria_attribute_redundant: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_attribute_required.ts b/accessibility-checker-engine/src/v4/rules/aria_attribute_required.ts index f56a4f1f9..0d256384b 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_attribute_required.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_attribute_required.ts @@ -42,7 +42,7 @@ export let aria_attribute_required: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "4.1.2", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_attribute_value_valid.ts b/accessibility-checker-engine/src/v4/rules/aria_attribute_value_valid.ts index bf4850d74..ca0551213 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_attribute_value_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_attribute_value_valid.ts @@ -41,7 +41,7 @@ export let aria_attribute_value_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_banner_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_banner_label_unique.ts index a847a1a37..30b35a7ad 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_banner_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_banner_label_unique.ts @@ -39,7 +39,7 @@ export let aria_banner_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_child_tabbable.ts b/accessibility-checker-engine/src/v4/rules/aria_child_tabbable.ts index bcc423565..c1c26f542 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_child_tabbable.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_child_tabbable.ts @@ -41,7 +41,7 @@ export let aria_child_tabbable: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_child_valid.ts b/accessibility-checker-engine/src/v4/rules/aria_child_valid.ts index 16b5c6d54..aa6740e9b 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_child_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_child_valid.ts @@ -39,7 +39,7 @@ export let aria_child_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_complementary_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_complementary_label_unique.ts index 1607a1303..8724a6f9d 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_complementary_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_complementary_label_unique.ts @@ -39,7 +39,7 @@ export let aria_complementary_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_complementary_label_visible.ts b/accessibility-checker-engine/src/v4/rules/aria_complementary_label_visible.ts index 2e6caab35..0ea9ff8e2 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_complementary_label_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_complementary_label_visible.ts @@ -39,7 +39,7 @@ export let aria_complementary_label_visible: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_complementary_labelled.ts b/accessibility-checker-engine/src/v4/rules/aria_complementary_labelled.ts index 714de550f..ffb85e852 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_complementary_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_complementary_labelled.ts @@ -39,7 +39,7 @@ export let aria_complementary_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_content_in_landmark.ts b/accessibility-checker-engine/src/v4/rules/aria_content_in_landmark.ts index ff9c7efc0..8fe502d87 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_content_in_landmark.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_content_in_landmark.ts @@ -47,7 +47,7 @@ export let aria_content_in_landmark: Rule = { "toolkitLevel": eToolkitLevel.LEVEL_THREE }, { - "id": ["WCAG_2_1", "WCAG_2_0"], + "id": ["WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_contentinfo_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_contentinfo_label_unique.ts index a9018a61d..e19996f05 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_contentinfo_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_contentinfo_label_unique.ts @@ -39,7 +39,7 @@ export let aria_contentinfo_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_contentinfo_misuse.ts b/accessibility-checker-engine/src/v4/rules/aria_contentinfo_misuse.ts index 9f0648eab..4ad8130d1 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_contentinfo_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_contentinfo_misuse.ts @@ -39,7 +39,7 @@ export let aria_contentinfo_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_contentinfo_single.ts b/accessibility-checker-engine/src/v4/rules/aria_contentinfo_single.ts index e8a1aa97f..11ec4907a 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_contentinfo_single.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_contentinfo_single.ts @@ -38,7 +38,7 @@ export let aria_contentinfo_single: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_descendant_valid.ts b/accessibility-checker-engine/src/v4/rules/aria_descendant_valid.ts index 3270fa2bc..a39535a0d 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_descendant_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_descendant_valid.ts @@ -37,7 +37,7 @@ export let aria_descendant_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_document_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_document_label_unique.ts index 2a98dd50f..998ccac94 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_document_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_document_label_unique.ts @@ -39,7 +39,7 @@ export let aria_document_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_eventhandler_role_valid.ts b/accessibility-checker-engine/src/v4/rules/aria_eventhandler_role_valid.ts index 8d945c899..12dbd1c12 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_eventhandler_role_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_eventhandler_role_valid.ts @@ -38,7 +38,7 @@ export let aria_eventhandler_role_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_form_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_form_label_unique.ts index c1a53fc3a..9b261378c 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_form_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_form_label_unique.ts @@ -39,7 +39,7 @@ export let aria_form_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_graphic_labelled.ts b/accessibility-checker-engine/src/v4/rules/aria_graphic_labelled.ts index ab313d085..f15d8d3a0 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_graphic_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_graphic_labelled.ts @@ -46,7 +46,7 @@ export let aria_graphic_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], /*Change mapping to 1.1.1 from 4.1.2 */ "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_hidden_nontabbable.ts b/accessibility-checker-engine/src/v4/rules/aria_hidden_nontabbable.ts index 580a494c9..027be9973 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_hidden_nontabbable.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_hidden_nontabbable.ts @@ -39,7 +39,7 @@ export let aria_hidden_nontabbable: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: ["1.3.1", "4.1.2"], // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/aria_id_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_id_unique.ts index b6546dd9a..1e1ec3904 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_id_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_id_unique.ts @@ -41,7 +41,7 @@ export let aria_id_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_img_labelled.ts b/accessibility-checker-engine/src/v4/rules/aria_img_labelled.ts index e155683bf..cf3736ac6 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_img_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_img_labelled.ts @@ -46,7 +46,7 @@ export let aria_img_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], /*Change mapping to 1.1.1 from 4.1.2 */ "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_keyboard_handler_exists.ts b/accessibility-checker-engine/src/v4/rules/aria_keyboard_handler_exists.ts index e2a91b18a..34e91e44d 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_keyboard_handler_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_keyboard_handler_exists.ts @@ -40,7 +40,7 @@ export let aria_keyboard_handler_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_landmark_name_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_landmark_name_unique.ts index e8dc21b7f..1022a5b8c 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_landmark_name_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_landmark_name_unique.ts @@ -47,7 +47,7 @@ export let aria_landmark_name_unique: Rule = { "toolkitLevel": eToolkitLevel.LEVEL_THREE }, { - "id": ["WCAG_2_1", "WCAG_2_0"], + "id": ["WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_main_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_main_label_unique.ts index 85ee695ad..7a5878fda 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_main_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_main_label_unique.ts @@ -38,7 +38,7 @@ export let aria_main_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_main_label_visible.ts b/accessibility-checker-engine/src/v4/rules/aria_main_label_visible.ts index 2f001c990..8e8cae7ab 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_main_label_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_main_label_visible.ts @@ -38,7 +38,7 @@ export let aria_main_label_visible: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_navigation_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_navigation_label_unique.ts index bdbf7552f..d2f508fda 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_navigation_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_navigation_label_unique.ts @@ -39,7 +39,7 @@ export let aria_navigation_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_parent_required.ts b/accessibility-checker-engine/src/v4/rules/aria_parent_required.ts index d28363ae1..b3a7d2226 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_parent_required.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_parent_required.ts @@ -42,7 +42,7 @@ export let aria_parent_required: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_region_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_region_label_unique.ts index 0bd8c5a40..603d1cf47 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_region_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_region_label_unique.ts @@ -39,7 +39,7 @@ export let aria_region_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_region_labelled.ts b/accessibility-checker-engine/src/v4/rules/aria_region_labelled.ts index 08a6a74c4..976fabc54 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_region_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_region_labelled.ts @@ -42,7 +42,7 @@ export let aria_region_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_role_allowed.ts b/accessibility-checker-engine/src/v4/rules/aria_role_allowed.ts index 7d228b3c5..634de7e9e 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_role_allowed.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_role_allowed.ts @@ -43,7 +43,7 @@ export let aria_role_allowed: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "4.1.2", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_search_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_search_label_unique.ts index 316e18dd9..cde61e6c5 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_search_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_search_label_unique.ts @@ -39,7 +39,7 @@ export let aria_search_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/aria_semantics.ts b/accessibility-checker-engine/src/v4/rules/aria_semantics.ts index 4426eef90..594616572 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_semantics.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_semantics.ts @@ -44,7 +44,7 @@ export let aria_role_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE @@ -130,7 +130,7 @@ export let aria_attribute_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_toolbar_label_unique.ts b/accessibility-checker-engine/src/v4/rules/aria_toolbar_label_unique.ts index 4da8a36ac..4b077e89e 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_toolbar_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_toolbar_label_unique.ts @@ -39,7 +39,7 @@ export let aria_toolbar_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/aria_widget_labelled.ts b/accessibility-checker-engine/src/v4/rules/aria_widget_labelled.ts index af5935fd4..03c96a2a8 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_widget_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_widget_labelled.ts @@ -43,7 +43,7 @@ export let aria_widget_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/asciiart_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/asciiart_alt_exists.ts index b91e25ef0..d79c9c48e 100644 --- a/accessibility-checker-engine/src/v4/rules/asciiart_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/asciiart_alt_exists.ts @@ -40,7 +40,7 @@ export let asciiart_alt_exists: Rule = { /** * Decision in planning 9/7/23 that this rule causes more reviews that we see actual problems in content, so turn these rules off rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/blink_css_review.ts b/accessibility-checker-engine/src/v4/rules/blink_css_review.ts index 5865f07f1..db456f319 100644 --- a/accessibility-checker-engine/src/v4/rules/blink_css_review.ts +++ b/accessibility-checker-engine/src/v4/rules/blink_css_review.ts @@ -39,7 +39,7 @@ export let blink_css_review: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "2.2.2", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/blink_elem_deprecated.ts b/accessibility-checker-engine/src/v4/rules/blink_elem_deprecated.ts index 100e9f4f6..5d2b4cdae 100644 --- a/accessibility-checker-engine/src/v4/rules/blink_elem_deprecated.ts +++ b/accessibility-checker-engine/src/v4/rules/blink_elem_deprecated.ts @@ -38,7 +38,7 @@ export let blink_elem_deprecated: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "2.2.2", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/blockquote_cite_exists.ts b/accessibility-checker-engine/src/v4/rules/blockquote_cite_exists.ts index 2ec4ed034..37760e2c7 100644 --- a/accessibility-checker-engine/src/v4/rules/blockquote_cite_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/blockquote_cite_exists.ts @@ -38,7 +38,7 @@ export let blockquote_cite_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/canvas_content_described.ts b/accessibility-checker-engine/src/v4/rules/canvas_content_described.ts index e2ee3a7c4..24f422156 100644 --- a/accessibility-checker-engine/src/v4/rules/canvas_content_described.ts +++ b/accessibility-checker-engine/src/v4/rules/canvas_content_described.ts @@ -38,7 +38,7 @@ export let canvas_content_described: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1", "4.1.2"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/caption_track_exists.ts b/accessibility-checker-engine/src/v4/rules/caption_track_exists.ts index 4ff68cb60..90df4707c 100644 --- a/accessibility-checker-engine/src/v4/rules/caption_track_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/caption_track_exists.ts @@ -37,7 +37,7 @@ export let caption_track_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.2.1", "1.2.2", "1.2.4"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/combobox_active_descendant.ts b/accessibility-checker-engine/src/v4/rules/combobox_active_descendant.ts index f21e2f8a4..71a68b2e9 100644 --- a/accessibility-checker-engine/src/v4/rules/combobox_active_descendant.ts +++ b/accessibility-checker-engine/src/v4/rules/combobox_active_descendant.ts @@ -43,7 +43,7 @@ export let combobox_active_descendant: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/combobox_autocomplete_valid.ts b/accessibility-checker-engine/src/v4/rules/combobox_autocomplete_valid.ts index 977d8b897..3a6878120 100644 --- a/accessibility-checker-engine/src/v4/rules/combobox_autocomplete_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/combobox_autocomplete_valid.ts @@ -44,7 +44,7 @@ export let combobox_autocomplete_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/combobox_design_valid.ts b/accessibility-checker-engine/src/v4/rules/combobox_design_valid.ts index 6fc846903..965ad4728 100644 --- a/accessibility-checker-engine/src/v4/rules/combobox_design_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/combobox_design_valid.ts @@ -61,7 +61,7 @@ export let combobox_design_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/combobox_focusable_elements.ts b/accessibility-checker-engine/src/v4/rules/combobox_focusable_elements.ts index b4f9b582c..35fa54cce 100644 --- a/accessibility-checker-engine/src/v4/rules/combobox_focusable_elements.ts +++ b/accessibility-checker-engine/src/v4/rules/combobox_focusable_elements.ts @@ -38,7 +38,7 @@ export let combobox_focusable_elements: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/combobox_haspopup_valid.ts b/accessibility-checker-engine/src/v4/rules/combobox_haspopup_valid.ts index 61e00cd39..bcfe9ba17 100644 --- a/accessibility-checker-engine/src/v4/rules/combobox_haspopup_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/combobox_haspopup_valid.ts @@ -43,7 +43,7 @@ export let combobox_haspopup_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/combobox_popup_reference.ts b/accessibility-checker-engine/src/v4/rules/combobox_popup_reference.ts index fecfa1208..b491a88a8 100644 --- a/accessibility-checker-engine/src/v4/rules/combobox_popup_reference.ts +++ b/accessibility-checker-engine/src/v4/rules/combobox_popup_reference.ts @@ -52,7 +52,7 @@ export let combobox_popup_reference: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/dir_attribute_valid.ts b/accessibility-checker-engine/src/v4/rules/dir_attribute_valid.ts index 780455644..11a2272f9 100644 --- a/accessibility-checker-engine/src/v4/rules/dir_attribute_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/dir_attribute_valid.ts @@ -38,7 +38,7 @@ export let dir_attribute_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/download_keyboard_controllable.ts b/accessibility-checker-engine/src/v4/rules/download_keyboard_controllable.ts index d12c71bc3..90ed0861c 100644 --- a/accessibility-checker-engine/src/v4/rules/download_keyboard_controllable.ts +++ b/accessibility-checker-engine/src/v4/rules/download_keyboard_controllable.ts @@ -39,7 +39,7 @@ export let download_keyboard_controllable: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.1.2"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/element_accesskey_labelled.ts b/accessibility-checker-engine/src/v4/rules/element_accesskey_labelled.ts index 6ba339f87..0481b054d 100644 --- a/accessibility-checker-engine/src/v4/rules/element_accesskey_labelled.ts +++ b/accessibility-checker-engine/src/v4/rules/element_accesskey_labelled.ts @@ -39,7 +39,7 @@ export let element_accesskey_labelled: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.3.2"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/element_lang_valid.ts b/accessibility-checker-engine/src/v4/rules/element_lang_valid.ts index 3dc70ab41..dfe3f2a76 100644 --- a/accessibility-checker-engine/src/v4/rules/element_lang_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/element_lang_valid.ts @@ -74,7 +74,7 @@ export let html_lang_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE @@ -141,7 +141,7 @@ export let element_lang_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/element_mouseevent_keyboard.ts b/accessibility-checker-engine/src/v4/rules/element_mouseevent_keyboard.ts index 8e223bc0d..b8aaa03b7 100644 --- a/accessibility-checker-engine/src/v4/rules/element_mouseevent_keyboard.ts +++ b/accessibility-checker-engine/src/v4/rules/element_mouseevent_keyboard.ts @@ -38,7 +38,7 @@ export let element_mouseevent_keyboard: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/element_orientation_unlocked.ts b/accessibility-checker-engine/src/v4/rules/element_orientation_unlocked.ts index c44138814..60e171653 100644 --- a/accessibility-checker-engine/src/v4/rules/element_orientation_unlocked.ts +++ b/accessibility-checker-engine/src/v4/rules/element_orientation_unlocked.ts @@ -37,7 +37,7 @@ export let element_orientation_unlocked: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.4"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/element_scrollable_tabbable.ts b/accessibility-checker-engine/src/v4/rules/element_scrollable_tabbable.ts index 93f218fe2..ac634f7e4 100644 --- a/accessibility-checker-engine/src/v4/rules/element_scrollable_tabbable.ts +++ b/accessibility-checker-engine/src/v4/rules/element_scrollable_tabbable.ts @@ -38,7 +38,7 @@ export let element_scrollable_tabbable: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + id: ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], num: ["2.1.1"], level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_role_valid.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_role_valid.ts index bf6224793..e0b9b3c2b 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_role_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_role_valid.ts @@ -43,7 +43,7 @@ export let element_tabbable_role_valid: Rule = { "toolkitLevel": eToolkitLevel.LEVEL_ONE }, { - "id": ["WCAG_2_1", "WCAG_2_0"], + "id": ["WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_visible.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_visible.ts index 17d74a87f..9a0f6d5b1 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_visible.ts @@ -35,7 +35,7 @@ export let element_tabbable_visible: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + id: ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], num: ["2.4.7"], level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/embed_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/embed_alt_exists.ts index 7518d9afb..e1b01bd89 100644 --- a/accessibility-checker-engine/src/v4/rules/embed_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/embed_alt_exists.ts @@ -39,7 +39,7 @@ export let embed_alt_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_FOUR diff --git a/accessibility-checker-engine/src/v4/rules/embed_noembed_exists.ts b/accessibility-checker-engine/src/v4/rules/embed_noembed_exists.ts index cd5bc25fe..d39d14595 100644 --- a/accessibility-checker-engine/src/v4/rules/embed_noembed_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/embed_noembed_exists.ts @@ -38,7 +38,7 @@ export let embed_noembed_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_FOUR diff --git a/accessibility-checker-engine/src/v4/rules/emoticons_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/emoticons_alt_exists.ts index 5e0caedca..8fc677811 100644 --- a/accessibility-checker-engine/src/v4/rules/emoticons_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/emoticons_alt_exists.ts @@ -41,7 +41,7 @@ export let emoticons_alt_exists: Rule = { * Decision in planning 9/7/23 that this rule causes more reviews that we see actual problems in content, so turn these rules off rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/error_message_exists.ts b/accessibility-checker-engine/src/v4/rules/error_message_exists.ts index 47918844a..23e334744 100644 --- a/accessibility-checker-engine/src/v4/rules/error_message_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/error_message_exists.ts @@ -43,7 +43,7 @@ export let error_message_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/fieldset_label_valid.ts b/accessibility-checker-engine/src/v4/rules/fieldset_label_valid.ts index 3f51bf47a..5ce78e48a 100644 --- a/accessibility-checker-engine/src/v4/rules/fieldset_label_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/fieldset_label_valid.ts @@ -45,7 +45,7 @@ export let fieldset_label_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1", "3.3.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/fieldset_legend_valid.ts b/accessibility-checker-engine/src/v4/rules/fieldset_legend_valid.ts index 3edf55ff8..0f0cd5d0e 100644 --- a/accessibility-checker-engine/src/v4/rules/fieldset_legend_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/fieldset_legend_valid.ts @@ -44,7 +44,7 @@ export let fieldset_legend_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], //https://www.w3.org/WAI/WCAG22/Techniques/html/H71 "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/figure_label_exists.ts b/accessibility-checker-engine/src/v4/rules/figure_label_exists.ts index 68ceb9044..aa2349f51 100644 --- a/accessibility-checker-engine/src/v4/rules/figure_label_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/figure_label_exists.ts @@ -39,7 +39,7 @@ export let figure_label_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/form_font_color.ts b/accessibility-checker-engine/src/v4/rules/form_font_color.ts index 3bd29cead..ca7548901 100644 --- a/accessibility-checker-engine/src/v4/rules/form_font_color.ts +++ b/accessibility-checker-engine/src/v4/rules/form_font_color.ts @@ -38,7 +38,7 @@ export let form_font_color: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/form_interaction_review.ts b/accessibility-checker-engine/src/v4/rules/form_interaction_review.ts index dcad22c67..4c9cf0e1c 100644 --- a/accessibility-checker-engine/src/v4/rules/form_interaction_review.ts +++ b/accessibility-checker-engine/src/v4/rules/form_interaction_review.ts @@ -38,7 +38,7 @@ export let form_interaction_review: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.2.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/form_label_unique.ts b/accessibility-checker-engine/src/v4/rules/form_label_unique.ts index e96fb8318..c09c51bfd 100644 --- a/accessibility-checker-engine/src/v4/rules/form_label_unique.ts +++ b/accessibility-checker-engine/src/v4/rules/form_label_unique.ts @@ -39,7 +39,7 @@ export let form_label_unique: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/form_submit_button_exists.ts b/accessibility-checker-engine/src/v4/rules/form_submit_button_exists.ts index 7811a1006..2a9f2cfd5 100644 --- a/accessibility-checker-engine/src/v4/rules/form_submit_button_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/form_submit_button_exists.ts @@ -38,7 +38,7 @@ export let form_submit_button_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.2.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/form_submit_review.ts b/accessibility-checker-engine/src/v4/rules/form_submit_review.ts index cc97b13b8..c589b76f9 100644 --- a/accessibility-checker-engine/src/v4/rules/form_submit_review.ts +++ b/accessibility-checker-engine/src/v4/rules/form_submit_review.ts @@ -38,7 +38,7 @@ export let form_submit_review: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.2.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/frame_src_valid.ts b/accessibility-checker-engine/src/v4/rules/frame_src_valid.ts index c5f6f34cd..32ca6fc5c 100644 --- a/accessibility-checker-engine/src/v4/rules/frame_src_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/frame_src_valid.ts @@ -39,7 +39,7 @@ export let frame_src_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/frame_title_exists.ts b/accessibility-checker-engine/src/v4/rules/frame_title_exists.ts index c09d7074e..ec533b731 100644 --- a/accessibility-checker-engine/src/v4/rules/frame_title_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/frame_title_exists.ts @@ -40,7 +40,7 @@ export let frame_title_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], /*Change mapping to 4.1.2 from 2.4.1 typo? */ "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/heading_content_exists.ts b/accessibility-checker-engine/src/v4/rules/heading_content_exists.ts index b8c473975..9e208953f 100644 --- a/accessibility-checker-engine/src/v4/rules/heading_content_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/heading_content_exists.ts @@ -38,7 +38,7 @@ export let heading_content_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.6"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/heading_markup_misuse.ts b/accessibility-checker-engine/src/v4/rules/heading_markup_misuse.ts index cdf9eae63..5117dc50b 100644 --- a/accessibility-checker-engine/src/v4/rules/heading_markup_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/heading_markup_misuse.ts @@ -39,7 +39,7 @@ export let heading_markup_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/html_lang_exists.ts b/accessibility-checker-engine/src/v4/rules/html_lang_exists.ts index 727ffda45..8db7c3faa 100644 --- a/accessibility-checker-engine/src/v4/rules/html_lang_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/html_lang_exists.ts @@ -58,7 +58,7 @@ export let html_lang_exists: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "3.1.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/html_skipnav_exists.ts b/accessibility-checker-engine/src/v4/rules/html_skipnav_exists.ts index 55421bf87..d858b5abc 100644 --- a/accessibility-checker-engine/src/v4/rules/html_skipnav_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/html_skipnav_exists.ts @@ -40,7 +40,7 @@ export let html_skipnav_exists: Rule = { } }, rulesets: [{ - id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: [ "IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "2.4.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/iframe_interactive_tabbable.ts b/accessibility-checker-engine/src/v4/rules/iframe_interactive_tabbable.ts index 837ce330f..6c46b7052 100644 --- a/accessibility-checker-engine/src/v4/rules/iframe_interactive_tabbable.ts +++ b/accessibility-checker-engine/src/v4/rules/iframe_interactive_tabbable.ts @@ -35,7 +35,7 @@ export let iframe_interactive_tabbable: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + id: ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], num: ["2.1.1"], level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/imagebutton_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/imagebutton_alt_exists.ts index fd48bc709..360d21b90 100644 --- a/accessibility-checker-engine/src/v4/rules/imagebutton_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/imagebutton_alt_exists.ts @@ -44,7 +44,7 @@ export let imagebutton_alt_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/imagemap_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/imagemap_alt_exists.ts index 36b2a6a94..35b459a3d 100644 --- a/accessibility-checker-engine/src/v4/rules/imagemap_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/imagemap_alt_exists.ts @@ -39,7 +39,7 @@ export let imagemap_alt_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_background.ts b/accessibility-checker-engine/src/v4/rules/img_alt_background.ts index 4df64ef49..fdc240036 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_background.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_background.ts @@ -38,7 +38,7 @@ export let img_alt_background: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_decorative.ts b/accessibility-checker-engine/src/v4/rules/img_alt_decorative.ts index fa9608486..cb57ca143 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_decorative.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_decorative.ts @@ -39,7 +39,7 @@ export let img_alt_decorative: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_misuse.ts b/accessibility-checker-engine/src/v4/rules/img_alt_misuse.ts index 146fc90f2..25dc37d66 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_misuse.ts @@ -38,7 +38,7 @@ export let img_alt_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_null.ts b/accessibility-checker-engine/src/v4/rules/img_alt_null.ts index 6ae368ac9..f3eabe583 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_null.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_null.ts @@ -39,7 +39,7 @@ export let img_alt_null: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_redundant.ts b/accessibility-checker-engine/src/v4/rules/img_alt_redundant.ts index efc29e796..06b6d350c 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_redundant.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_redundant.ts @@ -44,7 +44,7 @@ export let img_alt_redundant: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/img_alt_valid.ts b/accessibility-checker-engine/src/v4/rules/img_alt_valid.ts index ad8442835..eafc13c4b 100644 --- a/accessibility-checker-engine/src/v4/rules/img_alt_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/img_alt_valid.ts @@ -45,7 +45,7 @@ export let img_alt_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/img_ismap_misuse.ts b/accessibility-checker-engine/src/v4/rules/img_ismap_misuse.ts index c734da382..1b2b5f6ab 100644 --- a/accessibility-checker-engine/src/v4/rules/img_ismap_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/img_ismap_misuse.ts @@ -39,7 +39,7 @@ export let img_ismap_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/img_longdesc_misuse.ts b/accessibility-checker-engine/src/v4/rules/img_longdesc_misuse.ts index 82ebd424f..2bebe7ea4 100644 --- a/accessibility-checker-engine/src/v4/rules/img_longdesc_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/img_longdesc_misuse.ts @@ -39,7 +39,7 @@ export let img_longdesc_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/input_autocomplete_valid.ts b/accessibility-checker-engine/src/v4/rules/input_autocomplete_valid.ts index 0d4e7e9fc..49d299492 100644 --- a/accessibility-checker-engine/src/v4/rules/input_autocomplete_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/input_autocomplete_valid.ts @@ -46,7 +46,7 @@ export let input_autocomplete_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.5"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/input_checkboxes_grouped.ts b/accessibility-checker-engine/src/v4/rules/input_checkboxes_grouped.ts index 37b4ea1bf..bdc7dc100 100644 --- a/accessibility-checker-engine/src/v4/rules/input_checkboxes_grouped.ts +++ b/accessibility-checker-engine/src/v4/rules/input_checkboxes_grouped.ts @@ -63,7 +63,7 @@ export let input_checkboxes_grouped: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/input_fields_grouped.ts b/accessibility-checker-engine/src/v4/rules/input_fields_grouped.ts index 153f11a0f..75d38190f 100644 --- a/accessibility-checker-engine/src/v4/rules/input_fields_grouped.ts +++ b/accessibility-checker-engine/src/v4/rules/input_fields_grouped.ts @@ -38,7 +38,7 @@ export let input_fields_grouped: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/input_haspopup_conflict.ts b/accessibility-checker-engine/src/v4/rules/input_haspopup_conflict.ts index 19f329be4..e3ad43a0b 100644 --- a/accessibility-checker-engine/src/v4/rules/input_haspopup_conflict.ts +++ b/accessibility-checker-engine/src/v4/rules/input_haspopup_conflict.ts @@ -40,7 +40,7 @@ export let input_haspopup_conflict: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/input_label_after.ts b/accessibility-checker-engine/src/v4/rules/input_label_after.ts index 5ac793871..95e523370 100644 --- a/accessibility-checker-engine/src/v4/rules/input_label_after.ts +++ b/accessibility-checker-engine/src/v4/rules/input_label_after.ts @@ -41,7 +41,7 @@ export let input_label_after: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.3.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/input_label_exists.ts b/accessibility-checker-engine/src/v4/rules/input_label_exists.ts index 4d27634af..25fdc22b0 100644 --- a/accessibility-checker-engine/src/v4/rules/input_label_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/input_label_exists.ts @@ -47,7 +47,7 @@ export let input_label_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], /* remove 1.1.1 mapping, keep 4.1.2 */ "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/input_label_visible.ts b/accessibility-checker-engine/src/v4/rules/input_label_visible.ts index 1c02c9527..6c9928c84 100644 --- a/accessibility-checker-engine/src/v4/rules/input_label_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/input_label_visible.ts @@ -42,7 +42,7 @@ export let input_label_visible: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.3.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/input_onchange_review.ts b/accessibility-checker-engine/src/v4/rules/input_onchange_review.ts index 104b073dc..6c97754d0 100644 --- a/accessibility-checker-engine/src/v4/rules/input_onchange_review.ts +++ b/accessibility-checker-engine/src/v4/rules/input_onchange_review.ts @@ -38,7 +38,7 @@ export let input_onchange_review: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.2.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/input_placeholder_label_visible.ts b/accessibility-checker-engine/src/v4/rules/input_placeholder_label_visible.ts index ae98097ca..cc4776108 100644 --- a/accessibility-checker-engine/src/v4/rules/input_placeholder_label_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/input_placeholder_label_visible.ts @@ -40,7 +40,7 @@ export let input_placeholder_label_visible: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.3.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/label_content_exists.ts b/accessibility-checker-engine/src/v4/rules/label_content_exists.ts index ff8be2f93..eaffd71b9 100644 --- a/accessibility-checker-engine/src/v4/rules/label_content_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/label_content_exists.ts @@ -47,7 +47,7 @@ export let label_content_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/label_name_visible.ts b/accessibility-checker-engine/src/v4/rules/label_name_visible.ts index 989c7a813..c37e1bfe7 100644 --- a/accessibility-checker-engine/src/v4/rules/label_name_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/label_name_visible.ts @@ -43,7 +43,7 @@ export let label_name_visible: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_2"], "num": ["2.5.3"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/label_ref_valid.ts b/accessibility-checker-engine/src/v4/rules/label_ref_valid.ts index 4bb218e4d..87e75ac39 100644 --- a/accessibility-checker-engine/src/v4/rules/label_ref_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/label_ref_valid.ts @@ -39,7 +39,7 @@ export let label_ref_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/list_children_valid.ts b/accessibility-checker-engine/src/v4/rules/list_children_valid.ts index 7a0ebd6f3..8e65c4ff5 100644 --- a/accessibility-checker-engine/src/v4/rules/list_children_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/list_children_valid.ts @@ -39,7 +39,7 @@ export let list_children_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/list_markup_review.ts b/accessibility-checker-engine/src/v4/rules/list_markup_review.ts index 1f728e42d..2739292a6 100644 --- a/accessibility-checker-engine/src/v4/rules/list_markup_review.ts +++ b/accessibility-checker-engine/src/v4/rules/list_markup_review.ts @@ -38,7 +38,7 @@ export let list_markup_review: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/list_structure_proper.ts b/accessibility-checker-engine/src/v4/rules/list_structure_proper.ts index 73d9f9817..b5aa17462 100644 --- a/accessibility-checker-engine/src/v4/rules/list_structure_proper.ts +++ b/accessibility-checker-engine/src/v4/rules/list_structure_proper.ts @@ -38,7 +38,7 @@ export let list_structure_proper: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/marquee_elem_avoid.ts b/accessibility-checker-engine/src/v4/rules/marquee_elem_avoid.ts index 0973f0843..cfa653e87 100644 --- a/accessibility-checker-engine/src/v4/rules/marquee_elem_avoid.ts +++ b/accessibility-checker-engine/src/v4/rules/marquee_elem_avoid.ts @@ -38,7 +38,7 @@ export let marquee_elem_avoid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.2.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/media_alt_brief.ts b/accessibility-checker-engine/src/v4/rules/media_alt_brief.ts index 953762929..a3e21e3ea 100644 --- a/accessibility-checker-engine/src/v4/rules/media_alt_brief.ts +++ b/accessibility-checker-engine/src/v4/rules/media_alt_brief.ts @@ -38,7 +38,7 @@ export let media_alt_brief: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/media_alt_exists.ts b/accessibility-checker-engine/src/v4/rules/media_alt_exists.ts index 23222afdc..1aeb202f8 100644 --- a/accessibility-checker-engine/src/v4/rules/media_alt_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/media_alt_exists.ts @@ -39,7 +39,7 @@ export let media_alt_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/media_audio_transcribed.ts b/accessibility-checker-engine/src/v4/rules/media_audio_transcribed.ts index 7c2e11aee..db06d838a 100644 --- a/accessibility-checker-engine/src/v4/rules/media_audio_transcribed.ts +++ b/accessibility-checker-engine/src/v4/rules/media_audio_transcribed.ts @@ -39,7 +39,7 @@ export let media_audio_transcribed: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.2.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/media_autostart_controllable.ts b/accessibility-checker-engine/src/v4/rules/media_autostart_controllable.ts index 89c95d7b9..8a9d10ad3 100644 --- a/accessibility-checker-engine/src/v4/rules/media_autostart_controllable.ts +++ b/accessibility-checker-engine/src/v4/rules/media_autostart_controllable.ts @@ -38,7 +38,7 @@ export let media_autostart_controllable: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.4.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/media_keyboard_controllable.ts b/accessibility-checker-engine/src/v4/rules/media_keyboard_controllable.ts index 89fd8efc4..3adf66b01 100644 --- a/accessibility-checker-engine/src/v4/rules/media_keyboard_controllable.ts +++ b/accessibility-checker-engine/src/v4/rules/media_keyboard_controllable.ts @@ -38,7 +38,7 @@ export let media_keyboard_controllable: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/media_live_captioned.ts b/accessibility-checker-engine/src/v4/rules/media_live_captioned.ts index 5cd108c60..fea5cd238 100644 --- a/accessibility-checker-engine/src/v4/rules/media_live_captioned.ts +++ b/accessibility-checker-engine/src/v4/rules/media_live_captioned.ts @@ -38,7 +38,7 @@ export let media_live_captioned: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.2.4"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/media_track_available.ts b/accessibility-checker-engine/src/v4/rules/media_track_available.ts index 92db59295..a9be1a9b7 100644 --- a/accessibility-checker-engine/src/v4/rules/media_track_available.ts +++ b/accessibility-checker-engine/src/v4/rules/media_track_available.ts @@ -39,7 +39,7 @@ export let media_track_available: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.2.3", "1.2.5"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/meta_redirect_optional.ts b/accessibility-checker-engine/src/v4/rules/meta_redirect_optional.ts index 3ed68cebb..fad2d72eb 100644 --- a/accessibility-checker-engine/src/v4/rules/meta_redirect_optional.ts +++ b/accessibility-checker-engine/src/v4/rules/meta_redirect_optional.ts @@ -43,7 +43,7 @@ export let meta_redirect_optional: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.2.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/meta_refresh_delay.ts b/accessibility-checker-engine/src/v4/rules/meta_refresh_delay.ts index 949f21b08..3f33b3cd5 100644 --- a/accessibility-checker-engine/src/v4/rules/meta_refresh_delay.ts +++ b/accessibility-checker-engine/src/v4/rules/meta_refresh_delay.ts @@ -38,7 +38,7 @@ export let meta_refresh_delay: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.2.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/meta_viewport_zoomable.ts b/accessibility-checker-engine/src/v4/rules/meta_viewport_zoomable.ts index c4b074227..d323ce576 100644 --- a/accessibility-checker-engine/src/v4/rules/meta_viewport_zoomable.ts +++ b/accessibility-checker-engine/src/v4/rules/meta_viewport_zoomable.ts @@ -39,13 +39,13 @@ export let meta_viewport_zoomable: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.4.4"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE }, { - "id": ["IBM_Accessibility", "WCAG_2_1"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_2"], "num": ["1.4.10"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/noembed_content_exists.ts b/accessibility-checker-engine/src/v4/rules/noembed_content_exists.ts index 4a7798f07..ab068bb99 100644 --- a/accessibility-checker-engine/src/v4/rules/noembed_content_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/noembed_content_exists.ts @@ -40,7 +40,7 @@ export let noembed_content_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_FOUR diff --git a/accessibility-checker-engine/src/v4/rules/object_text_exists.ts b/accessibility-checker-engine/src/v4/rules/object_text_exists.ts index fd781407e..ebe69cb3b 100644 --- a/accessibility-checker-engine/src/v4/rules/object_text_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/object_text_exists.ts @@ -41,7 +41,7 @@ export let object_text_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/page_title_exists.ts b/accessibility-checker-engine/src/v4/rules/page_title_exists.ts index ef4ab0597..2b7537db7 100644 --- a/accessibility-checker-engine/src/v4/rules/page_title_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/page_title_exists.ts @@ -46,7 +46,7 @@ export let page_title_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/page_title_valid.ts b/accessibility-checker-engine/src/v4/rules/page_title_valid.ts index a4df9297e..ce66a1be3 100644 --- a/accessibility-checker-engine/src/v4/rules/page_title_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/page_title_valid.ts @@ -41,7 +41,7 @@ export let page_title_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/script_focus_blur_review.ts b/accessibility-checker-engine/src/v4/rules/script_focus_blur_review.ts index a4abec6bd..4cfc9d6f4 100644 --- a/accessibility-checker-engine/src/v4/rules/script_focus_blur_review.ts +++ b/accessibility-checker-engine/src/v4/rules/script_focus_blur_review.ts @@ -38,7 +38,7 @@ export let script_focus_blur_review: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.7", "3.2.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/script_onclick_avoid.ts b/accessibility-checker-engine/src/v4/rules/script_onclick_avoid.ts index e231e12a6..2c121b1e5 100644 --- a/accessibility-checker-engine/src/v4/rules/script_onclick_avoid.ts +++ b/accessibility-checker-engine/src/v4/rules/script_onclick_avoid.ts @@ -39,7 +39,7 @@ export let script_onclick_avoid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_FOUR diff --git a/accessibility-checker-engine/src/v4/rules/script_onclick_misuse.ts b/accessibility-checker-engine/src/v4/rules/script_onclick_misuse.ts index 15c9fa6a5..ac5652eec 100644 --- a/accessibility-checker-engine/src/v4/rules/script_onclick_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/script_onclick_misuse.ts @@ -38,7 +38,7 @@ export let script_onclick_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/script_select_review.ts b/accessibility-checker-engine/src/v4/rules/script_select_review.ts index 8f8b5f6aa..5af8e4e07 100644 --- a/accessibility-checker-engine/src/v4/rules/script_select_review.ts +++ b/accessibility-checker-engine/src/v4/rules/script_select_review.ts @@ -38,7 +38,7 @@ export let script_select_review: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["3.2.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/select_options_grouped.ts b/accessibility-checker-engine/src/v4/rules/select_options_grouped.ts index 412114f6c..7cd28c517 100644 --- a/accessibility-checker-engine/src/v4/rules/select_options_grouped.ts +++ b/accessibility-checker-engine/src/v4/rules/select_options_grouped.ts @@ -38,7 +38,7 @@ export let select_options_grouped: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/skip_main_described.ts b/accessibility-checker-engine/src/v4/rules/skip_main_described.ts index 086582f3e..9dd7ab3e9 100644 --- a/accessibility-checker-engine/src/v4/rules/skip_main_described.ts +++ b/accessibility-checker-engine/src/v4/rules/skip_main_described.ts @@ -42,7 +42,7 @@ export let skip_main_described: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/skip_main_exists.ts b/accessibility-checker-engine/src/v4/rules/skip_main_exists.ts index da0d4249c..a8812c025 100644 --- a/accessibility-checker-engine/src/v4/rules/skip_main_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/skip_main_exists.ts @@ -41,7 +41,7 @@ export let skip_main_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/style_background_decorative.ts b/accessibility-checker-engine/src/v4/rules/style_background_decorative.ts index 20e4a32d8..216b4d493 100644 --- a/accessibility-checker-engine/src/v4/rules/style_background_decorative.ts +++ b/accessibility-checker-engine/src/v4/rules/style_background_decorative.ts @@ -38,7 +38,7 @@ export let style_background_decorative: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/style_before_after_review.ts b/accessibility-checker-engine/src/v4/rules/style_before_after_review.ts index a4e4d02c5..2bf2ff7a2 100644 --- a/accessibility-checker-engine/src/v4/rules/style_before_after_review.ts +++ b/accessibility-checker-engine/src/v4/rules/style_before_after_review.ts @@ -45,7 +45,7 @@ export let style_before_after_review: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "1.3.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/style_color_misuse.ts b/accessibility-checker-engine/src/v4/rules/style_color_misuse.ts index be233e262..adb1b5e94 100644 --- a/accessibility-checker-engine/src/v4/rules/style_color_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/style_color_misuse.ts @@ -40,7 +40,7 @@ export let style_color_misuse: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "1.4.1", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/style_focus_visible.ts b/accessibility-checker-engine/src/v4/rules/style_focus_visible.ts index c7c44678f..2616376cd 100644 --- a/accessibility-checker-engine/src/v4/rules/style_focus_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/style_focus_visible.ts @@ -37,7 +37,7 @@ export let style_focus_visible: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "2.4.7", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/style_highcontrast_visible.ts b/accessibility-checker-engine/src/v4/rules/style_highcontrast_visible.ts index 4e4b144f3..dca94b22a 100644 --- a/accessibility-checker-engine/src/v4/rules/style_highcontrast_visible.ts +++ b/accessibility-checker-engine/src/v4/rules/style_highcontrast_visible.ts @@ -44,7 +44,7 @@ export let style_highcontrast_visible: Rule = { "toolkitLevel": eToolkitLevel.LEVEL_ONE }, { - "id": ["WCAG_2_1", "WCAG_2_0"], + "id": ["WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.1.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/style_hover_persistent.ts b/accessibility-checker-engine/src/v4/rules/style_hover_persistent.ts index 88d26ad18..36aff54ed 100644 --- a/accessibility-checker-engine/src/v4/rules/style_hover_persistent.ts +++ b/accessibility-checker-engine/src/v4/rules/style_hover_persistent.ts @@ -41,7 +41,7 @@ export let style_hover_persistent: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_2"], "num": ["1.4.13"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/style_viewport_resizable.ts b/accessibility-checker-engine/src/v4/rules/style_viewport_resizable.ts index a14aa75bd..e41fa1cf3 100644 --- a/accessibility-checker-engine/src/v4/rules/style_viewport_resizable.ts +++ b/accessibility-checker-engine/src/v4/rules/style_viewport_resizable.ts @@ -42,7 +42,7 @@ export let style_viewport_resizable: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "1.4.4", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/table_aria_descendants.ts b/accessibility-checker-engine/src/v4/rules/table_aria_descendants.ts index 912a70801..a5443fec1 100644 --- a/accessibility-checker-engine/src/v4/rules/table_aria_descendants.ts +++ b/accessibility-checker-engine/src/v4/rules/table_aria_descendants.ts @@ -32,7 +32,7 @@ export let table_aria_descendants: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["4.1.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/table_caption_empty.ts b/accessibility-checker-engine/src/v4/rules/table_caption_empty.ts index 5c0876aba..fd70a0ee8 100644 --- a/accessibility-checker-engine/src/v4/rules/table_caption_empty.ts +++ b/accessibility-checker-engine/src/v4/rules/table_caption_empty.ts @@ -38,7 +38,7 @@ export let table_caption_empty: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/table_caption_nested.ts b/accessibility-checker-engine/src/v4/rules/table_caption_nested.ts index ff8dccc6d..99498deb0 100644 --- a/accessibility-checker-engine/src/v4/rules/table_caption_nested.ts +++ b/accessibility-checker-engine/src/v4/rules/table_caption_nested.ts @@ -38,7 +38,7 @@ export let table_caption_nested: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/table_headers_exists.ts b/accessibility-checker-engine/src/v4/rules/table_headers_exists.ts index d66d9ffd1..2d1a3dcb3 100644 --- a/accessibility-checker-engine/src/v4/rules/table_headers_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/table_headers_exists.ts @@ -38,7 +38,7 @@ export let table_headers_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/table_headers_ref_valid.ts b/accessibility-checker-engine/src/v4/rules/table_headers_ref_valid.ts index 02d29150f..1049cb531 100644 --- a/accessibility-checker-engine/src/v4/rules/table_headers_ref_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/table_headers_ref_valid.ts @@ -42,7 +42,7 @@ export let table_headers_ref_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/table_headers_related.ts b/accessibility-checker-engine/src/v4/rules/table_headers_related.ts index 56d861325..fca91ab8c 100644 --- a/accessibility-checker-engine/src/v4/rules/table_headers_related.ts +++ b/accessibility-checker-engine/src/v4/rules/table_headers_related.ts @@ -39,7 +39,7 @@ export let table_headers_related: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/table_layout_linearized.ts b/accessibility-checker-engine/src/v4/rules/table_layout_linearized.ts index e52dec710..e6bc62ce3 100644 --- a/accessibility-checker-engine/src/v4/rules/table_layout_linearized.ts +++ b/accessibility-checker-engine/src/v4/rules/table_layout_linearized.ts @@ -39,7 +39,7 @@ export let table_layout_linearized: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_FOUR diff --git a/accessibility-checker-engine/src/v4/rules/table_scope_valid.ts b/accessibility-checker-engine/src/v4/rules/table_scope_valid.ts index c061d91b6..5ea0f5d30 100644 --- a/accessibility-checker-engine/src/v4/rules/table_scope_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/table_scope_valid.ts @@ -40,7 +40,7 @@ export let table_scope_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/table_structure_misuse.ts b/accessibility-checker-engine/src/v4/rules/table_structure_misuse.ts index 59558b3d9..5ddb09c96 100644 --- a/accessibility-checker-engine/src/v4/rules/table_structure_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/table_structure_misuse.ts @@ -39,7 +39,7 @@ export let table_structure_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/table_summary_redundant.ts b/accessibility-checker-engine/src/v4/rules/table_summary_redundant.ts index 87cd04920..92c431129 100644 --- a/accessibility-checker-engine/src/v4/rules/table_summary_redundant.ts +++ b/accessibility-checker-engine/src/v4/rules/table_summary_redundant.ts @@ -40,7 +40,7 @@ export let table_summary_redundant: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/text_block_heading.ts b/accessibility-checker-engine/src/v4/rules/text_block_heading.ts index 92ec2c00b..5b6361f6a 100644 --- a/accessibility-checker-engine/src/v4/rules/text_block_heading.ts +++ b/accessibility-checker-engine/src/v4/rules/text_block_heading.ts @@ -39,7 +39,7 @@ export let text_block_heading: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/text_contrast_sufficient.ts b/accessibility-checker-engine/src/v4/rules/text_contrast_sufficient.ts index 559612cc3..7cfc5369d 100644 --- a/accessibility-checker-engine/src/v4/rules/text_contrast_sufficient.ts +++ b/accessibility-checker-engine/src/v4/rules/text_contrast_sufficient.ts @@ -54,7 +54,7 @@ export let text_contrast_sufficient: Rule = { } }, rulesets: [{ - id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1"], + id: ["IBM_Accessibility", "WCAG_2_0", "WCAG_2_1", "WCAG_2_2"], num: "1.4.3", // num: [ "2.4.4", "x.y.z" ] also allowed level: eRulePolicy.VIOLATION, toolkitLevel: eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/text_quoted_correctly.ts b/accessibility-checker-engine/src/v4/rules/text_quoted_correctly.ts index efaceeaab..432ffe03c 100644 --- a/accessibility-checker-engine/src/v4/rules/text_quoted_correctly.ts +++ b/accessibility-checker-engine/src/v4/rules/text_quoted_correctly.ts @@ -34,7 +34,7 @@ export let text_quoted_correctly: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/text_sensory_misuse.ts b/accessibility-checker-engine/src/v4/rules/text_sensory_misuse.ts index f3527e8b3..704bf5077 100644 --- a/accessibility-checker-engine/src/v4/rules/text_sensory_misuse.ts +++ b/accessibility-checker-engine/src/v4/rules/text_sensory_misuse.ts @@ -40,7 +40,7 @@ export let text_sensory_misuse: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.3"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_TWO diff --git a/accessibility-checker-engine/src/v4/rules/text_spacing_valid.ts b/accessibility-checker-engine/src/v4/rules/text_spacing_valid.ts index c272df2cf..0015a2260 100644 --- a/accessibility-checker-engine/src/v4/rules/text_spacing_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/text_spacing_valid.ts @@ -39,7 +39,7 @@ export let text_spacing_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.4.12"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/text_whitespace_valid.ts b/accessibility-checker-engine/src/v4/rules/text_whitespace_valid.ts index 138c1ea74..06b245146 100644 --- a/accessibility-checker-engine/src/v4/rules/text_whitespace_valid.ts +++ b/accessibility-checker-engine/src/v4/rules/text_whitespace_valid.ts @@ -33,7 +33,7 @@ export let text_whitespace_valid: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.2"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_THREE diff --git a/accessibility-checker-engine/src/v4/rules/widget_tabbable_exists.ts b/accessibility-checker-engine/src/v4/rules/widget_tabbable_exists.ts index c3a9bec47..f5cdc5e34 100644 --- a/accessibility-checker-engine/src/v4/rules/widget_tabbable_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/widget_tabbable_exists.ts @@ -40,7 +40,7 @@ export let widget_tabbable_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.3"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rules/widget_tabbable_single.ts b/accessibility-checker-engine/src/v4/rules/widget_tabbable_single.ts index 4dbc64cd7..c0ca94553 100644 --- a/accessibility-checker-engine/src/v4/rules/widget_tabbable_single.ts +++ b/accessibility-checker-engine/src/v4/rules/widget_tabbable_single.ts @@ -42,7 +42,7 @@ export let widget_tabbable_single: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["2.4.3"], "level": eRulePolicy.VIOLATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE diff --git a/accessibility-checker-engine/src/v4/rulesets.ts b/accessibility-checker-engine/src/v4/rulesets.ts index 0cf91c2f6..4ed35f630 100644 --- a/accessibility-checker-engine/src/v4/rulesets.ts +++ b/accessibility-checker-engine/src/v4/rulesets.ts @@ -56,6 +56,7 @@ const summaries = { "2.4.5": "More than one way is available to locate a Web page within a set of Web pages, except where the Web Page is the result of, or a step in, a process.", "2.4.6": "Headings and labels describe topic or purpose.", "2.4.7": "Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.", + "2.4.11": "When an element receives focus, it is not entirely covered by other content.", "2.5.1": "All functionality that uses multipoint or path-based gestures for operation can be operated with a single pointer without a path-based gesture.", "2.5.2": "For functionality that can be operated using a single pointer, completion of the function is on the up-event with an ability to abort, undo or reverse the outcome.", "2.5.3": "For user interface components with labels that include text or images of text, the accessible name contains the text that is presented visually.", @@ -118,6 +119,22 @@ export let a11yRulesets: Guideline[] = [ summary: summaries[sc.num] })) }, + { + id: "WCAG_2_2", + name: "WCAG 2.2 (A, AA)", + category: eGuidelineCategory.ACCESSIBILITY, + description: "Rules for WCAG 2.2 AA. This is the current W3C recommendation. Content that conforms to WCAG 2.2 also conforms to WCAG 2.1.", + // This ruleset has all 2.0 and 2.1 checkpoints that are A or AA + checkpoints: SCs + .filter(sc => (sc.level === "A" || sc.level === "AA") && (sc.wcagType === "2.0" || sc.wcagType === "2.1" || sc.wcagType === "2.2")) + .map(sc => ({ + num: sc.num, + scId: sc.scId, + name: sc.handle, + wcagLevel: sc.level, + summary: summaries[sc.num] + })) + }, { id: "WCAG_2_1", name: "WCAG 2.1 (A, AA)", diff --git a/accessibility-checker-engine/src/v4/sc-urls.json b/accessibility-checker-engine/src/v4/sc-urls.json index 241b6463c..bd7be2f9d 100644 --- a/accessibility-checker-engine/src/v4/sc-urls.json +++ b/accessibility-checker-engine/src/v4/sc-urls.json @@ -623,6 +623,18 @@ "level": "AAA", "wcagType": "2.0" }, + "2.4.11": { + "num": "2.4.11", + "url": "https://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum", + "scId": "WCAG2:focus-not-obscured-minimum", + "scAltId": ["focus-not-obscured-minimum"], + "test": "WCAG2:focus-not-obscured-minimum", + "howToMeetUrl": "https://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum", + "understandingUrl": "https://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum", + "handle": "Focus Not Obscured (Minimum)", + "level": "AA", + "wcagType": "2.2" + }, "2.5.1": { "num": "2.5.1", "url": "https://www.w3.org/TR/WCAG21/#pointer-gestures", diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html index 03176d997..fbb07a162 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html @@ -31,10 +31,6 @@ grid-column:8 / 10; } - /**footer { - grid-column:1 / -1; - }*/ - @media (max-width:70rem) { main { grid-column:1 / -1; @@ -51,7 +47,7 @@ height:11rem; inset-block-end:0; margin-block-end:1rem; - padding:1rem; + padding:2rem; position:relative; width:calc(100vw - 1rem); } @@ -61,14 +57,6 @@ margin-block-end:0; position:fixed; } - - .banner-open { - margin-block-end:14rem; - } - - .banner-open a { - scroll-margin-block-end:15.5rem; - } } .footer { @@ -83,16 +71,12 @@ - -

Fixed-Position Banner

-
-
-
-
-

Header Content

-
+
+

Fixed-Position Banner

+ +
+ +

Main Content

@@ -118,7 +102,7 @@

-

+

+

+ +

+
- - + @@ -95,19 +72,21 @@

### About this requirement -* [2.4.7 Focus Visible](https://www.ibm.com/able/requirements/requirements/#2_4_7) -* [Unit test - check tab order](https://www.ibm.com/able/toolkit/develop/considerations/unit-testing/#check-tab-order) -* [Unit test - confirm component keyboard interaction](https://www.ibm.com/able/toolkit/develop/considerations/unit-testing/#confirm-component-keyboard-interaction)  +- [WCAG 2.4.11 Focus Not Obscured (Minimum)](https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum) +- [WCAG technique C43: Using CSS margin and scroll-margin to un-obscure content](https://www.w3.org/WAI/WCAG22/Techniques/css/C43) +- [Common failure F110: Obscured due to a sticky footer or header completely hiding focused elements](https://www.w3.org/WAI/WCAG22/Techniques/failures/F110) ### Who does this affect? -* People who rely on keyboard control -* People with dexterity impairment using voice control or a keyboard-like switch device -* People with low vision who use screen magnification with keyboard control -* People using a screen reader, including blind, low vision and neurodivergent people -* Neurodivergent people who use the keyboard -* Older adults who use the keyboard - +- People with low vision who use screen magnification +- People who physically cannot use a pointing device +- People using a keyboard and alternate keyboards or input devices that act as keyboard emulators like speech input software and on-screen keyboards +- People with dexterity impairment using a keyboard-like switch device +- People with dexterity impairment using voice control +- People with tremors or other movement disorders using a keyboard-like device +- People with memory limitations in executive processes benefit by being able to discover where the focus is located +- Many older adults +
From 478f7a77f3840c710ce6c0b6191d35dfb58b528c Mon Sep 17 00:00:00 2001 From: Shunguo Date: Mon, 9 Oct 2023 10:46:48 -0500 Subject: [PATCH 08/39] update the rule #1676 --- .../src/v4/rules/element_tabbable_unobscured.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 3203428f5..58b16504a 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -107,7 +107,7 @@ export let element_tabbable_unobscured: Rule = { } if (bnds.height !== 0 && bnds.width !== 0 && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height - && bnds.left + bnds.height >= bounds.left + bounds.width && parseInt(zindex) <= parseInt(z_index)) + && bnds.left + bnds.height >= bounds.left + bounds.width && parseInt(zindex) < parseInt(z_index)) violations.push(elem); } }); From efd309885164eb802f2b9fb4f24d78e096d951b3 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Mon, 9 Oct 2023 13:52:54 -0500 Subject: [PATCH 09/39] update the rule #1676 --- .../src/v4/rules/element_tabbable_unobscured.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 58b16504a..b23db0f5c 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -99,10 +99,12 @@ export let element_tabbable_unobscured: Rule = { if (VisUtil.isNodeVisible(elem)) { const bnds = mapper.getBounds(elem); var zStyle = win.getComputedStyle(elem); - let z_index = "0"; - if (zStyle !== null) { + let z_index; + if (zStyle === null) + z_index = 0; + else { z_index = zStyle.zIndex; - if (!z_index || z_index === 'auto') + if (!z_index || !Number.isInteger(z_index)) z_index = "0"; } if (bnds.height !== 0 && bnds.width !== 0 From be536bd75e1d682f24f8562426c9aa0575f671de Mon Sep 17 00:00:00 2001 From: Shunguo Date: Mon, 9 Oct 2023 14:19:19 -0500 Subject: [PATCH 10/39] update the z-index in the rule #1676 --- .../src/v4/rules/element_tabbable_unobscured.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index b23db0f5c..0f2da7856 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -109,7 +109,7 @@ export let element_tabbable_unobscured: Rule = { } if (bnds.height !== 0 && bnds.width !== 0 && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height - && bnds.left + bnds.height >= bounds.left + bounds.width && parseInt(zindex) < parseInt(z_index)) + && bnds.left + bnds.height >= bounds.left + bounds.width && parseInt(zindex) <= parseInt(z_index)) violations.push(elem); } }); From a34b87cf44fdd028cf08f96e8f4b169650158ece Mon Sep 17 00:00:00 2001 From: Shunguo Date: Mon, 9 Oct 2023 16:15:39 -0500 Subject: [PATCH 11/39] update the rules #1676 --- .../v2/checker/accessibility/util/legacy.ts | 16 --- .../v4/rules/element_tabbable_unobscured.ts | 30 ++---- .../element_overlaid_hidden.html | 101 ++++++++++++++++++ .../element_overlaid_visible.html | 101 ++++++++++++++++++ ...nobscured.html => element_unobscured.html} | 0 5 files changed, 213 insertions(+), 35 deletions(-) create mode 100755 accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html create mode 100755 accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html rename accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/{unobscured.html => element_unobscured.html} (100%) diff --git a/accessibility-checker-engine/src/v2/checker/accessibility/util/legacy.ts b/accessibility-checker-engine/src/v2/checker/accessibility/util/legacy.ts index 2c22e9add..9523e5bc8 100644 --- a/accessibility-checker-engine/src/v2/checker/accessibility/util/legacy.ts +++ b/accessibility-checker-engine/src/v2/checker/accessibility/util/legacy.ts @@ -1369,22 +1369,6 @@ export class RPTUtil { return walkNode; } - /** - * return all the ancestor element names of the given element - * @param element - */ - public static getAncestorNames(element) { - if (!element) return null; - let ancestors = []; - let walkNode = DOMWalker.parentNode(element); - while (walkNode !== null) { - if (walkNode.nodeType === 1) - ancestors.push(walkNode.nodeName.toLowerCase()); - walkNode = DOMWalker.parentNode(walkNode); - } - return ancestors; - } - // return true if element1 and element2 are siblings public static isSibling(element1, element2) { if (element1 && element2) { diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 0f2da7856..1b6ad509f 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -16,6 +16,7 @@ import { Rule, RuleResult, RuleContext, RulePass, RuleContextHierarchy, RulePote import { eRulePolicy, eToolkitLevel } from "../api/IRule"; import { VisUtil } from "../../v2/dom/VisUtil"; import { DOMMapper } from "../../v2/dom/DOMMapper"; +import { DOMUtil } from "../../v2/dom/DOMUtil"; export let element_tabbable_unobscured: Rule = { id: "element_tabbable_unobscured", @@ -48,7 +49,7 @@ export let element_tabbable_unobscured: Rule = { return null; const nodeName = ruleContext.nodeName.toLocaleLowerCase(); - + //ignore certain elements if (RPTUtil.getAncestor(ruleContext, ["pre", "code", "script", "meta"]) !== null || nodeName === "body" || nodeName === "html" ) @@ -71,7 +72,7 @@ export let element_tabbable_unobscured: Rule = { if (!win) { return null; } - + var cStyle = win.getComputedStyle(ruleContext); if (cStyle === null) return null; @@ -79,34 +80,25 @@ export let element_tabbable_unobscured: Rule = { let zindex = cStyle.zIndex; if (!zindex || zindex === 'auto') zindex = "0"; - - const ancestors = RPTUtil.getAncestorNames(ruleContext); - let ignoreList = nodeName +' *, ' + nodeName +', script'; - if (ancestors) { - ancestors.forEach(ancestor=> { - if (!["html", "body"].includes(ancestor)) - ignoreList += ", " + ancestor; - }); - } - var elems = doc.querySelectorAll('body *:not(' + ignoreList +')'); + + var elems = doc.querySelectorAll('body *:not(script)'); if (!elems || elems.length == 0) return; - + console.log("node="+nodeName +", id=" + ruleContext.getAttribute("id") +", bounds=" + JSON.stringify(bounds)+", zindex="+zindex); const mapper : DOMMapper = new DOMMapper(); let violations = []; elems.forEach(elem => { - // Skip hidden - if (VisUtil.isNodeVisible(elem)) { + if (VisUtil.isNodeVisible(elem) && !ruleContext.contains(elem) && !elem.contains(ruleContext)) { const bnds = mapper.getBounds(elem); - var zStyle = win.getComputedStyle(elem); + var zStyle = win.getComputedStyle(elem); let z_index; if (zStyle === null) z_index = 0; else { - z_index = zStyle.zIndex; - if (!z_index || !Number.isInteger(z_index)) + z_index = zStyle.zIndex; + if (!z_index || isNaN(z_index)) z_index = "0"; - } + } console.log("element="+elem.nodeName +", id=" + elem.getAttribute("id") +", bnds=" + JSON.stringify(bnds)+", z_index="+z_index); if (bnds.height !== 0 && bnds.width !== 0 && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height && bnds.left + bnds.height >= bounds.left + bounds.width && parseInt(zindex) <= parseInt(z_index)) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html new file mode 100755 index 000000000..de5cdab0b --- /dev/null +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html @@ -0,0 +1,101 @@ + + + + + + + + RPT Test Suite + + + + + +
1
+
2
+ + + + + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html new file mode 100755 index 000000000..11119a2bb --- /dev/null +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html @@ -0,0 +1,101 @@ + + + + + + + + RPT Test Suite + + + + + +
1
+
2
+ + + + + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html similarity index 100% rename from accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/unobscured.html rename to accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html From 854a6230d4b2d377350ea35cc729573ef22cba7c Mon Sep 17 00:00:00 2001 From: Shunguo Date: Tue, 10 Oct 2023 10:08:13 -0500 Subject: [PATCH 12/39] more test cases #1676 --- .../v4/rules/element_tabbable_unobscured.ts | 47 +++++---- .../element_overlaid_hidden_default.html | 99 +++++++++++++++++++ ...ml => element_overlaid_hidden_zindex.html} | 16 +-- .../element_overlaid_visible_default.html | 99 +++++++++++++++++++ ...l => element_overlaid_visible_zindex.html} | 4 +- 5 files changed, 237 insertions(+), 28 deletions(-) create mode 100755 accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_default.html rename accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/{element_overlaid_hidden.html => element_overlaid_hidden_zindex.html} (100%) create mode 100755 accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_default.html rename accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/{element_overlaid_visible.html => element_overlaid_visible_zindex.html} (100%) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 1b6ad509f..9775c4ed6 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -84,26 +84,37 @@ export let element_tabbable_unobscured: Rule = { var elems = doc.querySelectorAll('body *:not(script)'); if (!elems || elems.length == 0) return; - console.log("node="+nodeName +", id=" + ruleContext.getAttribute("id") +", bounds=" + JSON.stringify(bounds)+", zindex="+zindex); + const mapper : DOMMapper = new DOMMapper(); - let violations = []; + let violations = []; + let before = true; elems.forEach(elem => { - if (VisUtil.isNodeVisible(elem) && !ruleContext.contains(elem) && !elem.contains(ruleContext)) { - const bnds = mapper.getBounds(elem); - var zStyle = win.getComputedStyle(elem); - let z_index; - if (zStyle === null) - z_index = 0; - else { - z_index = zStyle.zIndex; - if (!z_index || isNaN(z_index)) - z_index = "0"; - } console.log("element="+elem.nodeName +", id=" + elem.getAttribute("id") +", bnds=" + JSON.stringify(bnds)+", z_index="+z_index); - if (bnds.height !== 0 && bnds.width !== 0 - && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height - && bnds.left + bnds.height >= bounds.left + bounds.width && parseInt(zindex) <= parseInt(z_index)) - violations.push(elem); - } + /** + * the nodes returned from querySelectorAll is in document order + * if z-index is not defined, then the node rendered next will overlay the node previously + */ + if (ruleContext.contains(elem)) { + //the next node in elems will be after the target node (ruleContext). + before = false; + } else { + if (VisUtil.isNodeVisible(elem) && !elem.contains(ruleContext)) { + const bnds = mapper.getBounds(elem); + var zStyle = win.getComputedStyle(elem); + let z_index; + if (zStyle === null) + z_index = 0; + else { + z_index = zStyle.zIndex; + if (!z_index || isNaN(z_index)) + z_index = "0"; + } + if (bnds.height !== 0 && bnds.width !== 0 + && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height + && bnds.left + bnds.height >= bounds.left + bounds.width + && (before ? parseInt(zindex) < parseInt(z_index): parseInt(zindex) <= parseInt(z_index))) + violations.push(elem); + } + } }); if (violations.length > 0) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_default.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_default.html new file mode 100755 index 000000000..02268eb3d --- /dev/null +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_default.html @@ -0,0 +1,99 @@ + + + + + + + + RPT Test Suite + + + + + +
1
+
2
+ + + + + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_zindex.html similarity index 100% rename from accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html rename to accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_zindex.html index de5cdab0b..ac5812e05 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_hidden_zindex.html @@ -33,7 +33,7 @@ text-align: left; } -#first { +#second { width: 175px; height: 175px; z-index: 3; @@ -42,7 +42,7 @@ left: 10px; } -#second { +#first { z-index: 2; background-color: #192733; top: 30px; @@ -65,14 +65,14 @@ "ruleId": "element_tabbable_unobscured", "value": [ "INFORMATION", - "PASS" + "POTENTIAL" ], "path": { "dom": "/html[1]/body[1]/div[1]", "aria": "/document[1]" }, - "reasonId": "pass", - "message": "The element is not entirely covered by other content", + "reasonId": "potential_obscured", + "message": "Confirm that when the element receives focus, it is not covered or, if covered by user action, can be uncovered without moving focus", "messageArgs": [], "apiArgs": [], "category": "Accessibility" @@ -81,14 +81,14 @@ "ruleId": "element_tabbable_unobscured", "value": [ "INFORMATION", - "POTENTIAL" + "PASS" ], "path": { "dom": "/html[1]/body[1]/div[2]", "aria": "/document[1]" }, - "reasonId": "potential_obscured", - "message": "Confirm that when the element receives focus, it is not covered or, if covered by user action, can be uncovered without moving focus", + "reasonId": "pass", + "message": "The element is not entirely covered by other content", "messageArgs": [], "apiArgs": [], "category": "Accessibility" diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_default.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_default.html new file mode 100755 index 000000000..4bec86731 --- /dev/null +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_default.html @@ -0,0 +1,99 @@ + + + + + + + + RPT Test Suite + + + + + +
1
+
2
+ + + + + diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_zindex.html similarity index 100% rename from accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html rename to accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_zindex.html index 11119a2bb..f8dce5098 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_overlaid_visible_zindex.html @@ -33,7 +33,7 @@ text-align: left; } -#first { +#second { width: 175px; height: 175px; z-index: 2; @@ -42,7 +42,7 @@ left: 10px; } -#second { +#first { z-index: 3; background-color: #192733; top: 30px; From 6cf8105213a8f8411523e6c368399b8e7f3d87c6 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Tue, 10 Oct 2023 10:29:05 -0500 Subject: [PATCH 13/39] update the rule #1676 --- .../src/v4/rules/element_tabbable_unobscured.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 9775c4ed6..44ee13dd2 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -100,12 +100,10 @@ export let element_tabbable_unobscured: Rule = { if (VisUtil.isNodeVisible(elem) && !elem.contains(ruleContext)) { const bnds = mapper.getBounds(elem); var zStyle = win.getComputedStyle(elem); - let z_index; - if (zStyle === null) - z_index = 0; - else { + let z_index = '0'; + if (zStyle) { z_index = zStyle.zIndex; - if (!z_index || isNaN(z_index)) + if (!z_index || isNaN(Number(z_index))) z_index = "0"; } if (bnds.height !== 0 && bnds.width !== 0 From 03ebd57753d78fb82eb773a5f56a8cb2b8ad1956 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Wed, 11 Oct 2023 09:44:41 -0500 Subject: [PATCH 14/39] update test case #1676 --- .../element_unobscured.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html index 34a3f5fbb..2bdf5e335 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html @@ -134,7 +134,7 @@

Footer Content

- + From 3c796308a164efd5c6241fe38ee1a87e152ee1f1 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Wed, 11 Oct 2023 10:16:07 -0500 Subject: [PATCH 15/39] update the rule set to run in yml file #1676 --- .../element_unobscured.html | 4 ++-- accessibility-checker/.achecker.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html index 2bdf5e335..34a3f5fbb 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html @@ -134,7 +134,7 @@

Footer Content

- + diff --git a/accessibility-checker/.achecker.yml b/accessibility-checker/.achecker.yml index ba8a55c75..e2465fd35 100644 --- a/accessibility-checker/.achecker.yml +++ b/accessibility-checker/.achecker.yml @@ -13,6 +13,7 @@ ignoreHTTPSErrors: true # We are setting no policies because we want the unit test to run for all policies policies: - IBM_Accessibility + - WCAG_2_2 # optional - Specify one or many violation levels on which to fail the test # i.e. If specified violation then the testcase will only fail if From 27465ea2bb26cae653c9ac6c32336a105fae50ed Mon Sep 17 00:00:00 2001 From: Shunguo Date: Wed, 11 Oct 2023 13:26:28 -0500 Subject: [PATCH 16/39] update the code #1676 --- .../src/v4/rules/element_tabbable_unobscured.ts | 2 +- .../element_unobscured.html | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 44ee13dd2..a39d44040 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -91,7 +91,7 @@ export let element_tabbable_unobscured: Rule = { elems.forEach(elem => { /** * the nodes returned from querySelectorAll is in document order - * if z-index is not defined, then the node rendered next will overlay the node previously + * if two elements overlap and z-index are not defined, then the node rendered earlier will be overlaid by the node rendered later */ if (ruleContext.contains(elem)) { //the next node in elems will be after the target node (ruleContext). diff --git a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html index 34a3f5fbb..4e626f5ae 100755 --- a/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html +++ b/accessibility-checker-engine/test/v2/checker/accessibility/rules/element_tabbable_unobscured_ruleunit/element_unobscured.html @@ -76,7 +76,7 @@

Fixed-Position Banner

- +
@@ -134,7 +134,7 @@

Footer Content

- + From b90f7669ff52b253c7c61be063c3c22d70921e9b Mon Sep 17 00:00:00 2001 From: Shunguo Date: Wed, 11 Oct 2023 16:03:04 -0500 Subject: [PATCH 17/39] fix the code error #1676 --- .../src/v4/rules/aria_accessiblename_exists.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts b/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts index bf7708bb5..b5f1648a4 100644 --- a/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts +++ b/accessibility-checker-engine/src/v4/rules/aria_accessiblename_exists.ts @@ -36,7 +36,7 @@ export let aria_accessiblename_exists: Rule = { } }, rulesets: [{ - "id": ["IBM_Accessibility", , "WCAG_2_0"], + "id": ["IBM_Accessibility", "WCAG_2_1", "WCAG_2_0", "WCAG_2_2"], "num": ["1.3.1"], "level": eRulePolicy.RECOMMENDATION, "toolkitLevel": eToolkitLevel.LEVEL_ONE From fd0417883e91959bbb332b44f47f713c77d982e4 Mon Sep 17 00:00:00 2001 From: Tom Brunet Date: Thu, 12 Oct 2023 12:48:47 -0500 Subject: [PATCH 18/39] Code cleanup --- .../v4/rules/element_tabbable_unobscured.ts | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index a39d44040..72b0cbe7f 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -64,16 +64,16 @@ export let element_tabbable_unobscured: Rule = { if (bounds['height'] === 0 || bounds['width'] === 0 ) return null; - var doc = ruleContext.ownerDocument; + const doc = ruleContext.ownerDocument; if (!doc) { return null; } - var win = doc.defaultView; + const win = doc.defaultView; if (!win) { return null; } - var cStyle = win.getComputedStyle(ruleContext); + const cStyle = win.getComputedStyle(ruleContext); if (cStyle === null) return null; @@ -81,7 +81,7 @@ export let element_tabbable_unobscured: Rule = { if (!zindex || zindex === 'auto') zindex = "0"; - var elems = doc.querySelectorAll('body *:not(script)'); + const elems = doc.querySelectorAll('body *:not(script)'); if (!elems || elems.length == 0) return; @@ -96,27 +96,28 @@ export let element_tabbable_unobscured: Rule = { if (ruleContext.contains(elem)) { //the next node in elems will be after the target node (ruleContext). before = false; - } else { - if (VisUtil.isNodeVisible(elem) && !elem.contains(ruleContext)) { - const bnds = mapper.getBounds(elem); - var zStyle = win.getComputedStyle(elem); - let z_index = '0'; - if (zStyle) { - z_index = zStyle.zIndex; - if (!z_index || isNaN(Number(z_index))) - z_index = "0"; - } - if (bnds.height !== 0 && bnds.width !== 0 - && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height - && bnds.left + bnds.height >= bounds.left + bounds.width - && (before ? parseInt(zindex) < parseInt(z_index): parseInt(zindex) <= parseInt(z_index))) - violations.push(elem); + } else if (VisUtil.isNodeVisible(elem) && !elem.contains(ruleContext)) { + const bnds = mapper.getBounds(elem); + const zStyle = win.getComputedStyle(elem); + let z_index = '0'; + if (zStyle) { + z_index = zStyle.zIndex; + if (!z_index || isNaN(Number(z_index))) + z_index = "0"; + } + if (bnds.height !== 0 && bnds.width !== 0 + && bnds.top <= bounds.top && bnds.left <= bounds.left && bnds.top + bnds.height >= bounds.top + bounds.height + && bnds.left + bnds.height >= bounds.left + bounds.width + && (before ? parseInt(zindex) < parseInt(z_index): parseInt(zindex) <= parseInt(z_index))) + { + violations.push(elem); } } }); - if (violations.length > 0) + if (violations.length > 0) { return RulePotential("potential_obscured", []); + } return RulePass("pass"); } From 6b20c8765c2158d36c22fe367afd573492e15348 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 13 Oct 2023 09:01:27 -0500 Subject: [PATCH 19/39] fix the rule #1676 --- .../src/v4/rules/element_tabbable_unobscured.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts index 72b0cbe7f..7d6057c6b 100644 --- a/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts +++ b/accessibility-checker-engine/src/v4/rules/element_tabbable_unobscured.ts @@ -45,7 +45,7 @@ export let element_tabbable_unobscured: Rule = { act: [], run: (context: RuleContext, options?: {}, contextHierarchies?: RuleContextHierarchy): RuleResult | RuleResult[] => { const ruleContext = context["dom"].node as HTMLElement; - if (!VisUtil.isNodeVisible(ruleContext) || (!RPTUtil.isTabbable(ruleContext) && (!ruleContext .hasAttribute("tabindex")|| parseInt(ruleContext.getAttribute("tabindex")) < 0))) + if (!VisUtil.isNodeVisible(ruleContext) || !RPTUtil.isTabbable(ruleContext)) return null; const nodeName = ruleContext.nodeName.toLocaleLowerCase(); From 316d771f1b21bf68952d3f9ececb4dfee19da930 Mon Sep 17 00:00:00 2001 From: Tom Brunet Date: Mon, 16 Oct 2023 11:10:47 -0500 Subject: [PATCH 20/39] match chromedriver to installed browser --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3cd9b5449..4bc06711f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -351,6 +351,8 @@ jobs: - run: npm install working-directory: accessibility-checker/test/webdriverio + - run: npm install chromedriver --detect_chromedriver_version + working-directory: accessibility-checker/test/webdriverio - run: npm run wdio working-directory: accessibility-checker/test/webdriverio From 5712255ce9941ab1c4cfa09b1140ed4dd0c83994 Mon Sep 17 00:00:00 2001 From: Tom Brunet Date: Mon, 16 Oct 2023 11:11:58 -0500 Subject: [PATCH 21/39] Use npmrc file instead --- .github/workflows/test.yml | 2 -- accessibility-checker/test/webdriverio/.npmrc | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 accessibility-checker/test/webdriverio/.npmrc diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4bc06711f..3cd9b5449 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -351,8 +351,6 @@ jobs: - run: npm install working-directory: accessibility-checker/test/webdriverio - - run: npm install chromedriver --detect_chromedriver_version - working-directory: accessibility-checker/test/webdriverio - run: npm run wdio working-directory: accessibility-checker/test/webdriverio diff --git a/accessibility-checker/test/webdriverio/.npmrc b/accessibility-checker/test/webdriverio/.npmrc new file mode 100644 index 000000000..97cd62d1d --- /dev/null +++ b/accessibility-checker/test/webdriverio/.npmrc @@ -0,0 +1 @@ +detect_chromedriver_version=true From 1eed439a085ab5e20624d6d074e03727c1310e02 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Thu, 19 Oct 2023 13:48:14 -0500 Subject: [PATCH 22/39] debug info #1676 --- .../test/webdriverio/test/specs/example.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 25bc94fe9..4829684df 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -164,7 +164,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { if (pc !== 0) return pc; return b.ruleId.localeCompare(a.ruleId); }) - // console.log(expectedInfo.results); + console.log("report=" + JSON.stringify(filtReport)); expect(filtReport).toEqual(expectedInfo.results); } else if (legacyExpectedInfo) { let expectedInfo = {} From fb39ea6e7ab2d1997c01e59debc637585b384b94 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Thu, 19 Oct 2023 14:14:05 -0500 Subject: [PATCH 23/39] debug #1676 --- .../test/webdriverio/test/specs/example.e2e.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 4829684df..a3740379d 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -123,7 +123,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { let report = null; // Perform the accessibility scan using the IBMaScan Wrapper - let result = await getCompliance(browser, "WDIO_" + unitTestFile); + let result = await getCompliance(browser, "WDIO_" + unitTestFile);console.log("report=" + JSON.stringify(result.report)); if (!result || !result.report) { try { expect(false).toEqual(true); } catch (e) { console.error("\nWas unable to scan: " + unitTestFile); @@ -164,7 +164,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { if (pc !== 0) return pc; return b.ruleId.localeCompare(a.ruleId); }) - console.log("report=" + JSON.stringify(filtReport)); + // console.log(expectedInfo.results); expect(filtReport).toEqual(expectedInfo.results); } else if (legacyExpectedInfo) { let expectedInfo = {} From 009bedd8c9d45dbef42a145d9a6c290e405a3577 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Thu, 19 Oct 2023 14:48:49 -0500 Subject: [PATCH 24/39] update the debug info #1676 --- .../test/webdriverio/test/specs/example.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index a3740379d..44b6298cb 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -93,7 +93,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { var originalTimeout; // let count = 10; // Loop over all the unitTestcase html/htm files and perform a scan for them - for (var unitTestFile in unitTestcaseHTML) { + for (var unitTestFile in unitTestcaseHTML) { if (!unitTestFile.includes("element_overlaid_visible_zindex")) continue; if (unitTestFile in skipMap) continue; console.log(unitTestFile); // if (count-- < 0) continue; From 46ade20f6bf89c188ebfcbc3b8ac5fd58662b6aa Mon Sep 17 00:00:00 2001 From: Shunguo Date: Thu, 19 Oct 2023 16:14:08 -0500 Subject: [PATCH 25/39] debug #1676 --- .../test/webdriverio/test/specs/example.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 44b6298cb..3a3a0d50b 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -95,7 +95,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { // Loop over all the unitTestcase html/htm files and perform a scan for them for (var unitTestFile in unitTestcaseHTML) { if (!unitTestFile.includes("element_overlaid_visible_zindex")) continue; if (unitTestFile in skipMap) continue; - console.log(unitTestFile); + console.log("unitTestFile=" + unitTestFile); // if (count-- < 0) continue; // Get the extension of the file we are about to scan var fileExtension = unitTestFile.substr(unitTestFile.lastIndexOf('.') + 1); From 7d2544d5cc7b453f00b832e62070bb049dfe9852 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Thu, 19 Oct 2023 17:07:18 -0500 Subject: [PATCH 26/39] debug #1676 --- .../test/webdriverio/test/specs/example.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 3a3a0d50b..6659c9d36 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -29,7 +29,7 @@ before(async function () { }); let rulesets = checker.rulesets; - rulesets.forEach(function (rs) { + rulesets.forEach(function (rs) { console.log("rulesets=" +JSON.stringify(rulesets)); if (rs.id in policyMap) { for (const cp of rs.checkpoints) { for (const rule of cp.rules) { From 45c5524fbdff5b87fdc6910ae9e27136638ee60d Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Thu, 19 Oct 2023 17:21:11 -0500 Subject: [PATCH 27/39] Rule set headings --- accessibility-checker-engine/src/v4/rulesets.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/accessibility-checker-engine/src/v4/rulesets.ts b/accessibility-checker-engine/src/v4/rulesets.ts index dd0c6d062..402279e68 100644 --- a/accessibility-checker-engine/src/v4/rulesets.ts +++ b/accessibility-checker-engine/src/v4/rulesets.ts @@ -73,8 +73,8 @@ const summaries = { "3.3.4": "For content that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, the user can reverse, correct, or confirm the action.", "4.1.2": "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.", "4.1.3": "In content implemented using markup languages, status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", - "HTML": "The HTML specification issues that cause accessibility issues may be covered by other rules and will be reported under those accessibility requirements. However, some non-conforming HTML specification issues are reported.", - "ARIA": "The ARIA specification issues that cause accessibility issues may be covered by other rules and will be reported under those accessibility requirements. However, some non-conforming ARIA specification issues are reported.", + "HTML": "The HTML specification issues that cause accessibility issues may be covered by other rules and will be reported under those accessibility requirements. However, some non-conforming HTML specification issues are still reported.", + "ARIA": "The ARIA specification issues that cause accessibility issues may be covered by other rules and will be reported under those accessibility requirements. However, some non-conforming ARIA specification issues are still reported.", } export let a11yRulesets: Guideline[] = [ @@ -107,7 +107,7 @@ export let a11yRulesets: Guideline[] = [ id: "IBM_Accessibility", name: "IBM Accessibility 7.2", category: eGuidelineCategory.ACCESSIBILITY, - description: "Rules for WCAG 2.1 AA plus additional IBM checklist supplemental requirements.", + description: "Rules for WCAG 2.0 & 2.1 A and AA plus additional IBM supplemental requirements.", // This ruleset has all 2.0 and 2.1 checkpoints that are A or AA checkpoints: SCs .filter(sc => (sc.level === "A" || sc.level === "AA" || sc.level === "NA") && (sc.wcagType === "2.0" || sc.wcagType === "2.1" || sc.wcagType === "2.2" || sc.wcagType === "NA")) @@ -123,7 +123,7 @@ export let a11yRulesets: Guideline[] = [ id: "WCAG_2_2", name: "WCAG 2.2 (A, AA)", category: eGuidelineCategory.ACCESSIBILITY, - description: "Rules for WCAG 2.2 AA. This is the current W3C recommendation. Content that conforms to WCAG 2.2 also conforms to WCAG 2.1.", + description: "Rules for WCAG 2.2 A & AA. This is the current W3C recommendation (specification). Content that conforms to WCAG 2.2 also conforms to WCAG 2.1.", // This ruleset has all 2.0 and 2.1 checkpoints that are A or AA checkpoints: SCs .filter(sc => (sc.level === "A" || sc.level === "AA") && (sc.wcagType === "2.0" || sc.wcagType === "2.1" || sc.wcagType === "2.2")) @@ -139,7 +139,7 @@ export let a11yRulesets: Guideline[] = [ id: "WCAG_2_1", name: "WCAG 2.1 (A, AA)", category: eGuidelineCategory.ACCESSIBILITY, - description: "Rules for WCAG 2.1 AA. This is the current W3C recommendation. Content that conforms to WCAG 2.1 also conforms to WCAG 2.0.", + description: "Rules for WCAG 2.1 A & AA. This is the current W3C recommendation. Content that conforms to WCAG 2.1 also conforms to WCAG 2.0.", // This ruleset has all 2.0 and 2.1 checkpoints that are A or AA checkpoints: SCs .filter(sc => (sc.level === "A" || sc.level === "AA") && (sc.wcagType === "2.0" || sc.wcagType === "2.1")) @@ -155,7 +155,7 @@ export let a11yRulesets: Guideline[] = [ id: "WCAG_2_0", name: "WCAG 2.0 (A, AA)", category: eGuidelineCategory.ACCESSIBILITY, - description: "Rules for WCAG 2.0 AA. Referenced by US Section 508, but not the latest W3C recommendation.", + description: "Rules for WCAG 2.0 A & AA. Referenced by US Section 508, but not the latest W3C recommendation.", // This ruleset has all 2.0 checkpoints that are A or AA checkpoints: SCs .filter(sc => (sc.level === "A" || sc.level === "AA") && (sc.wcagType === "2.0")) From d58ee6f42baa93c4b16c35e0db8b4d26da0e885e Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Thu, 19 Oct 2023 17:24:04 -0500 Subject: [PATCH 28/39] Rule set headings --- accessibility-checker-engine/src/v4/sc-urls.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/accessibility-checker-engine/src/v4/sc-urls.json b/accessibility-checker-engine/src/v4/sc-urls.json index bd7be2f9d..48a5bba95 100644 --- a/accessibility-checker-engine/src/v4/sc-urls.json +++ b/accessibility-checker-engine/src/v4/sc-urls.json @@ -955,7 +955,7 @@ "test": "", "howToMeetUrl": "https://html.spec.whatwg.org/multipage/", "understandingUrl": "https://html.spec.whatwg.org/multipage/", - "handle": "HTML Messages", + "handle": "specification", "level": "NA", "wcagType": "NA" }, @@ -967,8 +967,8 @@ "test": "", "howToMeetUrl": "https://w3c.github.io/aria/", "understandingUrl": "https://w3c.github.io/aria/", - "handle": "ARIA Messages", + "handle": "specification", "level": "NA", "wcagType": "NA" } - } \ No newline at end of file + } From 9e6b2ab58f8dfbb997f338b1a1b5c08f13d7820a Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 12:05:52 -0500 Subject: [PATCH 29/39] more debug #1676 --- .../test/webdriverio/test/specs/example.e2e.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 6659c9d36..29bfe1f59 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -28,8 +28,8 @@ before(async function () { policyMap[policy] = true; }); - let rulesets = checker.rulesets; - rulesets.forEach(function (rs) { console.log("rulesets=" +JSON.stringify(rulesets)); + let rulesets = checker.rulesets; console.log("rulesets=" +JSON.stringify(rulesets)); + rulesets.forEach(function (rs) { if (rs.id in policyMap) { for (const cp of rs.checkpoints) { for (const rule of cp.rules) { @@ -39,7 +39,7 @@ before(async function () { } }); }); - +console.log("validList=" +JSON.stringify(validList)); console.log("policyMap=" +JSON.stringify(policyMap)); after(async () => { // await browser.close(); }) @@ -123,13 +123,13 @@ describe("Rule Unit Tests from WebdriverIO", function () { let report = null; // Perform the accessibility scan using the IBMaScan Wrapper - let result = await getCompliance(browser, "WDIO_" + unitTestFile);console.log("report=" + JSON.stringify(result.report)); + let result = await getCompliance(browser, "WDIO_" + unitTestFile); if (!result || !result.report) { try { expect(false).toEqual(true); } catch (e) { console.error("\nWas unable to scan: " + unitTestFile); return Promise.reject(e); } } - report = result.report; + report = result.report; console.log("report=" + JSON.stringify(report)); let unitTestInfo = await browser.execute(() => ({ legacyExpectedInfo: (typeof ((window as any).OpenAjax) !== 'undefined' && (window as any).OpenAjax && (window as any).OpenAjax.a11y && (window as any).OpenAjax.a11y.ruleCoverage), expectedInfo: (typeof ((window as any).UnitTest) !== 'undefined' && (window as any).UnitTest) From ecbbcea756ef842f6d1842e67a61c73aece24da4 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 13:31:28 -0500 Subject: [PATCH 30/39] Update example.e2e.ts --- .../test/webdriverio/test/specs/example.e2e.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 29bfe1f59..7ee325f12 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -134,10 +134,11 @@ describe("Rule Unit Tests from WebdriverIO", function () { legacyExpectedInfo: (typeof ((window as any).OpenAjax) !== 'undefined' && (window as any).OpenAjax && (window as any).OpenAjax.a11y && (window as any).OpenAjax.a11y.ruleCoverage), expectedInfo: (typeof ((window as any).UnitTest) !== 'undefined' && (window as any).UnitTest) })); - + // Extract the ruleCoverage object from the unit testcases that is loaded on to the iframe. let expectedInfo = unitTestInfo.expectedInfo; let legacyExpectedInfo = unitTestInfo.legacyExpectedInfo; + console.log('expectedInfo=' + expectedInfo + ', legacyExpectedInfo=' + legacyExpectedInfo); if (expectedInfo && expectedInfo.ruleIds) { let filtReport = []; for (const issue of report.results) { From 625e65ffe3156a19bd8ad4e3d2d04822cfe5f148 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 13:46:50 -0500 Subject: [PATCH 31/39] Update example.e2e.ts --- .../test/webdriverio/test/specs/example.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index 7ee325f12..ed38bb7e0 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -138,7 +138,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { // Extract the ruleCoverage object from the unit testcases that is loaded on to the iframe. let expectedInfo = unitTestInfo.expectedInfo; let legacyExpectedInfo = unitTestInfo.legacyExpectedInfo; - console.log('expectedInfo=' + expectedInfo + ', legacyExpectedInfo=' + legacyExpectedInfo); + console.log('expectedInfo=' + JSON.stringify(expectedInfo) + ', legacyExpectedInfo=' + legacyExpectedInfo); if (expectedInfo && expectedInfo.ruleIds) { let filtReport = []; for (const issue of report.results) { From fab6a323fe3e5df9363867d860789273b88d0f21 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 14:05:23 -0500 Subject: [PATCH 32/39] Update example.e2e.ts --- .../test/webdriverio/test/specs/example.e2e.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index ed38bb7e0..a5e80e294 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -165,7 +165,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { if (pc !== 0) return pc; return b.ruleId.localeCompare(a.ruleId); }) - // console.log(expectedInfo.results); + console.log("filtReport=" + JSON.stringify(filtReport)); expect(filtReport).toEqual(expectedInfo.results); } else if (legacyExpectedInfo) { let expectedInfo = {} From 8acf2074d098458a99e7ff74a51ffc3cd6568cf7 Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 14:39:55 -0500 Subject: [PATCH 33/39] Update ACHelper.ts --- accessibility-checker/src-ts/lib/ACHelper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/src-ts/lib/ACHelper.ts b/accessibility-checker/src-ts/lib/ACHelper.ts index ed57977be..87b68ef59 100644 --- a/accessibility-checker/src-ts/lib/ACHelper.ts +++ b/accessibility-checker/src-ts/lib/ACHelper.ts @@ -287,7 +287,7 @@ cb(e); async function getComplianceHelperWebDriverIO(label, parsed, curPol) : Promise { - try { + try { console.log("label="+label +", curPol=" + JSON.stringify(curPol)); const startScan = Date.now(); // NOTE: Engine should already be loaded const page = parsed; From 72f56c33e6b27b61f06df57acd7322a2a0ab364b Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 14:55:57 -0500 Subject: [PATCH 34/39] Update ACHelper.ts --- accessibility-checker/src-ts/lib/ACHelper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker/src-ts/lib/ACHelper.ts b/accessibility-checker/src-ts/lib/ACHelper.ts index 87b68ef59..2c63db56e 100644 --- a/accessibility-checker/src-ts/lib/ACHelper.ts +++ b/accessibility-checker/src-ts/lib/ACHelper.ts @@ -55,7 +55,7 @@ class MyFS implements IAbstractAPI { async function initialize() { if (Config) return; - Config = await ACConfigManager.getConfigUnsupported(); + Config = await ACConfigManager.getConfigUnsupported(); console.log("Config=" + JSON.stringify(Config)); await ACEngineManager.loadEngineLocal(); let absAPI = new MyFS(); let refactorMap : RefactorMap = {} From 82bfc5a18bb07474525fb71c52af37a76b48272c Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 15:04:19 -0500 Subject: [PATCH 35/39] Update .achecker.yml --- accessibility-checker/test/webdriverio/.achecker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/accessibility-checker/test/webdriverio/.achecker.yml b/accessibility-checker/test/webdriverio/.achecker.yml index 2d2a8c666..c4af7e443 100644 --- a/accessibility-checker/test/webdriverio/.achecker.yml +++ b/accessibility-checker/test/webdriverio/.achecker.yml @@ -13,6 +13,7 @@ ignoreHTTPSErrors: true # We are setting no policies because we want the unit test to run for all policies policies: - IBM_Accessibility + - WCAG_2_2 # optional - Specify one or many violation levels on which to fail the test # i.e. If specified violation then the testcase will only fail if From cdc36fa242955784a45a97e510c65fd16f4af92d Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 15:17:40 -0500 Subject: [PATCH 36/39] update the webdriver test file #1676 --- accessibility-checker/.achecker.yml | 1 - accessibility-checker/src-ts/lib/ACHelper.ts | 4 ++-- .../test/webdriverio/test/specs/example.e2e.ts | 14 +++++++------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/accessibility-checker/.achecker.yml b/accessibility-checker/.achecker.yml index e2465fd35..ba8a55c75 100644 --- a/accessibility-checker/.achecker.yml +++ b/accessibility-checker/.achecker.yml @@ -13,7 +13,6 @@ ignoreHTTPSErrors: true # We are setting no policies because we want the unit test to run for all policies policies: - IBM_Accessibility - - WCAG_2_2 # optional - Specify one or many violation levels on which to fail the test # i.e. If specified violation then the testcase will only fail if diff --git a/accessibility-checker/src-ts/lib/ACHelper.ts b/accessibility-checker/src-ts/lib/ACHelper.ts index 2c63db56e..ab1cd9ce3 100644 --- a/accessibility-checker/src-ts/lib/ACHelper.ts +++ b/accessibility-checker/src-ts/lib/ACHelper.ts @@ -55,7 +55,7 @@ class MyFS implements IAbstractAPI { async function initialize() { if (Config) return; - Config = await ACConfigManager.getConfigUnsupported(); console.log("Config=" + JSON.stringify(Config)); + Config = await ACConfigManager.getConfigUnsupported(); await ACEngineManager.loadEngineLocal(); let absAPI = new MyFS(); let refactorMap : RefactorMap = {} @@ -287,7 +287,7 @@ cb(e); async function getComplianceHelperWebDriverIO(label, parsed, curPol) : Promise { - try { console.log("label="+label +", curPol=" + JSON.stringify(curPol)); + try { const startScan = Date.now(); // NOTE: Engine should already be loaded const page = parsed; diff --git a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts index a5e80e294..0f317c2d8 100644 --- a/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts +++ b/accessibility-checker/test/webdriverio/test/specs/example.e2e.ts @@ -28,7 +28,7 @@ before(async function () { policyMap[policy] = true; }); - let rulesets = checker.rulesets; console.log("rulesets=" +JSON.stringify(rulesets)); + let rulesets = checker.rulesets; rulesets.forEach(function (rs) { if (rs.id in policyMap) { for (const cp of rs.checkpoints) { @@ -39,7 +39,7 @@ before(async function () { } }); }); -console.log("validList=" +JSON.stringify(validList)); console.log("policyMap=" +JSON.stringify(policyMap)); + after(async () => { // await browser.close(); }) @@ -93,9 +93,9 @@ describe("Rule Unit Tests from WebdriverIO", function () { var originalTimeout; // let count = 10; // Loop over all the unitTestcase html/htm files and perform a scan for them - for (var unitTestFile in unitTestcaseHTML) { if (!unitTestFile.includes("element_overlaid_visible_zindex")) continue; + for (var unitTestFile in unitTestcaseHTML) { if (unitTestFile in skipMap) continue; - console.log("unitTestFile=" + unitTestFile); + console.log(unitTestFile); // if (count-- < 0) continue; // Get the extension of the file we are about to scan var fileExtension = unitTestFile.substr(unitTestFile.lastIndexOf('.') + 1); @@ -129,7 +129,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { console.error("\nWas unable to scan: " + unitTestFile); return Promise.reject(e); } } - report = result.report; console.log("report=" + JSON.stringify(report)); + report = result.report; let unitTestInfo = await browser.execute(() => ({ legacyExpectedInfo: (typeof ((window as any).OpenAjax) !== 'undefined' && (window as any).OpenAjax && (window as any).OpenAjax.a11y && (window as any).OpenAjax.a11y.ruleCoverage), expectedInfo: (typeof ((window as any).UnitTest) !== 'undefined' && (window as any).UnitTest) @@ -138,7 +138,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { // Extract the ruleCoverage object from the unit testcases that is loaded on to the iframe. let expectedInfo = unitTestInfo.expectedInfo; let legacyExpectedInfo = unitTestInfo.legacyExpectedInfo; - console.log('expectedInfo=' + JSON.stringify(expectedInfo) + ', legacyExpectedInfo=' + legacyExpectedInfo); + if (expectedInfo && expectedInfo.ruleIds) { let filtReport = []; for (const issue of report.results) { @@ -165,7 +165,7 @@ describe("Rule Unit Tests from WebdriverIO", function () { if (pc !== 0) return pc; return b.ruleId.localeCompare(a.ruleId); }) - console.log("filtReport=" + JSON.stringify(filtReport)); + expect(filtReport).toEqual(expectedInfo.results); } else if (legacyExpectedInfo) { let expectedInfo = {} From 202bcb1540775e78612ecb80555daf7dbe5257cf Mon Sep 17 00:00:00 2001 From: Shunguo Date: Fri, 20 Oct 2023 15:32:35 -0500 Subject: [PATCH 37/39] Update .achecker.yml --- accessibility-checker/.achecker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/accessibility-checker/.achecker.yml b/accessibility-checker/.achecker.yml index ba8a55c75..e2465fd35 100644 --- a/accessibility-checker/.achecker.yml +++ b/accessibility-checker/.achecker.yml @@ -13,6 +13,7 @@ ignoreHTTPSErrors: true # We are setting no policies because we want the unit test to run for all policies policies: - IBM_Accessibility + - WCAG_2_2 # optional - Specify one or many violation levels on which to fail the test # i.e. If specified violation then the testcase will only fail if From 5cd870820a10aada0da2f180b7c25347c919cf40 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 23 Oct 2023 10:11:54 -0500 Subject: [PATCH 38/39] Understanding URL --- accessibility-checker-engine/src/v4/sc-urls.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accessibility-checker-engine/src/v4/sc-urls.json b/accessibility-checker-engine/src/v4/sc-urls.json index 48a5bba95..a84f4603c 100644 --- a/accessibility-checker-engine/src/v4/sc-urls.json +++ b/accessibility-checker-engine/src/v4/sc-urls.json @@ -630,7 +630,7 @@ "scAltId": ["focus-not-obscured-minimum"], "test": "WCAG2:focus-not-obscured-minimum", "howToMeetUrl": "https://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum", - "understandingUrl": "https://www.w3.org/TR/WCAG22/#focus-not-obscured-minimum", + "understandingUrl": "https://www.w3.org/WAI/WCAG22/Understanding/focus-not-obscured-minimum.html", "handle": "Focus Not Obscured (Minimum)", "level": "AA", "wcagType": "2.2" From 397a5bfa63e3aaaad4c2466cba4ea1b7fc1fe264 Mon Sep 17 00:00:00 2001 From: Phill Jenkins Date: Mon, 23 Oct 2023 14:14:29 -0500 Subject: [PATCH 39/39] 4.1.1 description Added description for when 4.1.1 is listed in Rule Sets --- accessibility-checker-engine/src/v4/rulesets.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/accessibility-checker-engine/src/v4/rulesets.ts b/accessibility-checker-engine/src/v4/rulesets.ts index 402279e68..f5a4eea58 100644 --- a/accessibility-checker-engine/src/v4/rulesets.ts +++ b/accessibility-checker-engine/src/v4/rulesets.ts @@ -71,6 +71,7 @@ const summaries = { "3.3.2": "Labels or instructions are provided when content requires user input.", "3.3.3": "If an input error is automatically detected and suggestions for correction are known, then the suggestions are provided to the user, unless it would jeopardize the security or purpose of the content.", "3.3.4": "For content that cause legal commitments or financial transactions for the user to occur, that modify or delete user-controllable data in data storage systems, or that submit user test responses, the user can reverse, correct, or confirm the action.", + "4.1.1": "(Obsolete and removed) This requirement was originally adopted to address problems that assistive technology (AT) had directly parsing HTML. AT no longer has any need to directly parse HTML. Consequently, these problems either no longer exist or are addressed by other requirements.", "4.1.2": "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.", "4.1.3": "In content implemented using markup languages, status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.", "HTML": "The HTML specification issues that cause accessibility issues may be covered by other rules and will be reported under those accessibility requirements. However, some non-conforming HTML specification issues are still reported.",