IBM Accessibility 7.3IBM Accessibility nextWCAG 2.2 (A, AA)WCAG 2.1 (A, AA)WCAG 2.0 (A, AA)

1.1.1 Non-text Content [A]

All non-text content that is presented to the user has a text alternative that serves the equivalent purpose.
applet_alt_exists: <applet> elements must provide an 'alt' attribute and an alternative description  ViolationAn <applet> element does not have an 'alt' attribute that provides a short text alternative ViolationThe 'alt' attribute value for an <applet> element duplicates the 'code' attribute ViolationAn <applet> element provides alternative text, but does not provide inner content img_alt_redundant: The text alternative for an image within a link should not repeat the link text or adjacent link text  ViolationLink text is repeated in an image 'alt' value within the same link ViolationLink text of previous link is repeated in image 'alt' value of a link ViolationImage 'alt' value within a link is repeated in link text of the link after img_alt_valid: Images must have accessible names unless they are decorative or redundant  ViolationImage 'alt' attribute value consists only of blank space(s) ViolationThe image has neither an accessible name nor is marked as decorative or redundant ViolationThe image does not have an 'alt' attribute or ARIA label, and the 'title' attribute value consists only of blank space(s) area_alt_exists: <area> elements in an image map must have a text alternative  Violation<area> element in an image map has no text alternative imagebutton_alt_exists: The <input> element of type "image" should have a text alternative  ViolationThe <input> element of type "image" has no text alternative imagemap_alt_exists: An image map and each <area> element in an image map must have text alternative(s)  ViolationImage map or child <area> has no text alternative img_alt_decorative: Image designated as decorative must have 'alt=""  ViolationImage designated as decorative has non-null 'alt' attribute img_alt_null: When the intent is to mark an image as decorative with an empty 'alt' attribute, the 'aria' or 'title' attributes should not be used  ViolationThe image 'alt' attribute is empty, but the 'title' attribute is not empty object_text_exists: <object> element must have a text alternative for the content rendered by the object  ViolationAn <object> element does not have a text alternative svg_graphics_labelled: A non-decorative SVG element must have an accessible name  ViolationThe SVG element has no accessible name application_content_accessible: Non-decorative static text and image content within an element with "application" role must be accessible  Needs reviewVerify that the non-decorative static text and image content within an element with "application" role are accessible img_alt_misuse: 'alt' attribute value must be a good inline replacement for the image  Needs reviewVerify that the file name serves as a good inline replacement for the image img_ismap_misuse: Server-side image map hot-spots must have duplicate text links  Needs reviewServer-side image map hot-spots do not have duplicate text links img_longdesc_misuse: The 'longdesc' attribute must reference HTML content  Needs reviewVerify that the file designated by the 'longdesc' attribute contains valid HTML content (file extension not recognized) media_alt_exists: Audio or video on the page must have a short text alternative that describes the media content  Needs reviewFilename used as label for embedded audio or video style_background_decorative: Images included by using CSS alone must not convey important information  Needs reviewVerify the CSS background image does not convey important information style_highcontrast_visible: Windows high contrast mode must be supported when using CSS to include, position or alter non-decorative content  Needs reviewConfirm Windows high contrast mode is supported when using CSS to include, position or alter non-decorative content figure_label_exists: A <figure> element must have an associated label  RecommendationThe <figure> element does not have an associated label embed_alt_exists: Provide alternative content for <embed> elements  RecommendationVerify that the <embed> element has alternative content embed_noembed_exists: <embed> elements should be immediately followed by a non-embedded element  RecommendationVerify that the <embed> element is immediately followed by a non-embedded element media_alt_brief: Alternative text in 'alt' attribute should be brief (<150 characters)  RecommendationText alternative is more than 150 characters noembed_content_exists: <noembed> elements should contain descriptive text  RecommendationAdd descriptive text to the <noembed> element canvas_content_described: The <canvas> element may not be accessible  RecommendationVerify accessibility of the <canvas> element img_alt_background: Background images that convey important information must have a text alternative that describes the image  RecommendationVerify important background image information has a text alternative in system high contrast mode

1.2.1 Audio-only and Video-only (Prerecorded) [A]

For prerecorded audio-only or video-only media, an alternative provides equivalent information.
media_audio_transcribed: Audio information should also be available in text form  RecommendationProvide transcripts for audio files

1.2.2 Captions (Prerecorded) [A]

Captions are provided for all prerecorded audio content in synchronized media.
caption_track_exists: A <video> element must have a text alternative for any meaningful audio content  Needs reviewVerify that captions are available for any meaningful audio or provide a caption track for the <video> element

1.2.3 Audio Description or Media Alternative (Prerecorded) [A]

An alternative for time-based media or audio description of the prerecorded video content is provided for synchronized media.
media_track_available: Pre-recorded media should have an audio track that describes visual information  RecommendationVerify availability of a user-selectable audio track with description of visual content

1.2.4 Captions (Live) [AA]

Captions are provided for all live audio content in synchronized media.
media_live_captioned: Live media (streaming video with audio) should have captions for audio content  RecommendationVerify captions are provided for live media (streaming video with audio)

