From 568726b0a0b3e017a74a282bdbca64dee983d37d Mon Sep 17 00:00:00 2001 From: eirckr <62436670+eirckr@users.noreply.github.com> Date: Wed, 2 Feb 2022 07:42:29 -0800 Subject: [PATCH] rule server update (#668) --- rule-server/src/static/archives.json | 10 +- .../doc/HAAC_Accesskey_NeedLabel.mdx | 52 + .../doc/HAAC_ActiveDescendantCheck.mdx | 63 + .../doc/HAAC_Application_Role_Text.mdx | 53 + .../2022.02.01/doc/HAAC_Aria_ErrorMessage.mdx | 64 + .../2022.02.01/doc/HAAC_Aria_ImgAlt.mdx | 57 + .../doc/HAAC_Aria_Or_HTML5_Attr.mdx | 57 + .../2022.02.01/doc/HAAC_Aria_SvgAlt.mdx | 56 + .../doc/HAAC_Audio_Video_Trigger.mdx | 60 + .../doc/HAAC_BackgroundImg_HasTextOrTitle.mdx | 50 + .../archives/2022.02.01/doc/HAAC_Canvas.mdx | 69 + .../doc/HAAC_Combobox_ARIA_11_Guideline.mdx | 65 + .../doc/HAAC_Combobox_Autocomplete.mdx | 63 + .../HAAC_Combobox_Autocomplete_Invalid.mdx | 64 + .../doc/HAAC_Combobox_DOM_Focus.mdx | 48 + .../2022.02.01/doc/HAAC_Combobox_Expanded.mdx | 65 + .../HAAC_Combobox_Must_Have_Text_Input.mdx | 64 + .../2022.02.01/doc/HAAC_Combobox_Popup.mdx | 62 + .../2022.02.01/doc/HAAC_Figure_label.mdx | 61 + .../2022.02.01/doc/HAAC_Img_UsemapAlt.mdx | 59 + .../2022.02.01/doc/HAAC_Input_Placeholder.mdx | 66 + .../doc/HAAC_List_Group_ListItem.mdx | 69 + .../doc/HAAC_Media_DocumentTrigger2.mdx | 50 + .../2022.02.01/doc/HAAC_Video_HasNoTrack.mdx | 56 + .../doc/IBMA_Color_Contrast_WCAG2AA.mdx | 52 + .../doc/IBMA_Color_Contrast_WCAG2AA_PV.mdx | 55 + .../2022.02.01/doc/IBMA_Focus_MultiTab.mdx | 50 + .../2022.02.01/doc/IBMA_Focus_Tabbable.mdx | 51 + .../2022.02.01/doc/RPT_Blink_CSSTrigger1.mdx | 54 + .../doc/RPT_Block_ShouldBeHeading.mdx | 51 + .../2022.02.01/doc/RPT_Blockquote_HasCite.mdx | 50 + .../doc/RPT_Blockquote_WrapsTextQuote.mdx | 62 + .../doc/RPT_Elem_EventMouseAndKey.mdx | 60 + .../2022.02.01/doc/RPT_Elem_UniqueId.mdx | 58 + .../2022.02.01/doc/RPT_Embed_AutoStart.mdx | 50 + .../2022.02.01/doc/RPT_Embed_HasAlt.mdx | 54 + .../2022.02.01/doc/RPT_Font_ColorInForm.mdx | 51 + .../2022.02.01/doc/RPT_Form_ChangeEmpty.mdx | 53 + .../2022.02.01/doc/RPT_Header_HasContent.mdx | 49 + .../2022.02.01/doc/RPT_Headers_FewWords.mdx | 52 + .../2022.02.01/doc/RPT_Html_SkipNav.mdx | 52 + .../doc/RPT_Img_AltCommonMisuse.mdx | 52 + .../doc/RPT_Img_LongDescription2.mdx | 56 + .../2022.02.01/doc/RPT_Img_UsemapValid.mdx | 47 + .../2022.02.01/doc/RPT_Label_UniqueFor.mdx | 50 + .../2022.02.01/doc/RPT_List_Misuse.mdx | 50 + .../2022.02.01/doc/RPT_List_UseMarkup.mdx | 51 + .../2022.02.01/doc/RPT_Marquee_Trigger.mdx | 51 + .../2022.02.01/doc/RPT_Media_AltBrief.mdx | 60 + .../2022.02.01/doc/RPT_Media_AudioTrigger.mdx | 54 + .../doc/RPT_Media_AudioVideoAltFilename.mdx | 50 + .../doc/RPT_Media_VideoObjectTrigger.mdx | 52 + .../doc/RPT_Media_VideoReferenceTrigger.mdx | 48 + .../2022.02.01/doc/RPT_Meta_Refresh.mdx | 55 + .../2022.02.01/doc/RPT_Pre_ASCIIArt.mdx | 50 + .../doc/RPT_Script_OnclickHTML1.mdx | 51 + .../doc/RPT_Script_OnclickHTML2.mdx | 50 + .../doc/RPT_Style_BackgroundImage.mdx | 52 + .../doc/RPT_Style_ColorSemantics1.mdx | 50 + .../2022.02.01/doc/RPT_Style_HinderFocus1.mdx | 55 + .../2022.02.01/doc/RPT_Style_Trigger2.mdx | 55 + .../doc/RPT_Table_DataHeadingsAria.mdx | 54 + .../doc/RPT_Table_LayoutTrigger.mdx | 51 + .../doc/RPT_Text_SensoryReference.mdx | 52 + .../2022.02.01/doc/RPT_Title_Valid.mdx | 57 + .../doc/Rpt_Aria_ApplicationLandmarkLabel.mdx | 57 + .../Rpt_Aria_ArticleRoleLabel_Implicit.mdx | 57 + ...ia_ComplementaryLandmarkLabel_Implicit.mdx | 56 + ...ia_ComplementaryRequiredLabel_Implicit.mdx | 57 + ...pt_Aria_ContentinfoWithNoMain_Implicit.mdx | 60 + .../doc/Rpt_Aria_EmptyPropertyValue.mdx | 52 + ...andlerMissingRole_Native_Host_Sematics.mdx | 51 + .../doc/Rpt_Aria_GroupRoleLabel_Implicit.mdx | 69 + ...ria_InvalidTabindexForActivedescendant.mdx | 58 + .../doc/Rpt_Aria_MissingFocusableChild.mdx | 55 + .../doc/Rpt_Aria_MissingKeyboardHandler.mdx | 61 + .../Rpt_Aria_MultipleApplicationLandmarks.mdx | 61 + ...Rpt_Aria_MultipleArticleRoles_Implicit.mdx | 61 + ..._Aria_MultipleBannerLandmarks_Implicit.mdx | 61 + ...ultipleComplementaryLandmarks_Implicit.mdx | 61 + ...ltipleContentinfoInSiblingSet_Implicit.mdx | 56 + ..._MultipleContentinfoLandmarks_Implicit.mdx | 59 + .../doc/Rpt_Aria_MultipleDocumentRoles.mdx | 50 + ...pt_Aria_MultipleFormLandmarks_Implicit.mdx | 69 + .../Rpt_Aria_MultipleGroupRoles_Implicit.mdx | 61 + ...a_MultipleMainsRequireLabel_Implicit_2.mdx | 65 + ...ria_MultipleMainsVisibleLabel_Implicit.mdx | 60 + ...a_MultipleNavigationLandmarks_Implicit.mdx | 63 + ...ia_MultipleRegionsUniqueLabel_Implicit.mdx | 60 + .../doc/Rpt_Aria_MultipleSearchLandmarks.mdx | 58 + .../Rpt_Aria_MultipleToolbarUniqueLabel.mdx | 60 + ...pt_Aria_OneBannerInSiblingSet_Implicit.mdx | 56 + ...a_OrphanedContent_Native_Host_Sematics.mdx | 52 + .../doc/Rpt_Aria_RegionLabel_Implicit.mdx | 56 + ..._RequiredChildren_Native_Host_Sematics.mdx | 66 + ...ia_RequiredParent_Native_Host_Sematics.mdx | 55 + .../doc/Rpt_Aria_RequiredProperties.mdx | 62 + .../2022.02.01/doc/Rpt_Aria_ValidIdRef.mdx | 57 + .../2022.02.01/doc/Rpt_Aria_ValidProperty.mdx | 57 + .../doc/Rpt_Aria_ValidPropertyValue.mdx | 54 + .../2022.02.01/doc/Rpt_Aria_ValidRole.mdx | 61 + .../doc/Rpt_Aria_WidgetLabels_Implicit.mdx | 58 + .../doc/Valerie_Caption_HasContent.mdx | 59 + .../doc/Valerie_Caption_InTable.mdx | 54 + .../2022.02.01/doc/Valerie_Elem_DirValid.mdx | 49 + .../2022.02.01/doc/Valerie_Frame_SrcHtml.mdx | 52 + .../doc/Valerie_Label_HasContent.mdx | 50 + .../doc/Valerie_Noembed_HasContent.mdx | 58 + .../Valerie_Table_DataCellRelationships.mdx | 52 + .../2022.02.01/doc/WCAG20_A_HasText.mdx | 55 + .../2022.02.01/doc/WCAG20_A_TargetAndText.mdx | 51 + .../2022.02.01/doc/WCAG20_Applet_HasAlt.mdx | 61 + .../2022.02.01/doc/WCAG20_Area_HasAlt.mdx | 60 + .../doc/WCAG20_Blink_AlwaysTrigger.mdx | 53 + ...AContainsSkipText_Native_Host_Sematics.mdx | 55 + ..._Body_FirstASkips_Native_Host_Sematics.mdx | 60 + .../2022.02.01/doc/WCAG20_Doc_HasTitle.mdx | 59 + .../2022.02.01/doc/WCAG20_Elem_Lang_Valid.mdx | 60 + .../doc/WCAG20_Elem_UniqueAccessKey.mdx | 55 + .../doc/WCAG20_Embed_HasNoEmbed.mdx | 62 + .../doc/WCAG20_Fieldset_HasLegend.mdx | 58 + .../2022.02.01/doc/WCAG20_Form_HasSubmit.mdx | 52 + .../doc/WCAG20_Form_TargetAndText.mdx | 52 + .../2022.02.01/doc/WCAG20_Frame_HasTitle.mdx | 56 + .../2022.02.01/doc/WCAG20_Html_HasLang.mdx | 51 + .../2022.02.01/doc/WCAG20_Img_HasAlt.mdx | 52 + .../doc/WCAG20_Img_LinkTextNotRedundant.mdx | 54 + ...CAG20_Img_PresentationImgHasNonNullAlt.mdx | 51 + .../doc/WCAG20_Img_TitleEmptyWhenAltNull.mdx | 52 + .../doc/WCAG20_Input_ExplicitLabel.mdx | 54 + .../doc/WCAG20_Input_ExplicitLabelImage.mdx | 47 + .../doc/WCAG20_Input_HasOnchange.mdx | 53 + .../doc/WCAG20_Input_InFieldSet.mdx | 62 + .../doc/WCAG20_Input_LabelAfter.mdx | 55 + .../doc/WCAG20_Input_LabelBefore.mdx | 53 + .../doc/WCAG20_Input_RadioChkInFieldSet.mdx | 51 + .../doc/WCAG20_Input_VisibleLabel.mdx | 57 + .../2022.02.01/doc/WCAG20_Label_RefValid.mdx | 54 + .../doc/WCAG20_Meta_RedirectZero.mdx | 54 + .../2022.02.01/doc/WCAG20_Object_HasText.mdx | 57 + .../doc/WCAG20_Script_FocusBlurs.mdx | 53 + .../doc/WCAG20_Select_HasOptGroup.mdx | 49 + .../doc/WCAG20_Select_NoChangeAction.mdx | 53 + .../doc/WCAG20_Style_BeforeAfter.mdx | 54 + .../doc/WCAG20_Table_CapSummRedundant.mdx | 60 + .../doc/WCAG20_Table_Scope_Valid.mdx | 54 + .../2022.02.01/doc/WCAG20_Table_Structure.mdx | 51 + .../doc/WCAG20_Table_SummaryAria3.mdx | 72 + .../2022.02.01/doc/WCAG20_Text_Emoticons.mdx | 50 + .../doc/WCAG20_Text_LetterSpacing.mdx | 51 + .../doc/WCAG21_Input_Autocomplete.mdx | 77 + .../doc/WCAG21_Label_Accessible.mdx | 54 + .../2022.02.01/doc/WCAG21_Style_Viewport.mdx | 49 + .../2022.02.01/doc/a_rule_help_template.mdx | 115 + .../doc/aria_hidden_focus_misuse.mdx | 74 + .../doc/aria_semantics_attribute.mdx | 51 + .../2022.02.01/doc/aria_semantics_role.mdx | 51 + .../doc/combobox_active_descendant.mdx | 66 + .../doc/combobox_autocomplete_inline.mdx | 81 + .../doc/combobox_focusable_elements.mdx | 52 + .../2022.02.01/doc/combobox_haspopup.mdx | 65 + .../doc/combobox_popup_reference.mdx | 71 + .../2022.02.01/doc/combobox_version.mdx | 53 + .../2022.02.01/doc/landmark_name_unique.mdx | 70 + .../2022.02.01/doc/meta_viewport_zoom.mdx | 62 + .../2022.02.01/doc/table_aria_descendants.mdx | 72 + .../doc/table_headers_ref_valid.mdx | 49 + .../archives/2022.02.01/js/ace-debug.js | 24452 ++++++++++++++++ .../archives/2022.02.01/js/ace-node-debug.js | 23691 +++++++++++++++ .../static/archives/2022.02.01/js/ace-node.js | 2 + .../2022.02.01/js/ace-node.js.LICENSE.txt | 15 + .../src/static/archives/2022.02.01/js/ace.js | 2 + .../archives/2022.02.01/js/ace.js.LICENSE.txt | 15 + 173 files changed, 57626 insertions(+), 2 deletions(-) create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Accesskey_NeedLabel.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_ActiveDescendantCheck.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Application_Role_Text.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ErrorMessage.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ImgAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_Or_HTML5_Attr.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_SvgAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Audio_Video_Trigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_BackgroundImg_HasTextOrTitle.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Canvas.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_ARIA_11_Guideline.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete_Invalid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_DOM_Focus.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Expanded.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Must_Have_Text_Input.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Popup.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Figure_label.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Img_UsemapAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Input_Placeholder.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_List_Group_ListItem.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Media_DocumentTrigger2.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/HAAC_Video_HasNoTrack.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/IBMA_Color_Contrast_WCAG2AA.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/IBMA_Color_Contrast_WCAG2AA_PV.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/IBMA_Focus_MultiTab.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/IBMA_Focus_Tabbable.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Blink_CSSTrigger1.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Block_ShouldBeHeading.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Blockquote_HasCite.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Blockquote_WrapsTextQuote.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Elem_EventMouseAndKey.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Elem_UniqueId.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Embed_AutoStart.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Embed_HasAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Font_ColorInForm.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Form_ChangeEmpty.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Header_HasContent.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Headers_FewWords.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Html_SkipNav.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Img_AltCommonMisuse.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Img_LongDescription2.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Img_UsemapValid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Label_UniqueFor.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_List_Misuse.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_List_UseMarkup.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Marquee_Trigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Media_AltBrief.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Media_AudioTrigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Media_AudioVideoAltFilename.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Media_VideoObjectTrigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Media_VideoReferenceTrigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Meta_Refresh.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Pre_ASCIIArt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Script_OnclickHTML1.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Script_OnclickHTML2.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Style_BackgroundImage.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Style_ColorSemantics1.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Style_HinderFocus1.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Style_Trigger2.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Table_DataHeadingsAria.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Table_LayoutTrigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Text_SensoryReference.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/RPT_Title_Valid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ApplicationLandmarkLabel.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ArticleRoleLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ComplementaryLandmarkLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ComplementaryRequiredLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ContentinfoWithNoMain_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_EmptyPropertyValue.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_EventHandlerMissingRole_Native_Host_Sematics.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_GroupRoleLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_InvalidTabindexForActivedescendant.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MissingFocusableChild.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MissingKeyboardHandler.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleApplicationLandmarks.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleArticleRoles_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleBannerLandmarks_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleComplementaryLandmarks_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleContentinfoInSiblingSet_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleContentinfoLandmarks_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleDocumentRoles.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleFormLandmarks_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleGroupRoles_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleMainsRequireLabel_Implicit_2.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleMainsVisibleLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleNavigationLandmarks_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleRegionsUniqueLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleSearchLandmarks.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_MultipleToolbarUniqueLabel.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_OneBannerInSiblingSet_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_OrphanedContent_Native_Host_Sematics.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_RegionLabel_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_RequiredChildren_Native_Host_Sematics.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_RequiredParent_Native_Host_Sematics.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_RequiredProperties.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ValidIdRef.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ValidProperty.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ValidPropertyValue.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_ValidRole.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Rpt_Aria_WidgetLabels_Implicit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Caption_HasContent.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Caption_InTable.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Elem_DirValid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Frame_SrcHtml.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Label_HasContent.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Noembed_HasContent.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/Valerie_Table_DataCellRelationships.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_A_HasText.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_A_TargetAndText.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Applet_HasAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Area_HasAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Blink_AlwaysTrigger.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Body_FirstAContainsSkipText_Native_Host_Sematics.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Body_FirstASkips_Native_Host_Sematics.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Doc_HasTitle.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Elem_Lang_Valid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Elem_UniqueAccessKey.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Embed_HasNoEmbed.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Fieldset_HasLegend.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Form_HasSubmit.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Form_TargetAndText.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Frame_HasTitle.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Html_HasLang.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Img_HasAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Img_LinkTextNotRedundant.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Img_PresentationImgHasNonNullAlt.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Img_TitleEmptyWhenAltNull.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_ExplicitLabel.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_ExplicitLabelImage.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_HasOnchange.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_InFieldSet.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_LabelAfter.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_LabelBefore.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_RadioChkInFieldSet.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_VisibleLabel.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Label_RefValid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Meta_RedirectZero.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Object_HasText.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Script_FocusBlurs.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Select_HasOptGroup.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Select_NoChangeAction.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Style_BeforeAfter.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_CapSummRedundant.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_Scope_Valid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_Structure.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_SummaryAria3.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Text_Emoticons.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG20_Text_LetterSpacing.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG21_Input_Autocomplete.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG21_Label_Accessible.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/WCAG21_Style_Viewport.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/a_rule_help_template.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/aria_hidden_focus_misuse.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/aria_semantics_attribute.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/aria_semantics_role.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/combobox_active_descendant.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/combobox_autocomplete_inline.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/combobox_focusable_elements.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/combobox_haspopup.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/combobox_popup_reference.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/combobox_version.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/landmark_name_unique.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/meta_viewport_zoom.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/table_aria_descendants.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/doc/table_headers_ref_valid.mdx create mode 100644 rule-server/src/static/archives/2022.02.01/js/ace-debug.js create mode 100644 rule-server/src/static/archives/2022.02.01/js/ace-node-debug.js create mode 100644 rule-server/src/static/archives/2022.02.01/js/ace-node.js create mode 100644 rule-server/src/static/archives/2022.02.01/js/ace-node.js.LICENSE.txt create mode 100644 rule-server/src/static/archives/2022.02.01/js/ace.js create mode 100644 rule-server/src/static/archives/2022.02.01/js/ace.js.LICENSE.txt diff --git a/rule-server/src/static/archives.json b/rule-server/src/static/archives.json index 76f3c6d9d..c930edbd6 100644 --- a/rule-server/src/static/archives.json +++ b/rule-server/src/static/archives.json @@ -4,11 +4,17 @@ "name": "Latest Deployment", "path": "/archives/latest" }, + { + "id": "01February2022", + "name": "01 February 2022 Deployment", + "path": "/archives/2022.02.01", + "latest": true + }, { "id": "17Nov2021", "name": "17 November 2021 Deployment", - "path": "/archives/2021.11.17", - "latest": true + "path": "/archives/2021.11.17" + }, { "id": "27Aug2021", diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Accesskey_NeedLabel.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Accesskey_NeedLabel.mdx new file mode 100644 index 000000000..2751fdb69 --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Accesskey_NeedLabel.mdx @@ -0,0 +1,52 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Accesskey_NeedLabel" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### The HTML element with an assigned `accesskey` attribute does not have an associated label + +
+ +An HTML element with an assigned `accesskey` attribute must have an associated label + +
+
+ + + +### Why is this important? + +The label of an HTML element with an `accesskey` attribute allows the user agent to display a list of access keys with a name describing each access key’s function. It also allows voice control users to speak the label to activate its function. + +
+ +### What to do + + * Provide a label using a `title` attribute (e.g. `Activities`); + * **Or**, use `
+ + +### About this requirement + +* [IBM 3.3.2 Labels and Instructions](https://www.ibm.com/able/requirements/requirements/#3_3_2) + +### Who does this affect? + + * People using a screen reader, including blind, low vision and neurodivergent people + * People who physically cannot use a pointing device + * People with dexterity impairment using voice control + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_ActiveDescendantCheck.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_ActiveDescendantCheck.mdx new file mode 100644 index 000000000..ecfc2853f --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_ActiveDescendantCheck.mdx @@ -0,0 +1,63 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_ActiveDescendantCheck" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### The `aria-activedescendant` property of the component does not reference the `id` of a valid child element. + +
+ +The `aria-activedescendant` property must reference the `id` of a non-empty, non-hidden active child element. + +
+
+ + + +### Why is this important? + +In a composite component where the child elements are not normally able to take keyboard focus, the `aria-activedescendant` attribute can be used to identify the child element that currently has focus. This enables proper keyboard control of the component, and allows assistive technologies to gather information about the component and its state. + +
+ +### What to do + +* Verify that the `aria-activedescendant` attribute value is the `id` of the currently active child element; +* **And**, verify that the child element is not hidden; +* **And**, verify that the child element is either a descendant of this element, or is owned by this element (indicated by using the aria-owns attribute on this element). + +The following example* shows a radio group using `aria-activedescendant` to indicate the active radio button, which is coded as a DOM descendant: + + + <h3 id="group_label_1">Pizza Crust</h3> + <ul id="rg1" class="radiogroup" role="radiogroup" aria-labelledby="group_label_1" aria-activedescendant="rb11" tabindex="0"> + <li id="rb11" role="radio" aria-checked="false">Regular crust</li> + <li id="rb12" role="radio" aria-checked="false">Deep dish</li> + <li id="rb13" role="radio" aria-checked="false">Thin crust</li> + </ul> + + +* Example code includes material copied from or derived from ARIA practices - Radio Group Example Using aria-activedescendant. Copyright © 2018-2019 W3C® (MIT, ERCIM, Keio, Beihang). + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Managing Focus in Composites Using aria-activedescendant](https://w3c.github.io/aria-practices/#kbd_focus_activedescendant) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Application_Role_Text.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Application_Role_Text.mdx new file mode 100644 index 000000000..e9e17c73f --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Application_Role_Text.mdx @@ -0,0 +1,53 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Application_Role_Text" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Verify that non-decorative static text or image content within the element with role of `"application"` is accessible + +
+ +Non-decorative static text and image content within an element with role of `"application"` must be accessible + +
+
+ + + +### Why is this important? + +Within an element with the role `"application"`, only focusable elements are accessible to users of some assistive technologies by default. Therefore, to ensure access to any non-decorative static text or image content that does not receive focus by default, it must be implemented in an accessible way. + +
+ +### What to do + +* Verify that the content is decorative; +* **Or**, associate the content with a focusable element using the `aria-labelledby` or `aria-describedby` attribute; +* **Or**, place the content in a focusable element that has role `"document"` or `"article"`; +* **Or**, manage the focus of descendants as described in [Managing Focus](https://w3c.github.io/aria-practices/#managingfocus) by updating the value of `aria-activedescendant` to reference the element containing the focused content. + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Application Role](https://w3c.github.io/aria-practices/#application) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people +* People with low vision who have trouble finding or tracking a pointer indicator on the screen +* People who physically cannot use a pointing device + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ErrorMessage.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ErrorMessage.mdx new file mode 100644 index 000000000..0d07451a8 --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ErrorMessage.mdx @@ -0,0 +1,64 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Aria_ErrorMessage" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Custom error message has invalid reference `id` + +
+ +A custom error message must reference a valid `id` and when triggered the message must be appropriately exposed + +
+
+ + + +### Why is this important? + +When a user input is detected as invalid, users expect to be informed about the error. +Using a custom error message and making the content of the error message available and exposed programmatically makes the error message accessible through audio or other channels. + +
+ +### What to do +* If the `aria-errormessage` attribute does not reference a valid `id`, update the value to reference a valid `id`; +* **Or**, if the `aria-errormessage` attribute references a valid `id`, verify the content is in a container that is not hidden when the message is triggered. + +Example: + +<!-- Initial valid state --> +<label for="startTime">Please enter a start time for the meeting:</label> +<input id="startTime" type="text" aria-errormessage="msgID" value="" aria-invalid="false"> +<span id="msgID" aria-live="off" style="visibility:hidden">Invalid time: the time must be between 9:00 AM and 5:00 PM</span> + +<!-- User has entered an invalid value --> +<label for="startTime">Please enter a start time for the meeting:</label> + +<input id="startTime" type="text" aria-errormessage="msgID" aria-invalid="true" value="11:30" PM> +<span id="msgID" aria-live="assertive" style="visibility:visible">Invalid time: the time must be between 9:00 AM and 5:00 PM</span> + +Note: Example code includes material copied from or derived from ARIA 1.1 Copyright © [2013-2017] W3C® (MIT, ERCIM, Keio, Beihang) + +
+ + +### About this requirement + +* [IBM 3.3.1 Error Identification](https://www.ibm.com/able/requirements/requirements/#3_3_1) +* [WCAG technique G84](https://www.w3.org/WAI/WCAG21/Techniques/general/G84) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ImgAlt.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ImgAlt.mdx new file mode 100644 index 000000000..df845140a --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_ImgAlt.mdx @@ -0,0 +1,57 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Aria_ImgAlt" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### ARIA widget with an `"img"` role has no label or an empty label + +
+ +Element with an `"img"` role must have a non-empty label + +
+
+ + + +### Why is this important? + +A component with an `"img"` role can contain important information as well as multiple image files. When viewed together, these elements give the impression of a single image. Providing a text alternative makes the same information accessible through audio or other channels. + +
+ +### What to do + +* Add an `aria-labelledby` attribute to the element with a `role="img"`. It must point to visible text on the page that is meaningful as a label; +* **Or**, add an `aria-label` attribute to the element with a `role="img"`; +* **Or**, only if the design cannot have a visible label, use the `title` attribute to provide a label + +Example: + +<div role="img" aria-labelledby="image1"> ... <p id="image1">Text that describes the group of images.</p></div> + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6) +* [WCAG technique ARIA16](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA16) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people +* People who turn off image-loading on their web browsers +* People using text-based browsers (e.g., Lynx) or audio interfaces + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_Or_HTML5_Attr.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_Or_HTML5_Attr.mdx new file mode 100644 index 000000000..bf357401d --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_Or_HTML5_Attr.mdx @@ -0,0 +1,57 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Aria_Or_HTML5_Attr" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### HTML5 attribute is in conflict with the associated ARIA attribute used on an input element + +
+ +HTML5 attributes must not conflict with the associated ARIA attribute used on an input element + +
+
+ + + +### Why is this important? + +Using both an HTML5 attribute and the associated ARIA attribute with the same semantic meaning on an `` element can cause a conflict that allows one of the attributes to override the other. This can lead to unexpected and confusing assistive technology behavior. + +
+ +### What to do + +Remove one of the conflicting HTML5 or ARIA attributes from the `` element. + +Example using HTML5: + +<label for="phone">* Phone number: </body> +<input type="text" id="phone" name="phone" required> + +Example uses both HTML5 and ARIA attribute indicating the input is required without any conflict: + +<label for="phone">* Phone number: </body> +<input type="text" id="phone" name="phone" required aria-required="true"> + +
+ + +### About this requirement + +* [IBM 3.3.2 Labels and Instructions](https://www.ibm.com/able/requirements/requirements/#3_3_2) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_SvgAlt.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_SvgAlt.mdx new file mode 100644 index 000000000..0e7b5e69f --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Aria_SvgAlt.mdx @@ -0,0 +1,56 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Aria_ImgAlt" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### ARIA widget with a graphics role has no label or an empty label + +
+ +Element with a graphics role must have a non-empty label + +
+
+ + + +### Why is this important? + +A component with a graphics role can contain important information as well as multiple image files. When viewed together, these elements give the impression of a single image. Providing a text alternative makes the same information accessible through audio or other channels. + +
+ +### What to do + +* Add an `aria-labelledby` attribute to the element with a `role="graphics-*"`. It must point to visible text on the page that is meaningful as a label; +* **Or**, add an `aria-label` attribute to the element with a `role="graphics-*"`; +* **Or**, only if the design cannot have a visible label, use the `title` attribute to provide a label + +Example: + +<svg xmlns="http://www.w3.org/2000/svg"> ... <circle role="graphics-symbol" cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow"></circle></svg> + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA Graphics Module](https://www.w3.org/TR/graphics-aria/) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people +* People who turn off image-loading on their web browsers +* People using text-based browsers (e.g., Lynx) or audio interfaces + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Audio_Video_Trigger.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Audio_Video_Trigger.mdx new file mode 100644 index 000000000..c389e866a --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Audio_Video_Trigger.mdx @@ -0,0 +1,60 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Audio_Video_Trigger" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Check media using ` + + + + +### Why is this important? + +HTML5 ` + + +### About this requirement + +* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people +* People with low vision who have trouble finding or tracking a pointer indicator on the screen +* People who physically cannot use a pointing device + + + +
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_BackgroundImg_HasTextOrTitle.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_BackgroundImg_HasTextOrTitle.mdx new file mode 100644 index 000000000..c98cb27b9 --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_BackgroundImg_HasTextOrTitle.mdx @@ -0,0 +1,50 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_BackgroundImg_HasTextOrTitle" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Check background image have a text alternative in system high contrast mode + +
+ +Background images that convey meaning must have a text alternative that describes the image + +
+
+ + + +### Why is this important? + +When background images convey meaning, the information is lost when the background images do not render in system high contrast mode. A text alternative can provide that information for people who use system high contrast. + +
+ +### What to do + +* Do not use background images to convey information; +* **Or**, if the background image conveys meaning, verify the information is available as text when viewing content in system high contrast mode; +* **Or**, use the `title` attribute to provide a text alternative. + +
+ + +### About this requirement + +* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1) +* [WCAG technique C9](https://www.w3.org/WAI/WCAG21/Techniques/css/C9) + +### Who does this affect? + +* People with visual impairment using color contrast enhancement + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Canvas.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Canvas.mdx new file mode 100644 index 000000000..2d186d92e --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Canvas.mdx @@ -0,0 +1,69 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Canvas" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Verify accessibility of the `` element + +
+ +The `` element may not be accessible + +
+
+ + + +### Why is this important? + +The HTML5 `` element can be used to create a canvas area on the page where an author can draw to or include graphic elements. However, canvas content is not exposed to assistive technologies like semantic HTML. To make a `` element accessible, any image content must be described in text, and interactive content must be made available in canvas fallback content that has keyboard access. + +
+ +### What to do + + * If the same functionality can be achieved using native HTML elements, do not use the `` element; + * **Or**, if the `` element contains a simple drawing, provide a `role="img"` on the `` element with a label. If the label is not sufficient to make the drawing accessible, also provide a description (`aria-describedby="foo"`); + * **Or**, if the `` element is more complex such as a static chart, or an interactive drawing, provide an alternative accessible rendering; + * **Or**, use canvas fallback content (between the `` tags) with keyboard access. + +This example shows the use of the `` element with its content exposed as an image with a ARIA `role` attribute, a label, and a description. + +<!-- Canvas exposed as an image element. --> +<canvas id="example" role="img" alt="Circles" aria-describedby="img1"></canvas> +<div id="img1"> + <p>The prose in this div describes the circles in detail</p> +</div> + +This example shows an interactive `<canvas>` with equivalent accessible information provided in the canvas fallback content. The keyboard equivalent would be applied to the corresponding fallback elements. + +<!-- Canvas exposed as a button element --> +<canvas id="roundButton" onmousedown="..." onmouseup="..." onclick="..." onkeydown="..." onkeyup="..."> + <div tabindex="0" role="button">ok</div> +</canvas> + +
+ + +### About this requirement + +* [IBM 1.1.1 Non-Text Content](https://www.ibm.com/able/requirements/requirements/#1_1_1) +* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1) +* [IBM 2.4.7 Focus Visible](https://www.ibm.com/able/requirements/requirements/#2_4_7) +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) + +### Who does this affect? + + * People who rely on keyboard control + * People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_ARIA_11_Guideline.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_ARIA_11_Guideline.mdx new file mode 100644 index 000000000..5fbded24e --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_ARIA_11_Guideline.mdx @@ -0,0 +1,65 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Combobox_ARIA_11_Guideline" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Check combobox component is coded to ARIA 1.2 Authoring Practices + +
+ +Combobox widget should be coded to ARIA 1.2 Authoring Practices + +
+
+ + + +### Why is this important? + +The features and behaviors of combobox implementations are complex and vary widely, so it is important that the recommended authoring techniques are followed to produce a fully functioning component. This ensures full keyboard control, focus management and manipulation of the roles, states, and properties. These in turn support assistive technology and provide necessary information to interact with the component. + +
+ +### What to do + +* Confirm the element with `combobox` role follows a supported design pattern as described in [ARIA practices - Combobox](https://w3c.github.io/aria-practices/#combobox); +* **And**, perform a manual test to ensure the keyboard interaction, focus management and manipulation of the roles, states, and properties work as intended. + +Alert: The guidance for combobox is changing significantly in ARIA 1.2 due to problems with implementation of the ARIA 1.1 pattern. The recommended combobox pattern for ARIA 1.2 is: + + <label for="tag_combo">Tag</label> + <input type="text" id="tag_combo" + role="combobox" aria-autocomplete="list" + aria-haspopup="listbox" aria-expanded="true" + aria-controls="popup_listbox" aria-activedescendant="selected_option"> +<ul role="listbox" id="popup_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> +</ul> + +Note, example code includes material copied from or derived from [W3C, Accessible Rich Internet Applications (ARIA) latest editor's draft](https://w3c.github.io/aria-practices/#combobox). Copyright © [2018-2021] W3C® (MIT, ERCIM, Keio, Beihang). + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Combobox](https://w3c.github.io/aria-practices/#combobox) + +### Who does this affect? + + * People who rely on keyboard control + * People using a screen reader, including blind, low vision and neurodivergent people + * People with low vision using screen magnification + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete.mdx new file mode 100644 index 000000000..0656ef99f --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete.mdx @@ -0,0 +1,63 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Combobox_Autocomplete" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### The combobox has the `aria-autocomplete` attribute set on an element that isn't a text input + +
+ +A combobox that supports autocompletion behavior must have the `aria-autocomplete` attribute only on its text input element + +
+
+ + + +### Why is this important? + +A combobox is a UI interactive component that combines an input and another element, such as a listbox or grid, that can dynamically pop up to help the user set the value of the input. Only the text entry element can have the `aria-autocomplete` attribute, otherwise assistive technologies may be unable to understand and present the component's autocomplete functionality effectively. + +
+ +### What to do + +* Remove the `aria-autocomplete` attribute from combobox elements that are not text input elements; +* **And**, if autocomplete behavior is desired, verify that the text input element of the combobox has the `aria-autocomplete` attribute. + +For example: + + <label for="tag_combo">Tag</label> + <input type="text" id="tag_combo" + role="combobox" aria-autocomplete="list" + aria-haspopup="listbox" aria-expanded="true" + aria-controls="popup_listbox" aria-activedescendant="selected_option"> +<ul role="listbox" id="popup_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> +</ul> + +Note, example code includes material copied from or derived from [ARIA 1.1 Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html). Copyright © [2013-2017] W3C® (MIT, ERCIM, Keio, Beihang). + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Combobox](https://w3c.github.io/aria-practices/#combobox) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete_Invalid.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete_Invalid.mdx new file mode 100644 index 000000000..5737bae31 --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Autocomplete_Invalid.mdx @@ -0,0 +1,64 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Combobox_Autocomplete_Invalid" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### The `aria-autocomplete` attribute value of `"inline"` is not valid for a combobox + +
+ +The `aria-autocomplete` attribute value for a combobox text input element must not be `"inline"` + +
+
+ + + +### Why is this important? + +Assistive technologies can present different types of combobox to their users according to their intended behavior. The `"inline"` value for the `aria-autocomplete` attribute is not valid for a combobox text entry element, so assistive technologies may be unable to operate it. A combobox that supports inline forms of autocomplete would do this in combination with having a popup element, and should use `aria-autocomplete="both"`. + +
+ +### What to do + +* If the combobox has autocomplete behavior that includes both inline text appearing after the user's cursor and a popup element, use `aria-autocomplete="both"`; +* **Or**, if the combobox has autocomplete behavior provided only through a popup element, use `aria-autocomplete="list"`; +* **Or**, if the combobox does not have autocomplete behavior, remove the `aria-autocomplete` attribute (the default value is `"none"`). + +For example: + + <label for="tag_combo">Tag</label> + <input type="text" id="tag_combo" + role="combobox" aria-autocomplete="list" + aria-haspopup="listbox" aria-expanded="true" + aria-controls="popup_listbox" aria-activedescendant="selected_option"> +<ul role="listbox" id="popup_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> +</ul> + +Note, example code includes material copied from or derived from [ARIA 1.1 Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html). Copyright © [2015-2019] W3C® (MIT, ERCIM, Keio, Beihang). + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Combobox](https://w3c.github.io/aria-practices/#combobox) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_DOM_Focus.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_DOM_Focus.mdx new file mode 100644 index 000000000..23216db5f --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_DOM_Focus.mdx @@ -0,0 +1,48 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Combobox_DOM_Focus" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### Initial DOM focus is not correctly set on the combobox + +
+ +Initial DOM focus on the combobox must be set on the `` input + +
+
+ + + +### Why is this important? + +A combobox is a UI interactive component that combines an input and another element, such as a listbox or grid, that can dynamically pop up to help the user set the value of the input. When a combobox receives focus, the focus should be set on the `` input element that can either display the current value or supports editing, so people who use assistive technologies are able accurately navigate and interact with the content. + +
+ +### What to do + +* Set the initial DOM focus only on the combobox’s `` input element. (Note: This was necessary for the Combobox using ARIA 1.1 implementation which should be avoided due to problems with implementation. Follow the guidance for combobox in [ARIA 1.2](https://w3c.github.io/aria-practices/#combobox) which has changed significantly.) + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Combobox](https://w3c.github.io/aria-practices/#combobox) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Expanded.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Expanded.mdx new file mode 100644 index 000000000..b9ca597a6 --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Expanded.mdx @@ -0,0 +1,65 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Combobox_Expanded" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### The `aria-owns` or the `aria-controls` attribute of the expanded combobox does not reference a valid popup `id` + +
+ +The `aria-owns` or the `aria-controls` attribute of the expanded combobox must reference a valid popup `id` + +
+
+ + + +### Why is this important? + +A combobox combines a text input element and a popup element that helps the user set the value of the input. The popup becomes visible when the combobox is in an expanded state and is controlled by using an attribute `aria-owns` or `aria-controls` referencing its `id`. When the value of the `aria-owns` or the `aria-controls` attribute of the expanded combobox does not reference a valid popup `id`, assistive technologies may not be able to present and control the content correctly. + +
+ +### What to do + + + * Code the combobox as in the ARIA 1.2 example below; + * **And**, set the value of the combobox `aria-controls` attribute to the `id` value of an element with `role="listbox"`; + * **Or**, if using the ARIA 1.1 style of combobox, update the value of the `aria-owns` attribute of the combobox to reference the `id` value of the combobox popup element; + +Alert: The guidance for combobox is changing significantly in ARIA 1.2 due to problems with implementation of the ARIA 1.1 pattern. The recommended combobox pattern for ARIA 1.2 is: + + <label for="tag_combo">Tag</label> + <input type="text" id="tag_combo" + role="combobox" aria-autocomplete="list" + aria-haspopup="listbox" aria-expanded="true" + aria-controls="popup_listbox" aria-activedescendant="selected_option"> + <ul role="listbox" id="popup_listbox"> + <li role="option">Zebra</li> + <li role="option" id="selected_option">Zoom</li> + </ul> + +Note, example code includes material copied from or derived from [W3C, Accessible Rich Internet Applications (ARIA) latest editor's draft](https://w3c.github.io/aria-practices/#combobox). Copyright © [2018-2021] W3C® (MIT, ERCIM, Keio, Beihang). + +
+ + +### About this requirement + +* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2) +* [ARIA practices - Combobox](https://w3c.github.io/aria-practices/#combobox) + +### Who does this affect? + +* People using a screen reader, including blind, low vision and neurodivergent people + + +
+
+ +export default ({ children, _frontmatter }) => ({children}) diff --git a/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Must_Have_Text_Input.mdx b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Must_Have_Text_Input.mdx new file mode 100644 index 000000000..4247ea484 --- /dev/null +++ b/rule-server/src/static/archives/2022.02.01/doc/HAAC_Combobox_Must_Have_Text_Input.mdx @@ -0,0 +1,64 @@ +--- +title: "Accessibility Checker Rule Help: HAAC_Combobox_Must_Have_Text_Input" +--- +import "../../../styles/ToolHelp.scss" +import { CodeSnippet, Tag } from "carbon-components-react"; + +
+ + + +### The text input `role` or number of lines is not valid for a combobox + +
+ +A combobox must have a single line text input element with a valid `role` + +
+
+ + + +### Why is this important? + +A combobox combines a text input element and a popup element that helps the user set the value of the input. The text input element must be a single line text field with an appropriate role, otherwise assistive technologies may not be able to present and control the content correctly. + +
+ +### What to do + + * Code the combobox as in the ARIA 1.2 example below; + * **Or**, if the text input element is multi-line (e.g. `