1.2.5 Audio Description (Prerecorded) [AA]

Audio description is provided for all prerecorded video content in synchronized media.
media_track_available: Pre-recorded media should have an audio track that describes visual information  RecommendationVerify availability of a user-selectable audio track with description of visual content

1.3.1 Info and Relationships [A]

Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.
input_checkboxes_grouped: Related sets of radio buttons or checkboxes should be programmatically grouped  Violation{0} input found that has the same name, "{2}" as a {1} input Violation{0} input is not in the group with another {0} with the name "{1}" Violation{0} input and others with the name "{1}" are not grouped together Violation{0} input is in a different group than another {0} with the name "{1}" Needs reviewVerify that this ungrouped checkbox input is not related to other checkboxes Needs reviewVerify that this un-named, ungrouped checkbox input is not related to other checkboxes table_headers_ref_valid: The 'headers' attribute should refer to a valid cell in the same table  ViolationThe 'headers' attribute value "{0}" does not reference a valid 'id' in this document ViolationThe 'headers' attribute value "{0}" refers to itself ViolationThe 'headers' attribute value "{0}" does not refer to a cell in the same table ViolationThe 'headers' attribute value "{0}" does not refer to a cell indicated with <th> or a role of "columnheader" or "rowheader" fieldset_label_valid: Groups with nested inputs must have unique accessible name  ViolationGroup/Fieldset does not have an accessible name ViolationGroup/Fieldset "{0}" has a duplicate name to another group table_scope_valid: Value for 'scope' attribute must be "row", "col", "rowgroup", or "colgroup"  ViolationValue provided is invalid for the 'scope' attribute ViolationThe 'scope' attribute should only be used on a <th> element aria_hidden_nontabbable: A hidden element should not contain any tabbable elements  ViolationElement "{0}" should not be focusable within the subtree of an element with an 'aria-hidden' attribute with value 'true' aria_parent_required: Each element with an implicit or explicit role must be contained within a valid element  ViolationElement with "{0}" role is not contained in or owned by an element with one of the following roles: "{1}" form_label_unique: Form controls should have exactly one label  ViolationForm control has more than one label label_ref_valid: The 'for' attribute for a label should reference a non-empty, unique 'id' attribute of a valid element  ViolationThe value "{0}" of the 'for' attribute is not the 'id' of a valid element table_caption_empty: A <caption> element for a <table> element must contain descriptive text  ViolationThe <table> element has an empty <caption> element table_caption_nested: The <caption> element must be nested inside the associated <table> element  Violation<caption> element is not nested inside a <table> element table_headers_exists: Data table must identify headers  ViolationTable has no headers identified table_headers_related: For a complex data table, all <th> and <td> elements must be related via 'header' or 'scope' attributes  ViolationComplex table does not have headers for each cell properly defined with 'header' or 'scope' table_structure_misuse: Table elements with 'role="presentation" or 'role="none" should not have structural elements or attributes  ViolationThe <{0}> element with "presentation" role or "none" role has structural element(s) and/or attribute(s) '{1}' table_summary_redundant: The table summary must not duplicate the caption  ViolationThe table summary duplicates the caption blockquote_cite_exists: Use <blockquote> only for quotations, not indentation  Needs reviewVerify that <blockquote> should have a 'cite' attribute and not be used for indentation only heading_markup_misuse: Heading elements must not be used for presentation  Needs reviewVerify that the heading element is a genuine heading list_markup_review: Proper HTML elements should be used to create a list  Needs reviewVerify this is a list and if so, modify to use proper HTML elements for the list text_block_heading: Heading text should use a heading element or role  Needs reviewConfirm this text '{0}' is used as a heading and if so, modify to use a heading element or role text_quoted_correctly: Quotations should be marked with <q> or <blockquote> elements  Needs reviewIf the following text is a quotation, mark it as a <q> or <blockquote> element: {0} fieldset_legend_valid: <fieldset> elements should have a single, non-empty <legend> as a label  Recommendation<fieldset> element does not have a <legend> Recommendation<fieldset> element has more than one <legend> Recommendation<fieldset> element <legend> is empty aria_child_valid: An element with an ARIA role must own a required child  RecommendationThe element with role "{0}" does not own any child element with any of the following role(s): "{1}" RecommendationThe element with role "{0}" owns the child element with the role "{1}" that is not one of the allowed role(s): "{2}" input_fields_grouped: Groups of logically related input elements should be contained within a <fieldset> element  RecommendationUse the <fieldset> element to group logically related input elements list_structure_proper: List elements should only be used for lists of related items  RecommendationList element is missing or improperly structured select_options_grouped: Groups of related options within a selection list should be grouped with <optgroup>  RecommendationGroup of related options may need <optgroup> table_layout_linearized: Avoid using tables to format text documents in columns unless the table can be linearized  RecommendationVerify table is not being used to format text content in columns unless the table can be linearized

1.3.2 Meaningful Sequence [A]

When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined.
dir_attribute_valid: 'dir' attribute value must be "ltr", "rtl", or "auto"  ViolationInvalid value used for the 'dir' attribute text_whitespace_valid: Space characters should not be used to control spacing within a word  Needs reviewSpace characters should not be used to create space between the letters of a word style_highcontrast_visible: Windows high contrast mode must be supported when using CSS to include, position or alter non-decorative content  Needs reviewConfirm Windows high contrast mode is supported when using CSS to include, position or alter non-decorative content

1.3.3 Sensory Characteristics [A]

Instructions provided for understanding and operating content do not rely solely on sensory characteristics of components such as shape, size, visual location, orientation, or sound.
text_sensory_misuse: Instructions should be meaningful without relying solely on shape, size, or location words  Needs reviewConfirm the word(s) '{0}' of the user instruction is used to indicate a logical rather than visual position Needs reviewConfirm the user instruction is still understandable without the word(s) '{0}'

1.3.4 Orientation [AA]

Content does not restrict its view and operation to a single display orientation, such as portrait or landscape.
element_orientation_unlocked: Elements should not be restricted to either landscape or portrait orientation using CSS transform property  ViolationThe element <{0}> is restricted to either landscape or portrait orientation using CSS transform property

1.3.5 Identify Input Purpose [AA]

The purpose of each input field that collects information about the user can be programmatically determined when the field serves a common purpose.
input_autocomplete_valid: The 'autocomplete' attribute's token(s) must be appropriate for the input form field  ViolationThe 'autocomplete' attribute's token(s) are not appropriate for the input form field ViolationThe 'autocomplete' attribute's token(s) are not appropriate for an input form field of any type ViolationThe 'autocomplete' attribute has an incorrect value

1.4.1 Use of Color [A]

Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.
form_font_color: Combine color and descriptive markup to indicate required form fields  Needs reviewCheck color is not used as the only visual means to convey which fields are required style_color_misuse: Combine color and descriptive markup to convey information  Needs reviewVerify color is not used as the only visual means of conveying information

1.4.2 Audio Control [A]

If any audio plays automatically for more than 3 seconds, either a mechanism is available to pause or stop the audio, or a mechanism is available to control audio volume independently from the overall system volume level.
media_autostart_controllable: Mechanism must be available to pause or stop and control the volume of the audio that plays automatically  Needs reviewVerify there is a mechanism to pause or stop and control the volume for the audio that plays automatically

1.4.3 Contrast (Minimum) [AA]

The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, with a 3:1 ratio for large-scale text.
text_contrast_sufficient: The contrast ratio of text with its background must meet WCAG AA requirements  ViolationText contrast of {0} with its background is less than the WCAG AA minimum requirements for text of size {1}px and weight of {2} Needs reviewThe foreground text and its background color are both detected as {3}. Verify the text meets the WCAG AA requirements for minimum contrast Needs reviewVerify the contrast ratio of the text against the lightest and the darkest colors of the background meets the WCAG AA minimum requirements for text of size {1}px and weight of {2} Needs reviewVerify the contrast ratio of the text with shadow meets the WCAG AA minimum requirements for text of size {1}px and weight of {2}

1.4.4 Resize text [AA]

Text can be resized without assistive technology up to 200 percent without loss of content or functionality.
style_viewport_resizable: Text must scale up to 200% without loss of content or functionality  Needs reviewVerify that text sized using viewport units can be resized up to 200% meta_viewport_zoomable: The 'meta[name=viewport]' should not prevent the browser zooming the content  RecommendationConfirm the 'meta[name=viewport]' with "{0}" can be zoomed by user

1.4.5 Images of Text [AA]

If the technologies being used can achieve the visual presentation, text should not be used to convey information rather than images of text.

1.4.10 Reflow [AA]

Content can reflow without loss of information or functionality, and without requiring scrolling in two dimensions.
style_viewport_resizable: Text must scale up to 200% without loss of content or functionality  Needs reviewVerify that text sized using viewport units can be resized up to 200%

1.4.11 Non-text Contrast [AA]

The parts of graphical objects required to understand the content, and the visual information required to identify UI components and states, have a contrast ratio of at least 3:1 against adjacent colors.
style_highcontrast_visible: Windows high contrast mode must be supported when using CSS to include, position or alter non-decorative content  Needs reviewConfirm Windows high contrast mode is supported when using CSS to include, position or alter non-decorative content

1.4.12 Text Spacing [AA]

No loss of content or functionality occurs when users change letter, word and paragraph spacing, as well as line height.
text_spacing_valid: CSS !important should not be used in inline style to control letter or word spacing or line height  ViolationCSS !important should not be used in inline ‘letter-spacing’ style ViolationCSS !important should not be used in inline ‘word-spacing’ style ViolationCSS !important should not be used in inline ‘line-height’ style

1.4.13 Content on Hover or Focus [AA]

Where hover or focus actions cause additional content to become visible and hidden, the additional content is dismissable, hoverable and persistent.
style_hover_persistent: The pointer should be able to move over content displayed on hover  Needs reviewConfirm the pointer can be positioned over the displayed element, not just the trigger Needs reviewConfirm the pointer can be positioned over all the information displayed on hover Needs reviewConfirm the margin style attribute has not prevented the pointer from hovering over the displayed element, not just the trigger

2.1.1 Keyboard [A]

All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes.
aria_activedescendant_tabindex_valid: Element using 'aria-activedescendant' property should be tabbable  ViolationThe <{0}> element using 'aria-activedescendant' set to "{1}" is not tabbable aria_child_tabbable: UI component must have at least one tabbable descendant for keyboard access  ViolationNone of the descendent elements with "{1}" role is tabbable iframe_interactive_tabbable: Iframe with interactive content should not be excluded from tab order using tabindex  ViolationThe <iframe> with interactive content is excluded from tab order using tabindex application_content_accessible: Non-decorative static text and image content within an element with "application" role must be accessible  Needs reviewVerify that the non-decorative static text and image content within an element with "application" role are accessible aria_keyboard_handler_exists: Interactive WAI_ARIA UI components must provide keyboard access  Needs reviewVerify the <{0}> element with "{1}" role has keyboard access script_focus_blur_review: Scripting must not remove focus from content that normally receives focus  Needs reviewVerify script does not remove focus from content that normally receives focus script_onclick_misuse: Scripts should not be used to emulate links  Needs reviewPossible use of a script to emulate a link widget_tabbable_exists: Component must have at least one tabbable element  Needs reviewComponent with "{0}" role does not have a tabbable element widget_tabbable_single: Components with a widget role must have no more than one tabbable element  Needs reviewComponent with "{0}" role has more than one tabbable element media_keyboard_controllable: Media using <audio> and/or <video> elements must have keyboard accessible controls  Needs reviewVerify media using <audio> and/or <video> elements have keyboard accessible controls script_onclick_avoid: Scripts should not be used to emulate links  RecommendationVerify that 'onclick' events are not used in script to emulate a link canvas_content_described: The <canvas> element may not be accessible  RecommendationVerify accessibility of the <canvas> element element_mouseevent_keyboard: All interactive content with mouse event handlers must have equivalent keyboard access  RecommendationConfirm the <{0}> element with mouse event handler(s) '{1}' has a corresponding keyboard handler(s)

2.1.2 No Keyboard Trap [A]

If keyboard focus can be moved to a component using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away.
download_keyboard_controllable: File download mechanisms should be keyboard-operable and preserve page focus location  RecommendationVerify that the file download mechanism does not cause a keyboard trap

2.1.4 Character Key Shortcuts [A]

If a keyboard shortcut is implemented using only letter, punctuation, number or symbol characters, then the shortcut can be turned off, remapped or activated only on focus.

2.2.1 Timing Adjustable [A]

For each time limit that is set by the content, the user can turn off, adjust, or extend the limit.
meta_refresh_delay: Pages should not refresh automatically  Needs reviewVerify page is not being caused to refresh automatically

2.2.2 Pause, Stop, Hide [A]

For moving, blinking, scrolling, or auto-updating information, the user can pause, stop, hide or adjust the information.
blink_elem_deprecated: Content that blinks persistently must not be used  ViolationContent found that blinks persistently marquee_elem_avoid: The <marquee> element is obsolete and should not be used  ViolationScrolling content found that uses the obsolete <marquee> element blink_css_review: Do not use the "blink" value of the 'text-decoration' property for longer than five seconds  Needs reviewCheck the "blink" value of the CSS 'text-decoration' property is not used for more than than five seconds

2.3.1 Three Flashes or Below Threshold [A]

Content does not contain anything that flashes more than three times in any one second period, or the flash is below the general flash and red flash thresholds.

2.4.1 Bypass Blocks [A]

A mechanism is available to bypass blocks of content that are repeated on multiple Web pages.
aria_application_label_unique: Each element with "application" role must have a unique label that describes its purpose  ViolationMultiple elements with "application" role do not have unique labels aria_application_labelled: Each element with "application" role must have a label that describes its purpose  ViolationElement with "application" role does not have a label aria_article_label_unique: Each element with "article" role must have a unique label that describes its purpose  ViolationMultiple elements with "article" role do not have unique labels aria_banner_label_unique: Each element with "banner" role must have a unique label that describes its purpose  ViolationMultiple elements with "banner" role do not have unique labels aria_banner_single: A page, document, or application should only have one element with "banner" role  ViolationMultiple elements with "banner" role found on the page aria_complementary_label_unique: Each element with "complementary" role must have a unique label that describes its purpose  ViolationMultiple elements with "complementary" role do not have unique labels aria_complementary_labelled: Each element with "complementary" role must have a label that describes its purpose  ViolationElement with "complementary" role does not have a label aria_content_in_landmark: All content must reside within an element with a landmark role  ViolationContent is not within a landmark element aria_contentinfo_label_unique: Each element with "contentinfo" role must have a unique label that describes its purpose  ViolationMultiple elements with "contentinfo" role do not have unique labels aria_contentinfo_single: A page, document, or application should only have one element with "contentinfo" role  ViolationMultiple elements with "contentinfo" role found on the page aria_document_label_unique: Each element with "document" role must have a unique label that describes its purpose  ViolationMultiple elements with "document" roles do not have unique labels aria_form_label_unique: Each element with "form" role must have a unique label that describes its purpose  ViolationMultiple elements with "form" role do not have unique labels aria_landmark_name_unique: Each landmark should have a unique 'aria-labelledby' or 'aria-label' or be nested in a different parent region  ViolationMultiple elements with "{0}" landmarks within the same parent region are not distinguished from one another because they have the same "{1}" label aria_main_label_unique: Each element with "main" role must have unique label that describes its purposes  ViolationMultiple elements with "main" role do not have unique labels aria_navigation_label_unique: Each element with "navigation" role must have a unique label that describes its purpose  ViolationMultiple elements with "navigation" role do not have unique labels aria_region_label_unique: Each element with "region" role must have a unique label that describes its purpose  ViolationMultiple elements with "region" role do not have unique labels aria_region_labelled: Each element with "region" role must have a label that describes its purpose  ViolationElement with "region" role does not have a label aria_toolbar_label_unique: Each element with "toolbar" role must have a unique label that describes its purpose  ViolationMultiple elements with "toolbar" roles do not have unique labels skip_main_exists: Pages must provide a way to skip directly to the main content  ViolationThe page does not provide a way to quickly navigate to the main content (ARIA "main" landmark or a skip link) frame_src_valid: A <frame> containing non-HTML content must be made accessible  Needs reviewVerify <frame> content is accessible html_skipnav_exists: Provide a way to bypass blocks of content that are repeated on multiple Web pages  Needs reviewVerify there is a way to bypass blocks of content that are repeated on multiple Web pages skip_main_described: The description of a hyperlink used to skip content must communicate where it links to  Needs reviewVerify that if this hyperlink skips content, the description communicates where it links to aria_complementary_label_visible: Each element with "complementary" role should have a visible label that describes its purpose  RecommendationElement with "complementary" role does not have a visible label aria_contentinfo_misuse: Each element with "contentinfo" role is only permitted with an element with "main" role  RecommendationElement with "contentinfo" role is present without an element with "main" role aria_main_label_visible: Each element with "main" role should have a unique visible label that describes its purpose  RecommendationMultiple elements with "main" role do not have unique visible labels

2.4.2 Page Titled [A]

Web pages, non-web documents, and software have titles that describe topic or purpose.
page_title_exists: The page should have a title that correctly identifies the subject of the page  ViolationMissing <head> element so there can be no <title> element present ViolationMissing <title> element in <head> element ViolationThe <title> element is empty (no innerHTML) page_title_valid: Page <title> should be a descriptive title, rather than a filename  Needs reviewVerify that using the filename as the page <title> value is descriptive

2.4.3 Focus Order [A]

If content can be navigated sequentially and the navigation sequences affect meaning or operation, focusable components receive focus in an order that preserves meaning and operability.
widget_tabbable_single: Components with a widget role must have no more than one tabbable element  Needs reviewComponent with "{0}" role has more than one tabbable element

2.4.4 Link Purpose (In Context) [A]

The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link content.
img_alt_redundant: The text alternative for an image within a link should not repeat the link text or adjacent link text  ViolationLink text is repeated in an image 'alt' value within the same link ViolationLink text of previous link is repeated in image 'alt' value of a link ViolationImage 'alt' value within a link is repeated in link text of the link after a_text_purpose: Hyperlinks must have an accessible name for their purpose  ViolationHyperlink has no link text, label or image with a text alternative

2.4.5 Multiple Ways [AA]

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 [AA]

Headings and labels describe topic or purpose.
heading_content_exists: Heading elements must provide descriptive text  RecommendationHeading element has no descriptive content

2.4.7 Focus Visible [AA]

Any keyboard operable user interface has a mode of operation where the keyboard focus indicator is visible.
element_tabbable_visible: A tabbable element should be visible on the screen when it has keyboard focus  Needs reviewConfirm the element should be tabbable and if so, it becomes visible when it has keyboard focus script_focus_blur_review: Scripting must not remove focus from content that normally receives focus  Needs reviewVerify script does not remove focus from content that normally receives focus style_focus_visible: The keyboard focus indicator should be visible when default border or outline is modified by CSS  Needs reviewCheck the keyboard focus indicator is visible when using CSS declaration for 'border' or 'outline'

2.4.11 Focus Not Obscured (Minimum) [AA]

When an element receives focus, it is not entirely covered by other content.
element_tabbable_unobscured: When an element receives focus, it is not entirely covered by other content  Needs reviewConfirm that when the element receives focus, it is not covered or, if covered by user action, can be uncovered without moving focus

2.5.1 Pointer Gestures [A]

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 Pointer Cancellation [A]

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 Label in Name [A]

For user interface components with labels that include text or images of text, the accessible name contains the text that is presented visually.
label_name_visible: Accessible name must match or contain the visible label text  ViolationAccessible name does not match or contain the visible label text input_label_visible: An input element must have an associated visible label  Needs reviewThe ‘placeholder’ is the only visible label Needs reviewThe input element does not have an associated visible label

2.5.4 Motion Actuation [A]

Functionality that can be operated by motion can also be operated by user interface components, and the motion trigger can be disabled.

2.5.7 Dragging Movement [AA]

All functionality that uses a dragging movement for operation can be achieved by a single pointer without dragging.
draggable_alternative_exists: A draggable element must have a "single pointer" alternative  Needs reviewEnsure the draggable element "{0}" has a "single pointer" alternative

2.5.8 Minimum Target Size [AA]

The size of the target for pointer inputs is at least 24 by 24 CSS pixels.
target_spacing_sufficient: The target must be sufficiently sized or spaced from other targets  ViolationUndersized target "{0}" does not have sufficient spacing of 12 CSS pixels from another target "{1}" Needs reviewEnsure the overlapped target "{0}" meets a minimum target size or has sufficient spacing from the overlapping target "{1}"

3.1.1 Language of Page [A]

The default human language of Web pages, non-Web documents, or software can be programmatically determined.
html_lang_exists: Page must identify the default language of the document with a 'lang' attribute  ViolationPage detected as XHTML 1.0, but has neither 'lang' nor 'xml:lang' attributes ViolationPage detected as XHTML, but does not have an 'xml:lang' attribute ViolationPage detected as HTML, but does not have a 'lang' attribute ViolationPage detected with 'lang' and 'xml:lang' attributes and primary languages do not match: "{0}", "{1}" ViolationPage detected with 'lang' and 'xml:lang' attributes that do not match: "{0}", "{1}" Needs reviewPage detected as XHTML 1.0 with only a 'lang' attribute. Confirm that page is only delivered via text/html mime type Needs reviewPage detected as XHTML 1.0 with only an 'xml:lang' attribute. Confirm that page is only delivered via xml mime type html_lang_valid: The default human language of the page must be valid and specified in accordance with BCP 47  ViolationSpecified 'lang' attribute does not include a valid primary language ViolationSpecified 'lang' attribute does not conform to BCP 47 ViolationSpecified 'xml:lang' attribute does not include a valid primary language ViolationSpecified 'xml:lang' attribute does not conform to BCP 47

3.1.2 Language of Parts [AA]

The human language of each passage or phrase in the content can be programmatically determined.
element_lang_valid: The change in language of specific content must be valid and specified in accordance with BCP 47  ViolationSpecified 'lang' attribute does not include a valid primary language ViolationSpecified 'lang' attribute does not conform to BCP 47 ViolationSpecified 'xml:lang' attribute does not include a valid primary language ViolationSpecified 'xml:lang' attribute does not conform to BCP 47

3.2.1 On Focus [A]

When any component receives focus, it does not initiate a change of context.
script_focus_blur_review: Scripting must not remove focus from content that normally receives focus  Needs reviewVerify script does not remove focus from content that normally receives focus script_select_review: No changes of context should occur when a selection value receives focus  Needs reviewVerify that no change of context or action occurs when selection options in this component receive focus

3.2.2 On Input [A]

Changing the setting of any user interface component does not automatically cause a change of context unless the user has been advised of the behavior before using the component.
form_interaction_review: User should be informed in advance when interacting with content causes a change of context  Needs reviewVerify that interacting with content will not open pop-up windows or change the active window without informing the user form_submit_button_exists: A <form> element should have a submit button or an image button  Needs reviewVerify the <form> element has a submit button or an image button input_onchange_review: Users must be advised if, due to a change of element value, a form automatically submits, a new window opens, or a change in focus occurs  Needs reviewConfirm that the user is advised if, due to a change of element value, a form automatically submits, a new window opens, or a change in focus occurs a_target_warning: Users should be warned in advance if their input action will open a new window  RecommendationInform the user when their input action will open a new window

3.2.3 Consistent Navigation [AA]

Navigational mechanisms that are repeated on multiple Web pages within a set of Web pages occur in the same relative order each time they are repeated, unless a change is initiated by the user.

3.2.4 Consistent Identification [AA]

Components that have the same functionality within a set of Web pages are identified consistently.

3.2.6 Consistent Help [AA]

Make it easier to find help and support. If a Web page contains help mechanisms they occur in the same order relative to other page content, unless a change is initiated by the user.

3.3.1 Error Identification [A]

If an input error is automatically detected, the item that is in error is identified and the error is described to the user in text.
error_message_exists: A custom error message must reference a valid 'id' value and when triggered the message must be appropriately exposed  ViolationCustom error message has invalid reference 'id' value ViolationCustom error message is not visible

3.3.2 Labels or Instructions [A]

Labels or instructions are provided when content requires user input.
fieldset_label_valid: Groups with nested inputs must have unique accessible name  ViolationGroup/Fieldset does not have an accessible name ViolationGroup/Fieldset "{0}" has a duplicate name to another group input_label_after: Checkboxes and radio buttons must have a label after the input control  ViolationCheckbox or radio button is nested in label, so label is not after the input control ViolationLabel text is located before its associated checkbox or radio button element input_label_before: Text inputs and <select> elements must have a label before the input control  ViolationText input is nested in label such that input precedes the label text ViolationLabel text is located after its associated text input or <select> element input_label_visible: An input element must have an associated visible label  Needs reviewThe ‘placeholder’ is the only visible label Needs reviewThe input element does not have an associated visible label element_accesskey_labelled: An element with an assigned 'accesskey' attribute must have an associated label  RecommendationThe element with an assigned 'accesskey' attribute does not have an associated label

3.3.3 Error Suggestion [AA]

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 Error Prevention (Legal, Financial, Data) [AA]

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.

3.3.7 Redundant Entry [AA]

Make it easier for users to complete multi-step processes. Don't ask for the same information twice in the same session.

3.3.8 Accessible Authentication (Minimum) [AA]

Make logins possible with less mental effort. Don't make people solve, recall, or transcribe something to log in.

4.1.1 Parsing [A]

(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 Name, Role, Value [A]

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.
combobox_popup_reference: The 'aria-controls' (for ARIA 1.2) or the 'aria-owns' (for ARIA 1.0) attribute of the expanded combobox must reference a valid popup 'id' value  ViolationThe 'aria-owns' attribute of the expanded combobox is missing ViolationThe 'aria-controls' attribute of the expanded combobox is missing ViolationThe 'aria-owns' attribute "{0}" of the expanded combobox does not reference a valid popup 'id' value ViolationThe 'aria-controls' attribute "{0}" of the expanded combobox does not reference a valid popup 'id' value ViolationThe combobox 'aria-expanded' attribute is true, but the combobox popup is not visible ViolationThe combobox 'aria-expanded' attribute is false, but the combobox popup is visible aria_activedescendant_valid: The 'aria-activedescendant' property must reference the 'id' of a non-empty, non-hidden active child element  ViolationThe 'aria-activedescendant' property is empty ViolationThe 'aria-activedescendant' property references a hidden node ViolationElement is not a combobox, and the referenced active-descendant element is not a valid descendant combobox_active_descendant: 'aria-activedescendant' must be used to define focus within the combobox popup, except when using a dialog popup  ViolationThe element referenced by 'aria-activedescendant' "{0}" does not exist ViolationThe 'aria-activedescendant' "{0}" references an element with the roles "{1}", which does not have a valid ARIA role of 'option', 'gridcell', 'row', or 'treeitem' ViolationThe 'aria-activedescendant' "{0}" references an element that does not have 'aria-selected' set to true input_haspopup_conflict: <input> element with a 'list' attribute should not use an explicit 'aria-haspopup' attribute  Needs reviewThe <input> element with type "{0}" and 'list' attribute uses an explicit 'aria-haspopup' attribute Needs reviewThe <input> element with a missing or invalid type and 'list' attribute uses an explicit 'aria-haspopup' attribute Needs reviewThe list attribute for the <input> element is invalid ViolationThe list attribute for the <input> element with the type "{0}" is invalid ViolationThe list attribute for the <input> element does not reference a datalist element aria_role_valid: ARIA roles must be valid for the element to which they are assigned  ViolationThe ARIA role '{0}' is not valid for the element <{1}> ViolationThe ARIA role '{0}' is not valid for the element <{1}> and may be ignored by the browser since the element is focusable combobox_autocomplete_valid: A combobox that supports autocompletion behavior must have the 'aria-autocomplete' attribute only on its text input element with a valid value; a value of '"inline"' is not supported  ViolationThe combobox has the 'aria-autocomplete' attribute incorrectly set on an element within the popup referenced by "{0}" ViolationThe combobox does not support an 'aria-autocomplete' attribute value set to '"inline"' combobox_focusable_elements: Tabbable focus for the combobox must be allowed only on the text input, except when using a dialog popup  ViolationThe combobox element does not allow DOM focus as required ViolationThe popup of the combobox has DOM focus or has 'aria-activedescendant' defined, which is not allowed combobox_haspopup_valid: The combobox attribute 'aria-haspopup' value must be appropriate for the role of the element referenced by 'aria-controls' (ARIA 1.2) or 'aria-owns' (ARIA 1.0)  ViolationThe 'role' value "{0}" of the popup element "{1}" should be one of "listbox", "grid", "tree" or "dialog" ViolationThe value of the combobox 'aria-haspopup' attribute "{0}" does not match the 'role' value of the popup element "{1}" element_tabbable_role_valid: A tabbable element must have a valid widget role  ViolationThe tabbable element's role '{0}' is not a widget role ViolationThe tabbable element does not have a valid widget role input_label_exists: Each form control must have an associated label  ViolationForm control element <{0}> has no associated label ViolationForm control with "{0}" role has no associated label aria_descendant_valid: Browsers ignore the explicit and implicit ARIA roles of the descendants of certain elements  Needs reviewThe element with role "{0}" contains descendants with implicit roles "{1}" which are ignored by browsers ViolationThe element with role "{0}" contains descendants with roles "{1}" which are ignored by browsers aria_role_allowed: Elements must have a valid 'role' per ARIA specification  ViolationThe role '{0}' defined on the element is not valid per ARIA specification Needs reviewSome of the roles, '{0}', defined on the element are not valid per ARIA specification a_text_purpose: Hyperlinks must have an accessible name for their purpose  ViolationHyperlink has no link text, label or image with a text alternative aria_attribute_allowed: ARIA attributes must be valid for the element's role  ViolationThe attribute(s) '{0}' referenced by the element <{1}> is not a valid ARIA state or property aria_attribute_conflict: An ARIA attribute must not conflict with the corresponding HTML attribute  ViolationThe ARIA attribute "{0}" is in conflict with the corresponding HTML attribute "{1}" aria_attribute_exists: When specifying a required ARIA attribute, the value must not be empty  ViolationThe element attribute(s): '{0}' value is empty aria_attribute_required: The required attributes for the element with a role must be defined  ViolationElement with '{0}' role does not have the required ARIA attribute(s): '{1}' aria_attribute_value_valid: ARIA property values must be valid  ViolationThe value "{0}" specified for attribute '{1}' on element <{2}> is not valid aria_eventhandler_role_valid: Elements with event handlers must have a valid ARIA role  ViolationThe <{0}> element with '{1}' does not have a valid ARIA role specified aria_hidden_nontabbable: A hidden element should not contain any tabbable elements  ViolationElement "{0}" should not be focusable within the subtree of an element with an 'aria-hidden' attribute with value 'true' aria_id_unique: The ARIA property must reference a non-empty unique id of an existing element that is visible  ViolationThe 'id' "{0}" specified for the ARIA property '{1}' value is not valid aria_widget_labelled: Interactive component must have a programmatically associated name  ViolationInteractive component with ARIA role '{0}' does not have a programmatically associated name combobox_design_valid: The combobox design pattern must be valid for ARIA 1.2  ViolationThe combobox design pattern is detected as ARIA 1.1, which is not allowed by ARIA 1.2 frame_title_exists: Inline frames must have a unique, non-empty 'title' attribute  ViolationInline frame does not have a 'title' attribute label_content_exists: A <label> element must have non-empty descriptive text that identifies the purpose of the interactive component  ViolationThe <label> element does not have descriptive text that identifies the expected input list_children_valid: List component with "group" role must limit children to <listitem> elements  ViolationList component with "group" role has children that are not <listitem> elements table_aria_descendants: Table structure elements cannot specify an explicit 'role' within table containers  ViolationAn explicit ARIA 'role' is not valid for <{0}> element within an ARIA role '{1}' per the ARIA in HTML specification aria_accessiblename_exists: Elements with certain roles should have accessible names  RecommendationElement <{0}> with "{1}" role has no accessible name aria_attribute_redundant: An ARIA attribute should not be redundant with a corresponding HTML attribute  RecommendationThe ARIA attribute "{0}" is redundant with the HTML attribute "{1}" canvas_content_described: The <canvas> element may not be accessible  RecommendationVerify accessibility of the <canvas> element

4.1.3 Status Messages [AA]

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 specification [NA]

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.
element_accesskey_unique: 'accesskey' attribute values on each element must be unique for the page  Violation'accesskey' attribute value on the element is not unique element_id_unique: Element 'id' attribute values must be unique within a document  Needs reviewThe <{0}> element has the id "{1}" that is empty Needs reviewThe <{0}> element has the id "{1}" that is already in use element_attribute_deprecated: Avoid use of obsolete features if possible  RecommendationThe <{0}> element is deprecated in HTML 5 RecommendationThe HTML attribute(s) "{0}" is deprecated in HTML 5 RecommendationThe HTML attribute(s) "{0}" is deprecated for the <{1}> element in HTML 5

ARIA specification [NA]

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.
aria_attribute_valid: ARIA attributes should be valid for the element and ARIA role to which they are assigned  ViolationThe ARIA attributes "{0}" are not valid for the element <{1}> with ARIA role "{2}" ViolationThe ARIA attributes "{0}" are not valid for the element <{1}> with implicit ARIA role "{2}" img_alt_null: When the intent is to mark an image as decorative with an empty 'alt' attribute, the 'aria' or 'title' attributes should not be used  Needs reviewThe image 'alt' attribute is empty, but the 'aria' label is not empty and overrides the 'alt' attribute aria_attribute_deprecated: No deprecated ARIA role or attribute should be used  RecommendationThe ARIA role "{0}" is deprecated in the ARIA specification RecommendationThe ARIA attributes "{0}" are deprecated in the ARIA specification RecommendationThe ARIA attributes "{0}" are deprecated for the role "{1}" in the ARIA specification aria_accessiblename_exists: Elements with certain roles should have accessible names  RecommendationElement <{0}> with "{1}" role has no accessible name aria_role_redundant: An explicitly-assigned ARIA role should not be redundant with the implicit role of the element  RecommendationThe explicitly-assigned ARIA role "{0}" is redundant with the implicit role of the element <{1}>