+
+
+
+### 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
+
+
+
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### Check media using `
+
+
+
+
+### Why is this important?
+
+HTML5 `` and `
+
+
+### 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
+
+
+
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### Verify accessibility of the `
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### 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. `
+
+
+### 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
+
+
+
+
+
+
+
+### The `` element does not have an associated label
+
+
+
+The `` element must have an associated label
+
+
+
+
+
+
+### Why is this important?
+
+A `` element is usually used to annotate illustrations, diagrams, photos, code listings, etc. Associating a label makes the same information available through audio or other channels.
+
+
+
+### What to do
+
+* Add a `` element inside the `` element to provide a visual caption that describes the figure;
+* **Or**, add the `aria-labelledby` attribute to the `` element. It must point to visible text on the page that is meaningful as a label;
+
+For example:
+
+<figure>
+ <figcaption>The castle through the ages: 1423, 1858, and 1999 respectively.</figcaption>
+ <figure>
+ <figcaption>Etching. Anonymous, ca. 1423.</figcaption>
+ <img src="castle1423.jpeg" alt="The castle has one tower and a tall wall around it.">
+ </figure>
+</figure>
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique ARIA10: Using aria-labelledby to provide a text alternative for non-text content](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA10)
+
+### 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
+
+
+
+
+
+
+
+### Imagemap is missing text alternative(s)
+
+
+
+An image map must have text alternative(s)
+
+
+
+
+
+
+### Why is this important?
+
+An image map is an image divided into selectable regions defined by area elements. When the image map contains important information, providing a text alternative for the map makes the same information accessible through audio or other channels.
+
+
+
+### What to do
+
+Add an `alt` attribute to the image that uses a non-empty `usemap` attribute to provide a short description that serves the same purpose.
+
+For example:
+
+<img src="blood.gif" width="145" height="126" alt="Blood Cells" usemap="#cellmap">
+
+<map name="cellmap">
+<area shape="circle" coords="90,58,3" href="redbloodcell.htm" alt="Erythrocyte">
+<area shape="circle" coords="124,58,8" href="whitebloodcell.htm" alt="Monocyte">
+</map>
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H24](https://www.w3.org/WAI/WCAG21/Techniques/html/H24)
+
+### 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
+
+
+
+
+
+
+
+### HTML5 `` attribute is the only visible label
+
+
+
+HTML5 `` attribute must not be used as a visible label replacement
+
+
+
+
+
+
+### Why is this important?
+
+The `` attribute when used as the only visible label, reduces the accessibility for a wide range of users for the following reasons:
+ * it is not persistent; the placeholder value disappears when the user starts typing in the input field;
+ * it can be mistaken for a pre-filled value;
+ * the text color commonly fails a minimum contrast ratio;
+ * the lack of a label reduces the hit region for setting focus to the input field.
+
+
+
+### What to do
+
+
+ * Use the `placeholder` attribute for a short hint (a word or short phrase) to aid the user with data entry
+
+ * **And**, use a valid label method that is both visible and programmatically determined;
+
+* **Or**, if a visible label can not be added, verify the input field label is understood within the context;
+
+For example:
+
+<label>Email Address: <input type="email" name="address1" placeholder="john@example.net"></label>
+
+<label for="address2">Address</label>
+
+
+
+
+### About this requirement
+
+* [IBM 3.3.2 Labels and Instructions](https://www.ibm.com/able/requirements/requirements/#3_3_2)
+* [W3C Placeholder Research](https://www.w3.org/WAI/GL/low-vision-a11y-tf/wiki/Placeholder_Research)
+
+### Who does this affect?
+
+* People with low vision using screen magnification
+* People with visual impairment using color contrast enhancement
+* People with tremor or other movement disorders
+* Many older adults
+
+
+
+
+
+
+
+### List component using `"group"` role has children that are not `"listitem"` elements
+
+
+
+List component using `"group"` role must limit children to `"listitem"` elements
+
+
+
+
+
+
+### Why is this important?
+
+ When `role="group"` is used on a list component, authors must limit the group element's children to elements with an implied or explicit role of `"listitem"`. This facilitates proper handling of the group’s context by user agents and assistive technology.
+
+
+
+### What to do
+
+ * Use the `
` element for all children of the element with `role="group"`, which has an implied role of `"listitem"`;
+ * **Or**, use the attribute `role="listitem"` on all children of the element with `role="group"`.
+
+ For example:
+
+<h2 id="fruit">Fruits</h2>
+<p> The following is a grouping of fruits by type</p>
+<ul>
+ <li> <h3 id="tropical">Tropical Fruits</h3>
+ <ul role="group" aria-labelledby="tropical">
+ <li>Mango</li>
+ <li>Papaya</li>
+ <li>Pineapple</li>
+ </ul>
+ </li>
+ <li> <h3 id="berries">Berries</h3>
+ <ul role="group" aria-labelledby="berries">
+ <li>Blueberry</li>
+ <li>Strawberry</li>
+ </ul>
+ </li>
+</ul>
+
+
+
+
+### About this requirement
+
+* [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
+
+
+
+
+
+
+
+### Check that the file download mechanism does not cause a keyboard trap
+
+
+
+File download mechanisms should be keyboard-operable and preserve page focus location
+
+
+
+
+
+
+### Why is this important?
+
+A keyboard trap is a situation where a keyboard-only user is unable to get out of a content area. For example, if a file download mechanism is implemented with a dialog box, this moves the keyboard focus away from the web page. If keyboard focus is not handled correctly, it may inadvertently trap keyboard-only users in the dialog. In addition, when the dialog is closed, if keyboard focus is not returned to the user's original position on the web page (the 'point of regard'), they may have to spend significant effort navigating back to where they were on the page.
+
+
+
+### What to do
+
+ * Manually test by using the Tab key to enter and exit the file download mechanism;
+ * **And**, when exiting the download mechanism, ensure the keyboard focus returns to the same point on the web page where the download was initiated.
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.2 No Keyboard Trap](https://www.ibm.com/able/requirements/requirements/#2_1_2)
+
+### Who does this affect?
+
+ * People who rely on keyboard control
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### Verify that captions are available for any meaningful audio or provide a caption track for the `
+
+
+
+
+### Why is this important?
+
+Text tracks or open captions contain a textual transcription of audio aspects of video content in a synchronized media. This may include the dialog, sound effects, and relevant musical cues. Providing text alternatives (captions) makes information available that some people would not have access to otherwise.
+
+
+
+### What to do
+
+* If the video has any meaningful audio and no captions, then provide closed captions using the `
+
+
+### About this requirement
+
+* [IBM 1.2.2 Captions (Prerecorded)](https://www.ibm.com/able/requirements/requirements/#1_2_2)
+* [WCAG technique H95](https://www.w3.org/WAI/WCAG21/Techniques/html/H95)
+
+### Who does this affect?
+
+* People who are deaf or hard of hearing
+
+
+
+
+
+
+
+### Text contrast of {0} with its background is less than the WCAG AA minimum requirements for text of size {1}px and weight of {2}
+
+
+
+Color contrast of text with its background must meet WCAG AA minimum requirements
+
+
+
+
+
+
+### Why is this important?
+
+When text and its background colors have less than a 4.5 to 1 contrast ratio it can be difficult for people with moderately low vision to read the text without a contrast-enhancing technology. For larger text of 18 point or more, or bold 14 point text, the text and background colors must give at least a 3 to 1 contrast ratio.
+
+
+
+### What to do
+
+ * For large text that is at least 18 point or at least 14 point when bold, adjust the color of the text or its background to give at least a 3 to 1 contrast ratio;
+ * **Or**, for body text that is less than 18 point or less than 14 point when bold, adjust the color of the text or its background to give at least a 4.5 to 1 contrast ratio.
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.3 Contrast (Minimum)](https://www.ibm.com/able/requirements/requirements/#1_4_3)
+* [WCAG technique G18](https://www.w3.org/WAI/WCAG21/Techniques/general/G18)
+* [WCAG technique G145](https://www.w3.org/WAI/WCAG21/Techniques/general/G145)
+
+### Who does this affect?
+
+ * People with moderately low vision who do not use a contrast-enhancing technology
+ * People with visual impairment using color contrast enhancement
+ * People who cannot see color, have limited color vision or have color blindness
+
+
+
+
+
+
+
+### Verify 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}
+
+
+
+The contrast ratio of text against a color gradient or a background image must meet WCAG AA requirements
+
+
+
+
+
+
+### Why is this important?
+
+When text and its background colors have less than a 4.5 to 1 contrast ratio it can be difficult for people with moderately low vision to read the text without a contrast-enhancing technology. For larger text of 18 points or more, or bold 14 point text, the text and background colors must give at least a 3 to 1 contrast ratio.
+
+
+
+### What to do
+
+* Text should always have a solid background (i.e. not a color gradient or a background image) where possible;
+* **Or**, when that is not possible (which is very rare), manually check the contrast ratio of the text against the lightest and the darkest colors of the background with a [Color Contrast Analyzer](https://www.ibm.com/able/toolkit/verify/manual/#color). For regular text it must be at least 4.5 to 1. For large text at least 18 point or at least 14 point when bold, the contrast ratio must be at least 3 to 1. If less, adjust the colors.
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.3 Contrast (Minimum)](https://www.ibm.com/able/requirements/requirements/#1_4_3)
+
+### WCAG techniques
+
+* [G18: Ensuring that a contrast ratio of at least 4.5:1 exists between text (and images of text) and background behind the text](https://www.w3.org/WAI/WCAG21/Techniques/general/G18)
+* [G145: Ensuring that a contrast ratio of at least 3:1 exists between text (and images of text) and background behind the text](https://www.w3.org/WAI/WCAG21/Techniques/general/G145)
+
+### Who does this affect?
+
+* People with moderately low vision who do not use a contrast-enhancing technology
+* People who do not see the full range of colors
+* People who see no color
+
+
+
+
+
+
+
+### The component has more than one tabbable element
+
+
+
+The component must have no more than one tabbable element
+
+
+
+
+
+
+### Why is this important?
+
+The primary keyboard navigation convention uses Tab and `Shift+Tab` key commands to move focus from one UI component to another. Other keys (primarily the arrow keys) move focus within components comprised of multiple focusable elements. Authors must follow this convention and provide no more than one tab stop per component (providing keyboard focus).
+
+
+
+### What to do
+* Modify the widget’s keyboard navigation model to contain only one tab stop to set focus in or on the widget.
+(Refer to the [ARIA practices](https://w3c.github.io/aria-practices/#keyboard) for more information on how to manage keyboard focus.)
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+* [ARIA practices - The Tab Sequence](https://w3c.github.io/aria-practices/#kbd_general_between)
+
+### 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 tremor or other movement disorders
+
+
+
+
+
+
+
+### The component does not have a tabbable element
+
+
+
+The component must have at least one tabbable element
+
+
+
+
+
+
+### Why is this important?
+
+Unlike native HTML form elements, browsers do not provide keyboard support for graphical user interface (GUI) components that are made accessible with ARIA - authors must incorporate the code for keyboard access.
+
+
+
+### What to do
+
+Use the HTML tabindex attribute to include the component in the tab sequence.
+(Refer to the [ARIA practices - Developing a Keyboard Interface](https://w3c.github.io/aria-practices/#keyboard) for more information on how to manage keyboard focus.)
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+* [ARIA practices - Developing a Keyboard Interface](https://w3c.github.io/aria-practices/#keyboard)
+
+### 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 tremor or other movement disorders
+
+
+
+
+
+
+
+### Check the `blink` value of the CSS `text-decoration` property is not used for more than than five seconds
+
+
+
+Do not use the `blink` value of the CSS `text-decoration` property for more than than five seconds
+
+
+
+
+
+
+### Why is this important?
+
+Blinking content can be a severe distraction, preventing some people from attending to other content. Blinking for up to 5 seconds gives time to get a user's attention, but is short enough for them to wait out the distraction before reading the page.
+
+
+
+### What to do
+
+ * Do not use the `blink` value on the CSS `text-decoration` property;
+ * **Or**, provide a control on the Web page that allows users to stop the blinking;
+ * **Or**, use scripts to stop the blinking after 5 seconds.
+
+
+
+
+### About this requirement
+
+* [IBM 2.2.2 Pause, Stop, Hide](https://www.ibm.com/able/requirements/requirements/#2_2_2)
+* [WCAG technique G13](https://www.w3.org/WAI/WCAG21/Techniques/general/G13)
+
+### Who does this affect?
+
+ * People with attention deficit disorders
+ * People with reading disabilities
+ * People with intellectual disabilities
+ * People with low literacy
+ * People with low vision
+
+
+
+
+
+
+
+### Check text that looks like a heading but is not within a heading element
+
+
+
+Heading text must use a heading element
+
+
+
+
+
+
+### Why is this important?
+
+HTML heading elements are used by assistive technologies to recognize headings on a page. Headings provide a good overview of the structure of a page and allow users to quickly find and navigate to different sections of interest.
+
+
+
+### What to do
+
+ * If this text is intended to be a heading, use the `` elements (h1-h6) rather than style alone to define heading text (e.g. `
Section 1
`);
+ * **Or**, use other markup so the element's semantic meaning is exposed to assistive technology that is appropriate for the content of the element.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H42](https://www.w3.org/WAI/WCAG21/Techniques/html/H42)
+
+### Who does this affect?
+
+* People who rely on keyboard control
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with cognitive differences who view interfaces using an adapted layout
+
+
+
+
` is used only for quotations, not indentation
+
+
+
+Use `
` only for quotations, not indentation
+
+
+
+
+
+
+### Why is this important?
+
+The HTML `
` element tells assistive technologies which content is part of a quotation or citation. Using the element for indention or formatting can mislead assistive technology users as to its meaning and purpose.
+
+
+
+### What to do
+
+ * Verify that `
` is being used for actual quoted text;
+ * **Or**, do not use `
` for this content.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### If the following text is a quotation, mark it as a `` or `
` element: "{0}"
+
+
+
+Quotations should be marked with `` or `
` elements
+
+
+
+
+
+
+### Why is this important?
+
+The HTML `` and `
` elements tell assistive technologies such as screen readers which content is part of a quotation or citation. Any such text must be included in the appropriate element that enables assistive technology users to understand its meaning and purpose.
+
+
+
+### What to do
+
+ * Verify the text is not a quotation;
+ * **Or**, if the quotation is 10 words or less, enclose it in a `` element;
+ * **Or**, for a longer quotation, enclose it in a `
` element.
+
+For example:
+
+<p>As she walked up she said, <q>Hi, my name is Natasha.</q></p>
+
+<p>Quotation from <cite="https://www.shakespeare.com/loveslabourlost">Love's Labour's Lost by William Shakespeare</cite>:</p>
+<blockquote>
+ Painfully to pore upon a book
+ To seek the light of truth; while truth the while
+ Doth falsely blind the eyesight of his look.
+</blockquote>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Check that interactive content with mouse event handlers has equivalent keyboard access
+
+
+
+All interactive content with mouse event handlers must have equivalent keyboard access
+
+
+
+
+
+
+### Why is this important?
+
+Scripted mouse-specific event handlers can be used to trigger actions on graphical user interface (GUI) controls. Equivalent keyboard-specific handlers allow individuals who rely on a keyboard or keyboard interface to access the same functionality.
+
+
+
+### What to do
+
+* Using only the keyboard, make sure you can access all the functionality provided by the mouse event handlers.
+* **And**, if there is no equivalent keyboard access, follow the event handler table below to provide the corresponding keyboard event handlers:
+
+| Use | with |
+| :------------ | :------------ |
+| onmousedown | onkeydown |
+| onmouseup | onkeyup |
+| onclick | onkeypress |
+| onmouseover | onfocus |
+| onmouseout | onblur |
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1))
+* [WCAG technique SCR20](https://www.w3.org/WAI/WCAG21/Techniques/client-side-script/SCR20)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision
+* People with tremor or other movement disorders
+* People who rely on keyboard control
+
+
+
+
+
+
+
+### The element has an `id` that is not unique
+
+
+
+Element `id` attribute values must be unique within a document
+
+
+
+
+
+
+### Why is this important?
+
+The `id` attribute provides a machine-readable identifier for the elements of the page. A unique value for `id` allows browsers and assistive technologies to interpret and parse the content accurately.
+
+
+
+### What to do
+
+ * For each element with an `id` attribute, provide a unique, non-empty value.
+
+For example:
+
+<h1 id="news">Breaking news</h1>
+<p id="newsintro">The latest stories from our correspondents around the world.</p>
+...
+<div role="article" aria-labelledby="news" aria-describedby="newsintro">
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.1 Parsing ](https://www.ibm.com/able/requirements/requirements/#4_1_1)
+* [WCAG technique H93](https://www.w3.org/WAI/WCAG21/Techniques/html/H93)
+* [WCAG technique F77](https://www.w3.org/WAI/WCAG21/Techniques/failures/F77)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Check there is mechanism available to pause or stop and control the volume for the audio that plays automatically
+
+
+
+Mechanism must be available to pause or stop and control the volume of the audio that plays automatically
+
+
+
+
+
+
+### Why is this important?
+
+Audio that plays automatically when landing on the page makes it difficult for users to hear the speech output from a screen reader at the same time.
+
+
+
+### What to do
+
+* If possible, do not play audio automatically when landing on the page;
+* **Or**, play audio that automatically turns off after three seconds;
+* **Or**, provide controls at the top of the web page that can turn off or pause the audio, and control its volume.
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.2 Audio Control](https://www.ibm.com/able/requirements/requirements/#1_4_2)
+* [WCAG technique G170](https://www.w3.org/WAI/WCAG21/Techniques/general/G170)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Verify that the `
+
+
+
+
+### Why is this important?
+
+This is important for users of assistive technologies to provide information about the `` object if they are unable to understand or perceive the object.
+
+
+
+### What to do
+
+ * Provide a short alternative text description that represents the function of the `` element's content. Use a functional label based on the context in which the object is used, rather than a visual description. Alternative content can be provided with the `alt` attribute.
+
+For example:
+
+<embed src="speech.au" alt="Last week's speech"></embed>
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People who turn off image-loading on their web browsers
+
+
+
+
+
+
+
+### Check color is not used as the only visual means to convey the fields are required
+
+
+
+Combine color and descriptive markup to convey fields are required
+
+
+
+
+
+
+### Why is this important?
+
+Using descriptive markup and visual differences together with color enables users who cannot see color to understand the meaning conveyed through color differences.
+
+
+
+### What to do
+
+* If color is used to indicate required fields, also use the `required` attribute and an asterisk ('*') with text (e.g. “required fields are red") to indicate required fields both programmatically and visually without color;
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.1 Use of Color](https://www.ibm.com/able/requirements/requirements/#1_4_1)
+* [WCAG technique G14](https://www.w3.org/WAI/WCAG21/Techniques/general/G14)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with visual impairment using color contrast enhancement
+* People who cannot see color, have limited color vision or have color blindness
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Confirm the form does not submit automatically without warning
+
+
+
+A form should not be submitted automatically without warning the user
+
+
+
+
+
+
+### Why is this important?
+
+Forms that are designed to automatically submit when all the fields are filled out or when focus leaves the last field pose problems for accessibility. If users are not warned, they may leave a field to get more context and be confused when the information is submitted.
+
+
+
+### What to do
+
+* Verify that the `onchange` function does not automatically submit the form;
+* **Or**, if the form is automatically submitted, verify that the user is warned in advance;
+* **Or**, use the standard behavior of a `
+
+
+### About this requirement
+
+* [IBM 3.2.2 On Input](https://www.ibm.com/able/requirements/requirements/#3_2_2)
+* [WCAG technique G13](https://www.w3.org/WAI/WCAG21/Techniques/general/G13)
+* [WCAG technique F36](https://www.w3.org/WAI/WCAG21/Techniques/failures/F36)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* Many older adults
+* People with learning disabilities
+
+
+
+
+
+
+
+### Heading element has no descriptive text
+
+
+
+Heading elements must provide descriptive text
+
+
+
+
+
+
+### Why is this important?
+
+Heading elements with clear descriptive content are used by assistive technology users to understand what is in each section on the page. They allow users to quickly find and navigate to different sections of interest.
+
+
+
+### What to do
+
+* Provide a descriptive heading for each Web page section that clearly identifies the subject.
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.6 Headings and Labels](https://www.ibm.com/able/requirements/requirements/#2_4_6)
+* [WCAG technique G130](https://www.w3.org/WAI/WCAG21/Techniques/general/G130)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### Verify that the heading element is a genuine heading
+
+
+
+Heading elements must not be used for presentation
+
+
+
+
+
+
+### Why is this important?
+
+Some assistive technologies use the marked-up headings (`
` .. `
`) to create an outline of a page, allowing users to get an overview and jump quickly to any heading. When HTML heading elements are used for text that is not a heading, this results in an incorrect outline structure which might disorient users.
+
+
+
+### What to do
+
+ * Verify that this element with long text content is genuinely a heading;
+ * **Or**, if this is not a heading, do not use a heading element (`
` .. `
`).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique F43](https://www.w3.org/WAI/WCAG21/Techniques/failures/F43)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People with cognitive differences who view interfaces using an adapted layout
+
+
+
+
+
+
+
+### Check there is a way to bypass blocks of content that are repeated on multiple Web pages
+
+
+
+Provide a way to bypass blocks of content that are repeated on multiple Web pages
+
+
+
+
+
+
+### Why is this important?
+
+People with disabilities often navigate content without a mouse, using the tab key or other key commands to move around the page. When there is repeating information between related pages, it is tedious to tab through these to get to other areas of the page. When repeated content is organized into logical groups that can be easily skipped, navigation becomes much more efficient.
+
+
+
+### What to do
+
+* Provide headings for each content section using `
` ... `
`;
+* **And/or** provide landmarks to identify blocks of content on the page;
+* **And/or** use links to skip blocks of repeated content by linking from the top of the page to the main content, or from the start of the repeated content to the end of the block;
+* **And/or** group blocks of repeated content using structural elements (e.g. `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+
+### 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 who navigate web pages with a keyboard
+
+
+
+
+
+
+
+### File name used to describe an image
+
+
+
+Check the `"alt"` attribute value is a good alternative for the image
+
+
+
+
+
+
+### Why is this important?
+
+When an image contains important information that is not available in text on the page, providing a text alternative makes the same information accessible through audio or other channels.
+
+
+
+### What to do
+
+* If the image conveys meaning, the value of the `"alt"` attribute should be a short description that serves the same purpose as the image. Include any important words from the image in the short description (e.g. ``). Do not use a file name;
+* **Or**, if the image is decorative or the same information is also available in text, use the `"alt"` attribute with an empty string as its value (e.g. ``).
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H37](https://www.w3.org/WAI/WCAG21/Techniques/html/H37)
+
+### 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 only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Verify that the file designated by the `"longdesc"` attribute contains valid HTML content
+
+
+
+The `"longdesc"` attribute must reference HTML content
+
+
+
+
+
+
+### Why is this important?
+
+Text alternatives provide important information that cannot be visually perceived by some people. When a short description is not sufficient, the `"longdesc"` attribute can link to a URL containing a longer description of the image.
+
+
+
+### What to do
+
+ * The `longdesc` attribute is inconsistently implemented across browsers. Where possible, it is preferable to provide a longer image description [using the `aria-describedby` attribute](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA15);
+ * **Or**, verify the `longdesc` attribute value is a valid URL of an HTML page with a text description of the image.
+
+For example:
+
+<img src="table.gif" alt="a complex table" longdesc="tabledescription.html" />
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H45](https://www.w3.org/WAI/WCAG21/Techniques/html/H45)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People who turn off image-loading on their web browsers
+
+
+
+
+
+
+
+### Server-side image map hot-spots do not have text links
+
+
+
+Server-side image map hot-spots must have text links
+
+
+
+
+
+
+### Why is this important?
+
+Server-side image maps are images in which regions of the image contain "hot-spots" where a user can click to follow a link. Because the actual links are stored on the server, the browser cannot provide information about the links to a user who cannot see the graphics.
+
+
+
+### What to do
+
+* Use the `` element with `"href"` attribute to provide text links corresponding to all hot-spots for the server-side image map on the page.
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Element has more than one label
+
+
+
+Form controls should have exactly one label
+
+
+
+
+
+
+### Why is this important?
+
+Assistive technologies use labels to identify form controls. Providing more than one label for the same form control causes confusion, and may be handled differently by different browsers.
+
+
+
+### What to do
+
+ * If the `for` attribute references a form control, find all `` elements with this `for` attribute value. Decide which is the intended label and remove or change the others;
+ * **Or**, if the `for` attribute does not reference a form control, remove the label or the `for` attribute.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H44](https://www.w3.org/WAI/WCAG21/Techniques/html/H44)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### List element is missing or improperly structured
+
+
+
+List elements should only be used for lists of related items
+
+
+
+
+
+
+### Why is this important?
+
+Lists add structural information that helps users navigate without vision. Using list markup improperly hinders accessibility by making it difficult for users with specialized software to understand the organization of the page or to navigate through it.
+
+
+
+### What to do
+
+ * Check that list items are represented with `
` elements and enclosed within list elements `
` or ``;
+ * **And**, check that definition list items are represented with `
`, or `` and enclosed within a definition list element `
`;
+ * **And**, check that elements within a list element do form a list.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H48](https://www.w3.org/WAI/WCAG21/Techniques/html/H48)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Verify whether this is a list that should use HTML list elements
+
+
+
+Use proper HTML list elements to create lists
+
+
+
+
+
+
+### Why is this important?
+
+When markup is used to visually format text as a list, but does not indicate the list relationship, users might have difficulty understanding and navigating the information.
+
+
+
+### What to do
+
+ * Verify that the content is not a list;
+ * **Or**, if this is a list, use HTML list elements (e.g. ``, `
`, `
`) to create the list and CSS to style the list as desired.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People with cognitive differences who view interfaces using an adapted layout
+
+
+
+
+
+
+
+### Scrolling content found that uses the obsolete `
+
+
+
+
+### Why is this important?
+
+Content that moves or auto-updates can be a barrier and a severe distraction to anyone who has trouble reading stationary text quickly as well as anyone who has trouble tracking moving objects. The `` element is obsolete and should not be used.
+
+
+
+### What to do
+
+* If it isn't absolutely necessary, don't use this effect;
+* **Or**, use other options such as CSS or scripting to create the same effect, and include an option to turn off the scrolling.
+
+
+
+
+### About this requirement
+
+* [IBM 2.2.2 Pause, Stop, Hide](https://www.ibm.com/able/requirements/requirements/#2_2_2)
+
+### Who does this affect?
+
+* People with attention deficit disorders
+* People with reading disabilities
+* People with intellectual disabilities
+* People with low vision
+
+
+
+
+
+
+
+### Text alternative is more than 150 characters
+
+
+
+Alternative text in `alt` attribute should be brief
+
+
+
+
+
+
+### Why is this important?
+
+`alt` attribute values ('alt text') are intended to be a brief, inline replacement for an image when it cannot be loaded or displayed. Verbose or long alt text can have a negative impact on the user experience.
+
+
+
+### What to do
+
+ * Use an `alt` description less than 150 characters long;
+ * **Or**, if a shorter description is not adequate, use the `aria-describedby` attribute to point to the `id` value of an element containing a longer description;
+ * **Or**, use a 'D' link as shown in the example.
+
+ For example:
+
+<img src="boxplot.gif" alt="Box plot comparing scores across five testing conditions" aria-describedby="imgDescription">
+<div id="imgDescription">This box plot shows test scores for the expert group (mean 4.5, std. dev 1.1), intermediate group ... </div>
+
+<img src="rpttested.gif" alt="Tested with IBM Equal Access Accessibility Checker">
+<a href="testInfo.html">D</a>
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People who turn off image-loading on their web browsers
+
+
+
+
+
+
+
+### Provide transcripts for audio files
+
+
+
+Audio information should also be available in text form
+
+
+
+
+
+
+### Why is this important?
+
+Providing a transcript makes information presented through speech, sound effects, music, and so on available to any user.
+
+
+
+### What to do
+
+ * Verify that the audio content is also available in text form;
+ * **Or**, provide a transcript of the audio.
+
+For example, a link to an audio file containing a speech would be followed by a link to a page with a transcript:
+
+ Jeremy Flint's <a href="bc30.wav">podcast on disability rights</a>
+ <a href="bc30.txt">transcript</a>)
+
+
+
+
+### About this requirement
+
+* [IBM 1.2.1 Audio-only and Video-only (Prerecorded)](https://www.ibm.com/able/requirements/requirements/#1_2_1)
+
+### Who does this affect?
+
+ * People who are deaf or hard of hearing
+ * People in a situation where they cannot use audio on their devices
+
+
+
+
+
+
+
+### Filename used as label for embedded audio or video
+
+
+
+Audio or video on the page must have a short text alternative that describes the media content
+
+
+
+
+
+
+### Why is this important?
+
+Proper text alternatives convey the meaning of what the non-text content such as audio or video content is. Placeholder text or filenames are not viable labels because they do not convey function or information; for example, filenames such as "video.jpg" or "interviewOct.wav".
+
+
+
+### What to do
+
+* Provide a short text alternative as a label that describes the content of the audio or video on the page.
+
+For example: A video feed in NY Times has the following descriptive label "Video of the fine dining place 'Clay Pit' located in downtown Austin, TX."
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Verify captions are provided for live media (streaming video with audio)
+
+
+
+Live media (streaming video with audio) should have captions for audio content
+
+
+
+
+
+
+### Why is this important?
+
+Providing captions for real-time presentations enables viewers to understand the audio content when they cannot hear it, or the sound is off.
+
+
+
+### What to do
+
+ * Verify that the live media has closed captions (embeds the dialogue and important sounds as text in a way that is not visible unless the user requests it);
+ * **Or**, verify that the live media has open captions (embeds the dialogue and important sounds as text in the video track);
+ * **Or**, add captions to the live media.
+
+
+
+
+### About this requirement
+
+* [IBM 1.2.4 Captions (Live)](https://www.ibm.com/able/requirements/requirements/#1_2_4)
+* [WCAG technique G9](https://www.w3.org/WAI/WCAG21/Techniques/general/G9)
+
+### Who does this affect?
+
+ * People who are deaf or hard of hearing
+ * People in noisy or very quiet environments
+ * People in a situation where they cannot use audio on their devices
+
+
+
+
+
+
+
+### Verify availability of a user-selectable audio track with description of visual content
+
+
+
+Pre-recorded media should have an audio track that describes visual information
+
+
+
+
+
+
+### Why is this important?
+
+By providing an additional audio track, users can choose to replace the original video sound track with one that includes information that focuses on actions, characters, or scene changes that are important to understanding the content. This is sometimes referred to as an 'audio description', as in 'a description in audio format', and should not be confused with captions.
+
+
+
+### What to do
+
+ * Verify that the media has an audio description track;
+ * **Or**, add an audio description track to the media.
+
+
+
+
+### About this requirement
+
+* [IBM 1.2.5 Audio Description (Prerecorded)](https://www.ibm.com/able/requirements/requirements/#1_2_5)
+
+### Who does this affect?
+
+ * People with visual impairment
+
+
+
+
+
+
+
+### Check if a page is being caused to refresh automatically
+
+
+
+Pages should not refresh automatically
+
+
+
+
+
+
+### Why is this important?
+
+Some individuals might need more time to read or interact with a page than the author expects. If the page auto-refreshes while they are still reading/working, it might prevent access to content by resetting their location on the page.
+
+
+
+### What to do
+
+ * Remove the `` tag that causes an automatic page refresh (e.g. ``) and use a different method to update information on the page;
+ * **Or**, provide an option to turn off, extend, or adjust the timing of the page refresh;
+ * **Or**, at the top of the page, provide a single line of explanation and link to a non-refreshing page. For example "This page automatically reloads every 10 seconds. A ` non-updating equivalent page ` with a refresh button is available."
+
+
+
+
+### About this requirement
+
+* [IBM 2.2.1 Timing Adjustable](https://www.ibm.com/able/requirements/requirements/#2_2_1)
+* [WCAG technique F41](https://www.w3.org/WAI/WCAG21/Techniques/failures/F41)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+* People with dexterity impairment
+* People who physically cannot use a pointing device
+* People with reading disabilities
+* Many older adults
+
+
+
+
+
+
+
+### Check whether ASCII art has a text alternative
+
+
+
+ASCII art must have a text alternative
+
+
+
+
+
+
+### Why is this important?
+
+ASCII art cannot be read out by assistive technologies. Providing a text alternative makes the information available in a non-visual format. A link to skip the ASCII art saves users from having to read through large quantities of seemingly nonsense characters.
+
+
+
+### What to do
+
+ * If this element is not ASCII art but meaningful text, no action is needed;
+ * **Or**, if this is ASCII art, verify there is a text alternative immediately before or after it. A link to skip the ASCII art is also recommended.
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H86](https://www.w3.org/WAI/WCAG21/Techniques/html/H86)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Possible use of a script to emulate a link
+
+
+
+Scripts should not be used to emulate links
+
+
+
+
+
+
+### Why is this important?
+
+Sometimes JavaScript event handlers are attached to page elements to emulate links, for example by placing an `"onclick"` on a <`span`> or <`div`>. When this is done, the element doesn’t provide link semantic information to assistive technologies and does not automatically provide the keyboard accessibility. User agents might not be able to identify this content as a link. Individuals will not be able to tab to the link using their keyboard. They might find it hard to determine that interactive controls are available or to understand what type of behavior to expect.
+
+
+
+### What to do
+
+ * Wherever possible, do not use scripts to emulate an HTML link. Use `` or `` to implement links;
+ * **Or**, if scripting must be used, add the attribute `role="link"` to the element and [implement keyboard accessibility](https://www.ibm.com/able/requirements/requirements/#2_1_1).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+* [WCAG technique F42](https://www.w3.org/WAI/WCAG21/Techniques/failures/F42)
+
+### Who does this affect?
+
+ * People who rely on keyboard control
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Possible onclick events used in script to emulate a link
+
+
+
+Scripts should not be used to emulate links
+
+
+
+
+
+
+### Why is this important?
+
+Sometimes JavaScript event handlers are attached to page elements to emulate links, for example by placing an `"onclick"` on a <`span`> or <`div`>. When this is done, the element doesn’t provide link semantic information to assistive technologies and does not automatically provide the keyboard accessibility. User agents might not be able to identify this content as a link. Individuals will not be able to tab to the link using their keyboard. They might find it hard to determine that interactive controls are available or to understand what type of behavior to expect.
+
+
+
+### What to do
+
+ * Wherever possible, do not use scripts to emulate an HTML link. Use `` or `` to implement links;
+ * **Or**, if scripting must be used, add the attribute `role="link"` to the element and [implement keyboard accessibility](https://www.ibm.com/able/requirements/requirements/#2_1_1).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+
+### Who does this affect?
+
+ * People who rely on keyboard control
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Check the CSS background image does not convey important information
+
+
+
+Use CSS to include decorative images only.
+
+
+
+
+
+
+### Why is this important?
+
+Use CSS to include decorative images only. Background images in CSS do not support text alternatives. When users do not see the default page background, any important information in CSS background images is lost.
+
+
+
+### What to do
+
+* If the background image contains important text, use real text rather than an image of text;
+* **Or**, if the background image conveys important information, use the `` element with an `"alt"` attribute instead of a background image;
+* **Or**, provide a text alternative for the information that shows if the CSS image is not displayed (e.g. for users using alternate backgrounds and users using high contrast mode).
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique F3](https://www.w3.org/WAI/WCAG21/Techniques/failures/F3)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with visual impairment using color contrast enhancement
+* People who use alternate backgrounds to increase legibility
+
+
+
+
+
+
+
+### Check color is not used as the only visual means of conveying information
+
+
+
+Combine color and descriptive markup to convey information
+
+
+
+
+
+
+### Why is this important?
+
+Using descriptive markup and visual differences together with color enables users who cannot see color to understand the meaning conveyed through color differences.
+
+
+
+### What to do
+
+* If color is used to indicate required fields, also use an asterisk ('*') to visually indicate required fields without color (e.g. “required fields are red and indicated with '*' ") and indicate them programmatically with the `required` attribute;
+* **Or**, if use of color conveys other meaning or information, check that there is another visual indicator together with programmatic or text information that conveys the same information (e.g. use “green checkmarks” and “red crosses” instead of just “red” and “green” indicators).
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.1 Use of color](https://www.ibm.com/able/requirements/requirements/#1_4_1)
+
+### Who does this affect?
+
+ * People who cannot see color, have limited color vision or have color blindness
+ * People using text only, monochrome or braille displays
+ * People who personalize their display colors for easier reading
+
+
+
+
+
+
+
+### Check the keyboard focus indicator is highly visible when using CSS elements for border or outline
+
+
+
+The keyboard focus indicator must be highly visible when default border or outline is modified by CSS
+
+
+
+
+
+
+### Why is this important?
+
+All focus indicators should be highly visible and distinguishable. When navigating a Web page with a keyboard, users need to know which element has the keyboard focus. A visual focus indicator might be a vertical bar (a typical cursor) or a visible border surrounding a user interface control.
+
+
+
+### What to do
+
+ * If the keyboard focus meets visibility standards when tabbing on to the component, no action is needed;
+ * **Or**, use the default focus indicator for the platform;
+ * **Or**, adjust the CSS styling to make the keyboard focus highly visible;
+ * **Or**, use interface components that are highlighted by the user agent when they receive focus;
+ * **Or**, use a script to change the background color or border of the element to make it visually distinct when it receives focus
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.7 Focus Visible](https://www.ibm.com/able/requirements/requirements/#2_4_7)
+* [WCAG technique C15](https://www.w3.org/WAI/WCAG21/Techniques/css/C15)
+* [WCAG technique SCR31](https://www.w3.org/WAI/WCAG21/Techniques/client-side-script/SCR31)
+* [WCAG technique F78](https://www.w3.org/WAI/WCAG21/Techniques/failures/F78)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### Confirm Windows high contrast mode is supported when using CSS to include, position or alter non-decorative content
+
+
+
+Windows high contrast mode must be supported when using CSS to include, position or alter non-decorative content
+
+
+
+
+
+
+### Why is this important?
+
+Windows high contrast mode alters the way Web content is displayed by disabling certain CSS features. Applications that use CSS to include, position or alter non-decorative content may have issues including the disappearance of images or UI elements when Windows high contrast mode is enabled. Another example is the disappearance of visual focus indicators and visual alterations of UI elements with Windows high contrast mode enabled.
+
+
+
+### What to do
+
+ * On a Windows machine, activate high contrast mode;
+ * **And**, confirm all UI elements are visible and inherit the selected high contrast theme;
+ * **And**, confirm that checkboxes, radio buttons and text entry field boundaries are visible with good contrast;
+ * **And**, confirm the visual focus indicator is highly visible;
+ * **And**, confirm that all images that convey information are visible, or a text alternative is displayed;
+ * **And**, confirm that all decorative images are no longer visible.
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.4 Accessibility-supported Technologies](https://www.ibm.com/able/requirements/requirements/#4_1_4)
+* [WCAG technique F1](https://www.w3.org/WAI/WCAG21/Techniques/failures/F1)
+* [WCAG technique F3](https://www.w3.org/WAI/WCAG21/Techniques/failures/F3)
+* [WCAG technique F78](https://www.w3.org/WAI/WCAG21/Techniques/failures/F78)
+
+### Who does this affect?
+
+ * People with visual impairment using color contrast enhancement
+
+
+
+
+
+
+
+### Table has no headers identified
+
+
+
+Data table must identify headers
+
+
+
+
+
+
+### Why is this important?
+
+Data tables are used to display relational data. Associating data cells with appropriate headers allows assistive technologies to announce the header(s) for each data cell so a user can understand the complex relationship of the tabular data.
+
+
+
+### What to do
+
+ * If this is not a data table (no relational data), use CSS instead of a `
` element to lay out your content (highly recommended);
+ * **Or**, identify the table as layout with `role="presentation"` or `role="none"`;
+ * **Or**, if this is a simple data table, use the `
` element to identify headers in the first row;
+ * **Or**, if this is complex data table, add the `scope` attribute to the `
` element to identify headers and define the scope of the header for each data cell;
+ * **Or**, if this is a complex table with multiple rows or columns as headers, use the `id` attribute with the `
` element and the `headers` attribute with the `
` element to identify multiple headers for each data cell (e.g. `
`).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H43](https://www.w3.org/WAI/WCAG21/Techniques/html/H43)
+* [WCAG technique H63](https://www.w3.org/WAI/WCAG21/Techniques/html/H63)
+
+### 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/RPT_Table_LayoutTrigger.mdx b/rule-server/src/static/archives/2022.02.01/doc/RPT_Table_LayoutTrigger.mdx
new file mode 100644
index 000000000..541d6f655
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/RPT_Table_LayoutTrigger.mdx
@@ -0,0 +1,51 @@
+---
+title: "Accessibility Checker Rule Help: RPT_Table_LayoutTrigger"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### Verify table is not being used to format text content in columns unless the table can be linearized
+
+
+
+Avoid using tables to format text documents in columns unless the table can be linearized
+
+
+
+
+
+
+### Why is this important?
+
+Some users consume a linearized version of a Web page, with each element following the previous one. In linearized form, tables are read from cell to cell horizontally across each row, moving down the rows from top to bottom. If this reading order is not appropriate for the content, users will not be able to make sense of it.
+
+
+
+### What to do
+
+ * If a table is being used for presentation purposes, separate content from presentation by using CSS instead of a table to achieve the desired layout;
+ * **Or**, if a table must be used, add `role="none"` and structure the table so that a left-to-right, top-to-bottom reading of the table gives a natural reading order for the content.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People who use a braille display
+ * People with reading disabilities
+ * People with cognitive differences who view interfaces using an adapted layout
+
+
+
+
+
+
+
+### If the word(s) {0} is part of an instruction, check it is still understandable without this location or shape information
+
+
+
+Instructions must be meaningful without shape or location words
+
+
+
+
+
+
+### Why is this important?
+
+Instructions that use shape or location to describe elements (e.g. “select the button on the right”) can help many users understand content. However, sensory characteristics should not be the only means of conveying information when giving instructions. It is not meaningful to users who cannot see the object or the page layout. Adding a label to clarify sensory language will allow all users to better understand the instructions.
+
+
+
+### What to do
+
+* If this word is used in instructions to reference a page element or area, make sure there is also a visible text label for the element or area referenced in the instructions (e.g. "the ‘Delete’ button on the right");
+* **Or**, if the word if not used in instructions, or does not convey sensory meaning (e.g. "the moon above the clouds"), no action is needed.
+
+
+
+
+### About this requirement
+
+* [IBM Checkpoint 1.3.3 Sensory Characteristics ](https://www.ibm.com/able/requirements/requirements/#1_3_3)
+* [WCAG technique G96](https://www.w3.org/WAI/WCAG21/Techniques/general/G96.html)
+* [WCAG technique F14](https://www.w3.org/WAI/WCAG21/Techniques/failures/F14)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+* People with cognitive differences who view interfaces using an adapted layout
+
+
+
+
+
+
+
+### Provide a descriptive `` for Web pages
+
+
+
+Page `` should be a descriptive title, rather than a filename
+
+
+
+
+
+
+### Why is this important?
+
+Descriptive titles help users find relevant content and navigate through it. The `` element labels your page. It is typically the first part of the page that users see (or hear), and it allows them to differentiate your page from others. Browsers put the title in the title bar of the page window where it is quickly accessible, and automated tools such as search engines use the title to index and classify the page.
+
+
+
+### What to do
+
+ * Change the text in the `` element to a meaningful description of the page purpose. A filename is not an appropriate title for a Web page.
+
+ For example:
+
+<html lang="en">
+<head>
+ <title>IBM Accessibility</title>
+</head>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.2 Page Titled](https://www.ibm.com/able/requirements/requirements/#2_4_2)
+* [WCAG technique G88](https://www.w3.org/WAI/WCAG21/Techniques/general/G88)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with low vision using screen magnification
+ * People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Elements with an ARIA `"application"` role does not have a label
+
+
+
+An element with an ARIA `"application"` role must have a label
+
+
+
+
+
+
+### Why is this important?
+
+Elements with an `"application"` role structure must have a label specified with an accessible name. This information helps people using assistive technologies to find and navigate the content.
+
+
+
+### What to do
+
+* If there is visible text that appropriately describes the purpose of the content, set the element's `aria-labelledby` attribute to the `id` value of that text (example below);
+* **Or**, use the `aria-label` attribute to add a label directly to the element with the `"application"` role.
+
+For example:
+
+ <h1 id="weather">Weather portlet</h1>
+ ...
+ <div role="application" aria-labelledby="weather">
+ ...
+ </div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [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
+
+
+
+
+
+
+
+### Element with `"article"` role does not have a label
+
+
+
+All elements with role of `"article"` must have a label that describes their purpose
+
+
+
+
+
+
+### Why is this important?
+
+Elements with a role of `"article"` must have an associated label. This information helps people using assistive technologies to find and navigate the content. The HTML `` element has an implicit role of `"article"`.
+
+
+
+### What to do
+
+* If there is visible text that appropriately describes the purpose of the article, set the element's `aria-labelledby` attribute value to the `id` value of that text (example below);
+* **Or**, use the `aria-label` attribute to add a label directly to the element with the `"article"` role.
+
+For example:
+
+<h1 id="news">Breaking news</h1>
+...
+<div role="article" aria-labelledby="news">
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Article Role](https://w3c.github.io/aria-practices/#article)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### An element with a `"complementary"` role does not have a visible label
+
+
+
+A unique and visible label is preferred for each element with a `"complementary"` role
+
+
+
+
+
+
+### Why is this important?
+
+Elements with a `"complementary"` role are a type of region used to enclose content that is complementary to the main content on the page. Providing a visible label for each `"complementary"` region on the page provides better context for all users including people using assistive technologies. These landmark labels help to identify and navigate to the content.
+
+
+
+### What to do
+
+* For each `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Complementary Role](https://w3c.github.io/aria-practices/#complementary)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### An element with `"complementary"` role does not have a label
+
+
+
+An element with `"complementary"` role must have a label
+
+
+
+
+
+
+### Why is this important?
+
+An element with a `"complementary"` role must have a label specified with an accessible name. This information helps people using assistive technologies to find and navigate the content.
+The HTML `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Complementary Role](https://w3c.github.io/aria-practices/#complementary)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### A element with `"contentinfo"` role is present without an element with a `"main"` role
+
+
+
+A element with `"contentinfo"` role is only permitted with an element with `"main"` role
+
+
+
+
+
+
+### Why is this important?
+
+A element with `"contentinfo"` role is an area that identifies common information at the bottom of each page, typically called the footer of the page. It includes information such as copyrights and links to privacy and accessibility statements. A footer without any main content within a `"main"` role is not permitted. The HTML `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Contentinfo Role](https://w3c.github.io/aria-practices/#contentinfo)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Element attribute(s): `{0}` value is empty
+
+
+
+When specifying a required ARIA attribute, the value must be non-empty
+
+
+
+
+
+
+### Why is this important?
+
+For each ARIA attribute (a property or a state) used in an element, a valid value for the attribute must be specified. This enables assistive technologies to present the element appropriately.
+
+
+
+### What to do
+
+ * Provide a valid value for the empty required attribute(s). Refer to the [ARIA practices - Taxonomy of States and Properties](https://w3c.github.io/aria-practices/#state_prop_taxonomy) for valid values for each attribute.
+
+For example, the following element uses an `aria-live` property. The `aria-live` property requires a valid non-empty value set, one of which is `"polite"`.
+
+<div role="range" aria-live="polite">Live region content.</div>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA practices - Taxonomy of States and Properties](https://w3c.github.io/aria-practices/#state_prop_taxonomy)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The element does not have a valid ARIA role specified.
+
+
+
+Elements with event handlers must have a valid ARIA role
+
+
+
+
+
+
+### Why is this important?
+
+When UI elements are programmed with script to receive focus and be interactive, setting a valid `role` attribute or using an element with an implicit role allows assistive technologies to provide information about and manage an interactive element appropriately, including providing keyboard operability.
+
+
+
+### What to do
+
+ * If using native HTML, determine why the element does not have an implicit role and address the cause (e.g., <`a`> does not have a role of `link` unless it also has an `href` attribute);
+ * **Or**, change the element type to one with an implicit role that matches the behavior of the element (e.g., use <`button`> instead of <`div`>);
+ * **Or**, assign a valid ARIA `role` that reflects the behavior of the element (e.g., use <`div role="button"`>).
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA practices - Design Patterns and Widgets](https://w3c.github.io/aria-practices/#aria_ex)
+
+### Who does this affect?
+
+ * People who rely on keyboard control
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The {0} element with a `"group"` role does not have a label
+
+
+
+Elements with a `"group"` role should have a label that describes the logical collection
+
+
+
+
+
+
+### Why is this important?
+
+An HTML `` element or an element with an explicit `"group"` role is used to form a logical collection of items in a component, such as a collection of siblings in a hierarchy. A group label helps people using assistive technologies to find and navigate the logical collections.
+
+
+
+### What to do
+
+* If there is visible text that appropriately describes the purpose of the group content, set the element's `aria-labelledby` attribute to the `id` value of that text (example below);
+* **Or**, use the `aria-label` attribute to add a label directly to the element with the `"group"` role.
+
+For example:
+
+ <h2 id="fruit">Fruits</h2>
+ <p> The following is a grouping of fruits by type</p>
+ <ul>
+ <li> <h3 id="tropical">Tropical Fruits</h3>
+ <ul role="group" aria-labelledby="tropical">
+ <li>Mango</li>
+ <li>Papaya</li>
+ <li>Pineapple</li>
+ </ul>
+ </li>
+ <li> <h3 id="berries">Berries</h3>
+ <ul role="group" aria-labelledby="berries">
+ <li>Blueberry</li>
+ <li>Strawberry</li>
+ </ul>
+ </li>
+ </ul>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Group Role](https://w3c.github.io/aria-practices/#group)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The element using `aria-activedescendant` does not have its `tabindex` attribute value set to `"0"` or `"-1"`
+
+
+
+Element using `aria-activedescendant` property must have its `tabindex` attribute value set to `"0"` or `"-1"` to be keyboard accessible
+
+
+
+
+
+
+### Why is this important?
+
+Elements use `aria-activedescendant` property to manage the focus of their active descendants.
+Setting the `tabindex` value to `"0"` or `"-1"` ensures the element will be included in the tab sequence and allows its descendants to receive focus for keyboard access.
+Using values greater than 0 should be avoided as it can break the logical tab order.
+
+
+
+### What to do
+
+ * Set the value of the `tabindex` attribute equal to `"0"` or `"-1"` on the element using `aria-activedescendant` property to include the element in the tab sequence.
+
+ The following example shows a toolbar element using the `aria-activedescendant` property with a `tabindex` attribute set to zero:
+
+<div role="toolbar" aria-label="Toolbar Widget" tabindex="0" aria-activedescendant="button2" id="tb3" onkeypress="keyEvent();">
+ <div id="button1" role="button1">tool 1</div>
+ <div id="button2" role="button2">tool 2</div>
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+* [ARIA practices - Managing focus with 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
+* People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### UI component has no focusable child element
+
+
+
+UI component must have at least one focusable child element for keyboard access
+
+
+
+
+
+
+### Why is this important?
+
+Setting the `tabindex` value to 0 or -1 on a child element not focusable by default ensures the UI component will be included in the tab sequence and receive focus for keyboard access. Using values greater than 0 should be avoided as it can break the logical tab order.
+
+
+
+### What to do
+
+* Set the value of the `tabindex` attribute equal to 0 or -1 on at least one of the required child elements to include the UI component in the tab sequence.
+
+The following example shows a component with `role="tree"` with its required child with `role="treeitem"`. The child contains `tabindex="0"` which makes the `treeitem` keyboard operable:
+
+<div role="tree" aria-label="Tree Widget" id="tree1" onkeypress="keyEvent();">
+ <div id="item1" role="treeitem" tabindex="0">Tree item</div>
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+* [ARIA practices - The Tab Sequence](https://w3c.github.io/aria-practices/#kbd_general_between)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### Interactive WAI_ARIA UI component does not have keyboard handlers implemented for keyboard access
+
+
+
+Interactive WAI_ARIA UI components must provide keyboard access
+
+
+
+
+
+
+### Why is this important?
+
+Unlike native HTML form elements, browsers do not provide keyboard support for graphical user interface (GUI) components that are made accessible with ARIA. Authors need to implement keyboard access using keyboard handlers such as `onkeydown` or `onkeypress`.
+
+
+
+### What to do
+
+ * Confirm you can use only the keyboard to navigate to and interact with the UI component;
+ * **Or**, if the component is not keyboard accessible, implement `onkeydown` or `onkeypress` keyboard handlers on the element itself using [ARIA practices](https://www.w3.org/TR/wai-aria-practices-1.2);
+ * **Or**, if the inaccessible component has required children, implement `onkeydown` or `onkeypress` keyboard handlers on all the required children (example below) or a grandchild of each required child;
+ * **Or**, use other methods to provide keyboard access as described in [ARIA practices - Design Patterns and Widgets](https://w3c.github.io/aria-practices/#aria_ex).
+
+For example:
+
+<div role="tree" id="tree1">
+ <div id="item1" role="treeitem" tabindex="0" onkeypress="keyEvent()">Tree item</div>
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.1.1 Keyboard](https://www.ibm.com/able/requirements/requirements/#2_1_1)
+* [ARIA practices - Design Patterns and Widgets](https://w3c.github.io/aria-practices/#aria_ex)
+* [ARIA practices - Developing a Keyboard Interface](https://w3c.github.io/aria-practices/#keyboard)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with low vision
+ * People with tremor or other movement disorders
+ * People who rely on keyboard control
+
+
+
+
+
+
+
+### Multiple elements with `"application"` role do not have unique labels
+
+
+
+Each element with an `"application"` role must have a unique label that describes its purpose
+
+
+
+
+
+
+### Why is this important?
+
+An element with an `"application"` role is a type of ARIA landmark region. When there are multiple application regions, they must have unique labels, so people who use assistive technologies can quickly identify and navigate to each application region.
+
+
+
+### What to do
+
+ * For each element with `role="application"`, either set the value of the `aria-labelledby` attribute of each application to the `id` value of any visible text that appropriately and uniquely describes that application's purpose;
+ * **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"application"` role.
+
+For example:
+
+<h1 id="weather">Weather portlet</h1>
+<div role="application" aria-labelledby="weather">
+ ...
+</div>
+
+<div role="application" aria-label="Stock ticker portlet">
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"article"` role do not have unique labels
+
+
+
+Each element with an `"article"` role must have a unique label that describes its purpose
+
+
+
+
+
+
+### Why is this important?
+
+An HTML `` element, or any element with an explicit `"article"` role is a type of ARIA landmark region. When there are multiple article regions, they must have unique labels, so people who use assistive technologies can quickly identify and navigate to each `"article"` region.
+
+
+
+### What to do
+
+ * For each `` element or element with `role="article"`, either set the value of the `aria-labelledby` attribute of each article to the `id` value of any visible text that appropriately and uniquely describes that article's purpose;
+ * **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"article"` role.
+
+For example:
+
+<article aria-label="weather portlet">
+ ...
+</article>
+
+<div role="article" aria-labelledby="t1">
+ <h1 id="t1">Stock Ticker Portlet</h1">
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"banner"` role do not have unique labels
+
+
+
+Each element with a `"banner"` role must have a unique label that describes its purpose
+
+
+
+
+
+
+### Why is this important?
+
+An HTML `` element that is a descendant of the `` element, or any element with an explicit `"banner"` role is a type of ARIA landmark region that identifies site-oriented content at the beginning of the page. When the page includes more than one banner region, each should have a unique label, so people who use assistive technologies can quickly identify and navigate to each `"banner"` region.
+
+
+
+### What to do
+
+* For each `` element that is a descendant of the `` element, and each element with `role="banner"`, either set the value of the `aria-labelledby` attribute of each banner to the `id` value of any visible text that appropriately and uniquely describes that banner's purpose;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"banner"` role.
+
+For example:
+
+<h1 id="weather">Weather portlet</h1>
+<header aria-labelledby="weather">
+ ...
+</header>
+
+<div role="banner" aria-label="Stock ticker portlet">
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with the `"complementary"` role do not have a unique label
+
+
+
+All elements with the `"complementary"` role must have a unique label
+
+
+
+
+
+
+### Why is this important?
+
+When there are multiple elements with a `"complementary"` role, they must have unique labels that clearly describe the region's content. This includes `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"contentinfo"` role found on a page
+
+
+
+A page, document or application should only have one element with the `"contentinfo"` role
+
+
+
+
+
+
+### Why is this important?
+
+There should be only one element with a role of `"contentinfo"` per page, document or application, to avoid any confusion about where to find footer information. An element with the `"contentinfo"` role is a landmark that identifies common footer information about its parent, such as copyrights, accessibility and privacy statements typically repeated at the bottom of each page. The HTML `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Contentinfo Landmark](https://w3c.github.io/aria-practices/examples/landmarks/contentinfo.html)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with the `"contentinfo"` role do not have unique labels
+
+
+
+All elements with `"contentinfo"` role must have unique labels
+
+
+
+
+
+
+### Why is this important?
+When there are multiple elements with a `"contentinfo"` role, they must have unique labels that clearly describe each region's content. This includes HTML `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with a `"document"` role do not have unique labels
+
+
+
+All elements with a `"document"` role must have unique labels
+
+
+
+
+
+
+### Why is this important?
+
+When there are multiple elements with a `"document"` role they must have unique labels. This helps people using assistive technologies to quickly identify and navigate to each document.
+
+
+
+### What to do
+
+* For each element with a `"document"` role, either set the value of the `aria-labelledby` attribute of each document to the `id` value of any visible text that appropriately and uniquely describes that document's purpose;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"document"` role.
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6.html)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"form"` role do not have unique labels
+
+
+
+Each element with a `"form"` role must have a unique label that describes its purpose
+
+
+
+
+
+
+### Why is this important?
+
+An HTML `
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with a `"group"` role have the same label
+
+
+
+All elements with a `"group"` role must have unique labels
+
+
+
+
+
+
+### Why is this important?
+
+When there are multiple elements with a `"group"` role they must have unique labels. This helps people using assistive technologies to quickly identify and navigate to each group.
+
+
+
+### What to do
+
+* For each element with a `"group"` role, either set the value of the `aria-labelledby` attribute of each group to the `id` value of any visible text that appropriately and uniquely describes that group's purpose;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"group"` role.
+
+For example:
+
+<h2 id="stories">Breaking News Stories</h2>
+<div role="group" aria-labelledby="stories">
+...
+</div>
+
+<div role="group" aria-label="Market outlook stories">
+...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"main"` role do not have unique labels
+
+
+
+Multiple elements with `"main"` role must have unique labels
+
+
+
+
+
+
+### Why is this important?
+
+The `` element has an implicit landmark role of `"main"` that represents the central topic of the document. This provides a non-obtrusive alternative for a “skip to main content” link. It is possible, but not desirable, to have more than one element with a `"main"` role, for example through DOM nesting (e.g. a document within a document) or by use of the `aria-owns` attribute. In this situation, an associated unique label that describes each area of main content is needed to allow users of assistive technologies to understand the purpose of each main area, and navigate to them. Ideally the author SHOULD mark no more than one element with the `"main"` role.
+
+
+
+### What to do
+
+* Remove the `"main"` role from all but the one element that represents the main content on the page (highly recommended);
+* **Or**, for each element with a `"main"` role, either set the value of the `aria-labelledby` attribute to the `id` value of any visible text that appropriately and uniquely describes the element's central content;
+* **Or**, for elements where the design cannot accommodate suitable visible text, use the `aria-label` attribute to add an invisible, unique, non-empty label to the element.
+
+For example:
+
+<html>
+<body>
+ <main hidden aria-labelledby="title1">
+ <h1 id="title1"> Stock Ticker portlet </h1>
+ </main>
+
+ <div role="main" aria-label="Weather portlet">
+ ...
+ </div>
+</body>
+</html>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Main Landmark](https://w3c.github.io/aria-practices/examples/landmarks/main.html)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Multiple elements with a `"main"` role do not have unique visible labels
+
+
+
+Each element with a `"main"` role should have a visible label that is unique
+
+
+
+
+
+
+### Why is this important?
+
+Elements with a `"main"` role are a type of region used to enclose the main content on the page. Providing a visible label for each main region on the page provides better context to all users including people using assistive technologies who rely on landmarks, to identify and navigate to the main content.
+
+
+
+### What to do
+
+ * For each `` element or element with `role="main"`, set the value of the `aria-labelledby` attribute to the `id` value of any visible text that appropriately and uniquely describes that main content.
+
+For example:
+
+<h1 id="weather">Weather portlet</h1>
+<h1 id="stocks">Stock ticker portlet</h1>
+
+<div role="main" aria-labelledby="weather">
+ ...
+</div>
+
+<div role="main" aria-labelledby="stocks">
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"nav"` role do not have unique labels
+
+
+
+Multiple elements with `"nav"` role must have unique labels
+
+
+
+
+
+
+### Why is this important?
+
+When there multiple elements with role `"nav"` on a page, they must have unique labels that clearly describe their purpose. This helps people who use assistive technologies to quickly understand and navigate to each navigation region.
+
+
+
+### What to do
+
+* For each element with a `"nav"` role, either set the value of the `aria-labelledby` attribute to the `id` value of any visible text that appropriately and uniquely describes that navigation region;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to an element with the `"nav"` role.
+
+
+For example:
+
+<h2 id="weather">Weather portlet</h2>
+<nav aria-labelledby="weather">
+ ...
+</nav>
+
+<nav aria-label="Stock ticker portlet">
+ ...
+</nav>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Multiple elements with `"region"` role do not have unique labels
+
+
+
+Multiple elements with `"region"` role must have unique labels
+
+
+
+
+
+
+### Why is this important?
+
+When there are multiple elements with a `"region"` role, they must have unique labels that clearly describe the region's content. This includes labelled `` elements. This label helps people using assistive technologies to quickly find and navigate to each region.
+
+
+
+### What to do
+
+* For each element with a `"region"` role, either set the value of the `aria-labelledby` attribute of each region to the `id` value of any visible text that appropriately and uniquely describes that region's content;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"region"` role.
+
+For example:
+
+<div role="region" aria-label="Weather portlet">
+...
+</div>
+
+<div role="region" aria-label="Stock ticker portlet">
+...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple elements with `"search"` role do not have unique labels
+
+
+
+Each element with a `"search"` role must have a unique label that describes its purpose
+
+
+
+
+
+
+### Why is this important?
+
+When there is more than one element with the `"search"` landmark role, each must have a unique, meaningful label so that assistive technologies can identify and navigate to each one.
+
+
+
+### What to do
+
+* For each element with a `"search"` role, either set the value of the `aria-labelledby` attribute to the `id` value of any visible text that appropriately and uniquely describes that search element's purpose;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to each element with the `"search"` role.
+
+For example:
+
+<div role="search" aria-label="Weather portlet">
+...
+</div>
+<div role="search" aria-label="Stock ticker portlet">
+...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA6](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA6)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Multiple toolbar components do not have unique labels
+
+
+
+All toolbar components on a page must have unique labels specified
+
+
+
+
+
+
+### Why is this important?
+
+When there is more than one toolbar on a page, each must be uniquely labeled to help assistive technology users understand each toolbar’s purpose.
+
+
+
+### What to do
+
+* For each element with a `"toolbar"` role, either set the value of the `aria-labelledby` attribute to the `id` value of any visible text that appropriately and uniquely describes that toolbar's purpose;
+* **Or**, use the `aria-label` attribute to add an invisible, unique, non-empty label to an element with the `"toolbar"` role.
+
+The following example shows two containers created with the ARIA `"toolbar"` role. Each container is uniquely labeled with `aria-label` and `aria-labelledby` attributes.
+
+<div role="toolbar" aria-label="Simple tools">
+ ...
+</div>
+
+<div role="toolbar" aria-labelledby="ct">
+ <h2 id="ct">Complex tools</h2>
+ ...
+</div>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [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
+
+
+
+
+
+
+
+### There is more than one element with `"banner"` role on the page
+
+
+
+There must be only one element with `"banner"` role used on the page
+
+
+
+
+
+
+### Why is this important?
+
+When more than one `"banner"` landmark role is used on a web page, it can confuse people who use assistive technologies that rely on this information to easily navigate the various sections in the page.
+
+
+
+### What to do
+
+* Remove `"banner"` role from all but one element. (The`` element has an implicit role of banner when it is a descendent of the body element.)
+
+For example:
+
+ <body>
+ <div role="banner">banner content...</div>
+ <div role="search">Search widget</div>
+ <div role="contentinfo">Copyright information...</div>
+</body>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - HTML Sectioning Elements](https://w3c.github.io/aria-practices/examples/landmarks/HTML5.html)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Content is not within a landmark element
+
+
+
+All content must reside within an element with a landmark role
+
+
+
+
+
+
+### Why is this important?
+
+Landmark roles provide programmatic access to sections of a web page, making it easy for the user to understand the structure of the page and easily navigate to different sections. They also enable users to skip over blocks of content that are repeated on multiple pages.
+
+
+
+### What to do
+
+* Enclose the content within an HTML5 sectioning element with an implicit landmark role (e.g. `Content`);
+* **Or**, use the `"role"` attribute on an enclosing element to specify an appropriate ARIA landmark value (e.g. `
...
`).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique ARIA11](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA11)
+* [HTML5 Sectioning Elements](https://w3c.github.io/aria-practices/examples/landmarks/HTML5.html)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### An element with a `"region"` role does not have a label
+
+
+
+Elements with a `"region"` role must have a label that describes their purpose
+
+
+
+
+
+
+### Why is this important?
+
+Elements with a `"region"` role must have a label that describes the purpose of the region. This information helps people using assistive technologies to find and navigate the region.
+
+
+
+### What to do
+
+* If there is visible text that appropriately describes the region's purpose, set the region element's `aria-labelledby` attribute to the `id` value of that text (example below);
+* **Or**, use the `aria-label` attribute to add a label directly to the element with the `"region"` role.
+
+For example, the HTML `` element has an implicit role of `"region"`:
+
+<section aria-labelledby="log1">
+ <h3 id="log1">Real time log</h3>
+ This is the text contained within the landmark region...
+</section>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Region Landmark](https://w3c.github.io/aria-practices/examples/landmarks/region.html)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### An element with ARIA `role="{0}"` does not contain or own at least one child element with each of the following ARIA roles: `{1}`
+
+
+
+An element with ARIA `role` must contain required children
+
+
+
+
+
+
+### Why is this important?
+
+If a ARIA `role` attribute is specified for an element, any ARIA child elements required for that role must also be present. Child elements' native ARIA roles satisfy the requirement - the role does not have to be explicitly set. Without the required child elements, assistive technologies may not be able to accurately represent or interact with the element.
+
+
+
+### What to do
+
+ * Add the appropriate required child element(s) to this element.
+
+For example, the following element uses the `"radiogroup"` role. The `"radiogroup"` role requires child elements with `role="radio"` set in a manner that represents the checked or unchecked state of the radio button.
+
+<div role="radiogroup">
+ <div role="radio" aria-checked="false"></div>
+ <div role="radio" aria-checked="true"></div>
+</div>
+
+Example with an implicit role:
+
+<table role= "treegrid">
+ <tr>
+ <td>
+ element with role= "treegrid" requires child element with role="row".
+ TR has implicit ARIA role="row", so the condition is met
+ <td>
+ <tr>
+</table>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA practices - Required Owned Elements](https://w3c.github.io/aria-practices/#mustContain)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+
+### The element with `role="{0}"` is not contained in or owned by an element with one of the following roles: `{1}`
+
+
+
+An element with an implicit or explicit role must be contained within a valid element
+
+
+
+
+
+
+### Why is this important?
+
+If an ARIA `role` attribute is specified for an element, the parent element that is required for that role must also be present in the accessibility tree. If the parent element's implicit role satisfies the requirement (e.g., `
`), this role does not have to be explicitly set with ARIA. Without the required parent element, assistive technologies may not be able to accurately represent or interact with the element.
+
+
+
+### What to do
+
+ * Add one of the required context role(s) to the appropriate parent of this element.
+
+For example, the following `
` element uses an `"option"` role. The `"option"` role requires a parent element with role `"listbox"`.
+
+<ul role="listbox">
+ <li role="option">list box option</li>
+</ul>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA - Required Context Role](https://www.w3.org/TR/wai-aria/#scope)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### An element with an ARIA role does not have the required ARIA attribute
+
+
+
+When using an ARIA role on an element, the required attributes for that role must be defined
+
+
+
+
+
+
+### Why is this important?
+
+When elements are assigned a ARIA `role`, there are required attributes for that role. These attributes represent states and properties of the element. If these are not defined, assistive technologies may not be able to describe the element or its status to users.
+
+
+
+### What to do
+
+* Define the missing state or property attributes for the element according to its role.
+
+The following example shows all the required properties defined for the `scrollbar` role:
+
+ <div id="content1">Lorem ipsum ...</div>
+ <div
+ role="scrollbar"
+ aria-controls="content1"
+ aria-orientation="vertical"
+ aria-valuemax="100"
+ aria-valuemin="0"
+ aria-valuenow="25">
+ <div class="scrollhandle"></div>
+ </div>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA practices - required states](https://w3c.github.io/aria-practices/#requiredState)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### The `id` specified for the ARIA property value is not valid
+
+
+
+The ARIA property must reference a non-empty unique `id` of an existing element that is visible
+
+
+
+
+
+
+### Why is this important?
+
+Any element that uses a ARIA property must reference a valid `id` attribute. This enables assistive technologies to precisely identify the referenced element.
+
+
+
+### What to do
+
+ * Update the ARIA property value with the unique `id` value of a valid visible element.
+
+For example:
+
+<form action="" method="post">
+ <label for="ln1">Last Name</label>
+ <input type="text" name="lastname" id="ln1" value="enter last name" title="enter last name" aria-describedby="ln2">
+</form>
+<div id="ln2" role="tooltip">Last Name must be alpha only characters</div>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### The attribute referenced by the element is not a valid ARIA state or property
+
+
+
+ARIA attributes must be valid for the element's role
+
+
+
+
+
+
+### Why is this important?
+
+When elements are assigned a ARIA `role`, ARIA specifies which attributes are valid for that role. If invalid ARIA attributes are used, assistive technologies may not be able to interpret and operate the element accurately for users.
+
+
+
+### What to do
+
+* Remove ARIA state or property attributes that are not valid for the element role;
+* **Or**, change the `role` value to a role that supports the intended behavior of the element, using the ARIA specification as a guide.
+In the following example the element references only valid ARIA attributes for an element with the role of `"tree"`: a global `aria-labelledby` property and an `aria-expanded` state.
+
+For example:
+
+<ul id="tree1" class="tree root-level" role="tree" aria-labelledby="label_1">
+
+<li id="fruits" class="tree-parent" role="treeitem" tabindex="0" aria-expanded="true"><span>Fruits</span>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA - States and Properties](https://www.w3.org/TR/wai-aria-1.2/#introstates)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### The value specified for the attribute on the element is not valid
+
+
+
+The attribute value specified on the element must be valid per ARIA specification
+
+
+
+
+
+
+### Why is this important?
+
+When elements are assigned a ARIA `role`, there are required attributes for that role. These attributes represent states and properties of the element. The ARIA attributes accept a specific set of tokens as values along with implicit values termed as ‘default’ when no values are indicated. The correct value of the attribute must be specified as it dictates the behavior of the control and is used by the user agent (Browsers) to process the behavior of the control as prescribed.
+
+
+
+### What to do
+
+* Provide a valid value for the attribute defined on the element, using the ARIA specification as a guide.
+
+For example, the following paragraph element defines an `aria-live` property with a valid value of `"polite"`.
+
+
+<p aria-live="polite">Live region content.</p>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA specification - States and Properties](https://www.w3.org/TR/wai-aria-1.2/#introstates)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### The `role` defined on the element is not valid per ARIA specification
+
+
+
+Elements must have a valid `role` per ARIA specification
+
+
+
+
+
+
+### Why is this important?
+
+The ARIA specification provides a collection of accessibility roles as the main indicator of the type of control. This is used to support platform accessibility APIs. Using a valid ARIA `role` on an element as defined in the ARIA specification allows assistive technologies to use the role semantics to present and support consistent object interaction.
+
+
+
+### What to do
+
+* Update the element with a valid `role` that fits the type of control as intended, using the ARIA specification as a guide.
+The following example shows an element with a valid `role="scrollbar"` intended to provide scrollbar functionality:
+
+ <div id="content1"></div>
+ <div
+ role="scrollbar"
+ aria-controls="content1"
+ aria-orientation="vertical"
+ aria-valuemax="100"
+ aria-valuemin="0"
+ aria-valuenow="25">
+ <div class="scrollhandle"></div>
+ </div>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA specification](https://www.w3.org/TR/wai-aria-1.2/)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Interactive component does not have a programmatically associated name
+
+
+
+Interactive component must have a programmatically associated name
+
+
+
+
+
+
+### Why is this important?
+Interactive UI components with certain implicit or explicit ARIA roles require an [accessible name](https://www.w3.org/TR/accname-1.2/#dfn-accessible-name). Without proper labels or the programmatically associated name, assistive technologies may not be able to accurately present the component's name and purpose to the user. This affects the user’s navigation and ability to interact with the content.
+
+
+
+### What to do
+
+* Use the `aria-labelledby` attribute to reference existing visible text on the page that can clearly identify the purpose of the component;
+* **Or**, use the `aria-label` attribute with a short description as its value that can clearly identify the purpose of the component when a visual label is not available;
+* **Or**, use the `title` attribute to provide a name when the design cannot accommodate a visual label;
+* **Or**, if the element's role allows it to derive a label from its content, provide the label text as the inner content of the element (e.g. ``).
+
+The following code snippet shows a tree widget labelled with an `aria-labelledby` attribute to reference the heading text:
+
+<h1 id="contents">Table of contents</h1>
+<div role="tree" aria-labelledby="contents" tabindex="0">...</div>
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA specification - Widget Roles](https://www.w3.org/TR/wai-aria-1.2/#widget_roles)
+* [W3C - Accessible Name and Description Computation](https://w3c.github.io/accname/#mapping_additional_nd)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+* People with dexterity impairment using voice control
+
+
+
+
` element must contain descriptive text
+
+
+
+
+
+
+### Why is this important?
+
+The caption for a table is an identifier and acts like a title or heading for the table. The `
` element allows screen readers to navigate directly to the caption to get the description of the table.
+
+
+
+### What to do
+
+* Add descriptive text to the `
` element.
+
+For example:
+
+<table id="data_table1" border="1">
+<caption>Boys and Girls in Elementary School Classes</caption>
+ <tr>
+ <th scope="col">Class</th>
+ <th scope="col"># of Boys</th>
+ <th scope="col"># of Girls</th>
+ </tr>
+</table>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H39](https://www.w3.org/WAI/WCAG21/Techniques/html/H39)
+
+### 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/Valerie_Caption_InTable.mdx b/rule-server/src/static/archives/2022.02.01/doc/Valerie_Caption_InTable.mdx
new file mode 100644
index 000000000..fd9e36789
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/Valerie_Caption_InTable.mdx
@@ -0,0 +1,54 @@
+---
+title: "Accessibility Checker Rule Help: Valerie_Caption_InTable"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### `
` element is not nested inside a `
` element
+
+
+
+`
` element must be nested inside the associated `
` element
+
+
+
+
+
+
+### Why is this important?
+
+The caption for a table is an identifier and acts like a title or heading for the table. The `
` element allows screen readers to navigate directly to the caption to get the description of the table.
+
+
+
+### What to do
+
+ * Nest the `
` element inside the associated `
` element. For example:
+
+<table id="data_table1" border="1" summary="A simple data table showing the number of boys and girls in each grade of an elementary school">
+ <caption>Boys and Girls in Elementary School Classes</caption>
+ <tr> ... </tr>
+ <tr> ... </tr>
+</table>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H39](https://www.w3.org/WAI/WCAG21/Techniques/html/H39)
+
+### 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/Valerie_Elem_DirValid.mdx b/rule-server/src/static/archives/2022.02.01/doc/Valerie_Elem_DirValid.mdx
new file mode 100644
index 000000000..a75b6d0aa
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/Valerie_Elem_DirValid.mdx
@@ -0,0 +1,49 @@
+---
+title: "Accessibility Checker Rule Help: Valerie_Elem_DirValid"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### Invalid value used for the `dir` attribute
+
+
+
+`dir` attribute value must be `"ltr"`, `"rtl"`, or `"auto"`
+
+
+
+
+
+
+### Why is this important?
+
+The `dir` attribute specifies the rendering order of text content. It is used by assistive technology to read or present information in the intended order.
+
+
+
+### What to do
+
+ * For text that should be read from left to right, use `dir="ltr"`;
+ * **Or**, for text that should be read from right to left, use `dir="rtl"`;
+ * **Or**, if the direction of the text is truly unknown, use `dir="auto"`.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.2 Meaningful Sequence](https://www.ibm.com/able/requirements/requirements/#1_3_2)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Verify `` content is accessible
+
+
+
+A `` containing non-HTML content must be made accessible
+
+
+
+
+
+
+### Why is this important?
+
+If the content of a `` is not HTML, it may not be accessible. For example, if the source of the `` element is an image file, assistive technology cannot read the content because you cannot add `alt` text to the image in the `` source. The user opens the frame and hears nothing or perhaps the name of the image file. The `` element is obsolete and ideally should not be used. When used, the frame source must be accessible.
+
+
+
+### What to do
+
+ * HTML `` is obsolete, if possible avoid its use;
+ * **Or**, verify that interactive content inside the frame is accessible by keyboard;
+ * **And**, verify that content inside the frame can be accessed by assistive technologies such as a screen reader.
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+
+### 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
+ * People with dexterity impairment
+
+
+
+
+
+
+
+### The `` element does not have descriptive text
+
+
+
+A `` element must have non-empty descriptive text that identifies the purpose of the interactive component
+
+
+
+
+
+
+### Why is this important?
+
+A descriptive label for an interactive component is necessary to make the component's purpose clear, and allows it to be referred to in voice commands. A label can also include a text symbol such as an asterisk indicating the labelled field is required.
+
+
+
+### What to do
+
+* Add text to the empty `` element that clearly identifies the purpose of the interactive component being labelled.
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.6 Headings and Labels](https://www.ibm.com/able/requirements/requirements/#2_4_6)
+* [WCAG technique G131](https://www.w3.org/WAI/WCAG21/Techniques/general/G131)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Add descriptive text to the `` element
+
+
+
+`` elements should contain descriptive text
+
+
+
+
+
+
+### Why is this important?
+
+The content of the `` element is provided to screen reader users or in browsers when an embedded object cannot be displayed. However, this is a deprecated element.
+
+
+
+### What to do
+
+ * The `` element is deprecated and should be avoided. Use the `
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H53](https://www.w3.org/WAI/WCAG21/Techniques/html/H53)
+* [WCAG technique H46](https://www.w3.org/WAI/WCAG21/Techniques/html/H46)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People who turn off image-loading on their web browsers
+
+
+
+
` element is not related via `header` or `scope`
+
+
+
+For a complex data table, all `
` and `
` elements must be related via `header` or `scope` attributes
+
+
+
+
+
+
+### Why is this important?
+
+Navigating cell by cell through a complex data table is especially difficult when users have to search for the meaning of each cell. Using the `id` and `header` attributes captures complex relationships between data cells and header cells that can then be conveyed to users, supporting efficient table navigation.
+
+
+
+### What to do
+
+ * If this is not a data table (no relational data), use CSS instead of a `
` element to lay out your content (highly recommended);
+ * **Or**, identify the table as layout with `role="presentation"` or `role="none"`;
+ * **Or**, use the `id` attribute to provide an identifier for header cells (e.g. `
`);
+ * **And**, use the `header` attribute on data cells to identify the appropriate header cells (e.g. `
`).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H43](https://www.w3.org/WAI/WCAG21/Techniques/html/H43)
+
+### Who does this affect?
+
+ * 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/WCAG20_A_HasText.mdx b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_A_HasText.mdx
new file mode 100644
index 000000000..4fa515400
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_A_HasText.mdx
@@ -0,0 +1,55 @@
+---
+title: "Accessibility Checker Rule Help: WCAG20_A_HasText"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### Hyperlink has no description of its purpose
+
+
+
+Hyperlinks must have link text, a label or an image with a text alternative
+
+
+
+
+
+
+### Why is this important?
+
+When the purpose of a link is clear users can easily navigate links on the page without having to see the surrounding information for context.
+
+
+
+### What to do
+
+* Ideally, add unique link text as the content of the hyperlink that describes the purpose of the hyperlink;
+* **Or**, if it’s not possible to use unique link text (e.g. multiple ‘Read more..’ links for different topics), use the `aria-labelledby` attribute to point to text visible on the page that identifies the link purpose. The following example shows how the `aria-labelledby` provides additional context by adding the text 'Breaking News' from the header to the link text 'Read more..':
+
+<h2 id="topic1">Breaking News</h2>
+<p>The central bank cut interest rates by half a percentage to protect economy.
+<a id="p1" href="news.html" aria-labelledby="p1 topic1">Read more...</a></p>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.4 Link Purpose (in Context)](https://www.ibm.com/able/requirements/requirements/#2_4_4)
+* [WCAG technique H30](https://www.w3.org/WAI/WCAG21/Techniques/html/H30)
+* [WCAG technique ARIA7](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA7)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+
+
+
+
+
+
+
+### Inform the user when activating a link will open a new window
+
+
+
+Users should be warned in advance if activating a link will open a new window
+
+
+
+
+
+
+### Why is this important?
+
+Changes in context can confuse or disorient users who cannot easily perceive the change. If activating a link opens a new popup or a window, informing the user in advance helps people who use assistive technologies be aware of the change in context.
+
+
+
+### What to do
+
+* Include a warning in the label advising the user that the link opens in a new window;
+* **Or**, use CSS to provide a warning before opening a new window (see Example 2 in [WCAG technique G201](https://www.w3.org/WAI/WCAG21/Techniques/general/G201)).
+
+
+
+
+### About this requirement
+
+* [IBM 3.2.2 On Input](https://www.ibm.com/able/requirements/requirements/#3_2_2)
+* [WCAG technique G201](https://www.w3.org/WAI/WCAG21/Techniques/general/G201)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision who use magnification
+* People with cognitive limitations
+
+
+
+
+
+
+
+### An `
+
+
+
+
+### Why is this important?
+
+Alternative text on `` elements is important for users who do not have a Java-capable browser or have disabled Java™. In addition, providing a text alternative makes the same information accessible through audio or other channels.
+
+
+
+### What to do
+
+* If the `` element is missing an alternative description, add an `alt` attribute
+* **And**, add HTML-based content (i.e., inner text) that describes the function of the `` element, if possible.
+
+For example:
+
+<applet CODE="banner.class" ALT="Scrolling news banner" WIDTH="200" HEIGHT="200">
+Banner showing three things:
+ <ol>
+ <li>The Dow Jones Industrial Average climbed 300 points today in heavy trading.</li>
+ <li>G8 Summit to start in Washington tomorrow.</li>
+ <li>Global nuclear non-proliferation treaty signed by all nations today.</li>
+ </ol>
+</applet>
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H35](https://www.w3.org/WAI/WCAG21/Techniques/html/H35)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Content found that blinks persistently
+
+
+
+Content that blinks persistently must not be used
+
+
+
+
+
+
+### Why is this important?
+
+The text inside a `blink` element can blink at a predetermined rate as there is no way to interrupt or disable blinking. Although blinking draws attention to content, it can be a problem for some users if it persists and may make it difficult or impossible to interact with the rest of the page. The use of the `blink` element has been deprecated.
+
+
+
+### What to do
+
+* If there is a need to include blinking content, use a technology that stops blinking in 5 seconds or less;
+* **Or**, provide an option to turn off blinking;
+* **Or**, provide a link to an alternative page without the blinking content.
+
+
+
+
+### About this requirement
+
+* [IBM 2.2.2 Pause, Stop, Hide](https://www.ibm.com/able/requirements/requirements/#2_2_2)
+* [WCAG technique F47](https://www.w3.org/WAI/WCAG21/Techniques/failures/F47)
+
+### Who does this affect?
+
+* People with attention deficit disorders
+* People with reading disabilities
+* People with intellectual disabilities
+* People with low vision
+
+
+
+
+
+
+
+### Verify the description of the first hyperlink communicates where it links to
+
+
+
+The description of the first hyperlink must communicate where it links to
+
+
+
+
+
+
+### Why is this important?
+
+Navigating to the main content on a page without a pointing device is tedious when there is other information, such as banners, navigation and search bars that are in the tab order. Although screen reader users can jump between regions, headings and other element types, other keyboard-only users do not have access to this functionality. Having initial links on a page that any user can follow to get to the main content or to skip past repeated content makes keyboard navigation vastly more efficient for these users. These links must clearly state where they lead to.
+
+
+
+### What to do
+
+ * If this link skips content on the page, verify the link text communicates where it skips to (e.g. "Jump to site navigation");
+ * **Or**, if this link goes to the main content on the page, set the link text to "Skip to main content".
+
+For example:
+
+<A href="#maincontent">Skip to main content.</A>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [WCAG technique G1](https://www.w3.org/WAI/WCAG21/Techniques/general/G1)
+
+### Who does this affect?
+
+ * People who rely on keyboard control
+ * People with low vision using screen magnification
+ * People with dexterity impairment
+
+
+
+
+
+
+
+### The web page does not provide a way to quickly navigate to the main content
+
+
+
+Web pages must provide a way to skip directly to the main content
+
+
+
+
+
+
+### Why is this important?
+
+The 'skip to main' link or an element with the `"main"` role allow users to skip over content that is repeated on several pages. Bypassing repeated content such as banners and navigation menus allows people who use only a keyboard to quickly navigate to the main content.
+
+
+
+### What to do
+
+ * Enclose the main content in a `` element;
+ * **Or**, enclose the main content in an element with the `"main"` landmark role;
+ * **Or**, have a first link on each page that skips to the main content.
+
+Main landmark example:
+
+<body>
+ <header><-- Header Content --></header>
+ <nav><-- Navigation Menu --></nav>
+ <main><-- Main Content --></main>
+ <footer><-- Footer content --></footer>
+</body>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.1 Bypass Blocks](https://www.ibm.com/able/requirements/requirements/#2_4_1)
+* [ARIA practices - Main Landmark](https://w3c.github.io/aria-practices/examples/landmarks/main.html)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People who rely on keyboard control
+
+
+
+
+
+
+
+### Page does not have a title
+
+
+
+Every page should have a title that correctly identifies the subject of the page
+
+
+
+
+
+
+### Why is this important?
+
+The `` element labels your page. Browsers put the title in the title bar of the page window where it is quickly accessible. It is typically the first part of the page that users see (or hear), and it allows them to differentiate your page from others. Automated tools such as search engines use the title to index and classify the page.
+
+
+
+### What to do
+
+ * Make sure the page has a `` element;
+ * **And**, make sure the `` element contains a `` element;
+ * **And**, add text that describes the subject of the page to the `` element. Make the title as unique as possible within your own site.
+
+For example:
+
+<html lang="en">
+<head>
+ <title>IBM Accessibility</title>
+</head>
+
+
+
+
+### About this requirement
+
+* [IBM 2.4.2 Page Titled](https://www.ibm.com/able/requirements/requirements/#2_4_2)
+* [WCAG technique G88](https://www.w3.org/WAI/WCAG21/Techniques/general/G88)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with low vision using screen magnification
+ * People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Specified language is not valid [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
+
+
+
+The language of content must be specified in accordance with BCP 47
+
+
+
+
+
+
+### Why is this important?
+
+When language attributes are used to identify the language of a page or specific content within a page, the attribute values must conform to [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). This ensures that user agents can correctly present the content using the correct presentation and pronunciation rules for that language.
+
+
+
+### What to do
+
+* Update the value of the `lang` or `xml:lang` attribute to a value that conforms to [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) to correctly identify the language.
+
+For example:
+
+<blockquote lang="fr">
+ <p>
+ Prouver que j’ai raison serait accorder que je puis avoir tort.
+ </p>
+</blockquote>
+
+
+
+
+### About this requirement
+
+* [IBM 3.1.1 Language of page](https://www.ibm.com/able/requirements/requirements/#3_1_1)
+* [IBM 3.1.2 Language of parts](https://www.ibm.com/able/requirements/requirements/#3_1_2)
+* [WCAG technique H57](https://www.w3.org/WAI/WCAG21/Techniques/html/H57)
+* [WCAG technique H58](https://www.w3.org/WAI/WCAG21/Techniques/html/H58)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### `accesskey` attribute value on the element is not unique
+
+
+
+`accesskey` attribute values on each element must be unique for the page
+
+
+
+
+
+
+### Why is this important?
+
+Setting the `accesskey` attribute on elements allows quick access to the element by focusing or activating the element using the keyboard. Having a unique `accesskey` value allows the user agents to determine which element to activate when a user triggers the access key.
+
+
+
+### What to do
+
+* Update the `accesskey` attribute on the element with a unique non-empty value.
+
+For example:
+
+ <button type="button" name="testButton1" id="button1" accesskey="a">Accept</button>
+ <button type="button" name="testButton2" id="button2" accesskey="r">Reject</button>
+
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.1 Parsing](https://www.ibm.com/able/requirements/requirements/#4_1_1)
+
+### 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
+
+
+
+
+
+
+
+### Verify that the `` element is immediately followed by a non-embedded element
+
+
+
+`` elements should be immediately followed by a non-embedded element
+
+
+
+
+
+
+### Why is this important?
+
+The `` element is used to provide information for screen readers to display when the browser cannot display an embedded object. The content of the `` element is rendered only if the content of the `` element is not supported. It must be positioned so as to be clear to assistive technologies that a text alternative is associated with the `` element it describes.
+
+
+
+### What to do
+
+ * The `` element is deprecated and should be avoided. Use the `
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+
+### WCAG techniques
+
+* [H53: Using the body of the object element](https://www.w3.org/WAI/WCAG21/Techniques/html/H53)
+* [H46: Using noembed with embed](https://www.w3.org/WAI/WCAG21/Techniques/html/H46.html)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+ * People who turn off image-loading on their web browsers
+
+
+
+
+
+
+
+### `
+
+
+
+
+### Why is this important?
+
+The `
` element provides a label or instruction for the group of controls within the `
`. This label helps users to recognize that the controls are related. Controls grouping is most important for related radio buttons and checkboxes, but can also be useful for other sets of controls that are not as tightly related.
+
+
+
+### What to do
+
+ * Place a single `
` group. The legend must contain a brief description of the related fields enclosed by the `
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H71](https://www.w3.org/WAI/WCAG21/Techniques/html/H71)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Check the `
+
+
+
+
+### Why is this important?
+
+Submit buttons and image buttons allow users to explicitly request submission of the form and to control the change of context. Forms that are submitted by other mechanisms might change the user's context before they are ready, causing frustration or confusion.
+
+
+
+### What to do
+
+* Provide a submit button using an `` element with a `type="submit"` attribute;
+* **Or**, use a server-side script (specified in the action attribute) that redirects the user to the requested page (see Example 2 in [WCAG technique H32](https://www.w3.org/WAI/WCAG21/Techniques/html/H32).)
+
+
+
+
+### About this requirement
+
+* [IBM 3.2.2 On Input](https://www.ibm.com/able/requirements/requirements/#3_2_2)
+* [WCAG technique H32](https://www.w3.org/WAI/WCAG21/Techniques/html/H32)
+* [WCAG technique G80](https://www.w3.org/WAI/WCAG21/Techniques/general/G80)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with cognitive limitations
+* Many older adults
+
+
+
+
+
+
+
+### Check that interacting with content does not initiate a change of context
+
+
+
+User should be informed in advance when interacting with content causes a change of context
+
+
+
+
+
+
+### Why is this important?
+
+If entering data in a form or selecting a form control causes be a change in context, users need to be informed. Interactive components with unpredictable behavior might change the user's context before they are ready, causing frustration or confusion.
+
+
+
+### What to do
+
+* Provide a submit button using an `` element with a `type="submit"` attribute to initiate a change in context;
+* **Or**, describe what will happen when interacting with content, before the change happens (see [WCAG technique 13](https://www.w3.org/WAI/WCAG21/Techniques/general/G13).)
+
+
+
+
+### About this requirement
+
+* [IBM 3.2.2 On Input](https://www.ibm.com/able/requirements/requirements/#3_2_2)
+* [WCAG technique G13](https://www.w3.org/WAI/WCAG21/Techniques/general/G13)
+* [WCAG technique G80](https://www.w3.org/WAI/WCAG21/Techniques/general/G80)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with cognitive limitations
+* Many older adults
+
+
+
+
+
+
+
+### Inline frame does not have a title
+
+
+
+Inline frames must have a unique, non-empty title
+
+
+
+
+
+
+### Why is this important?
+
+An inline frame’s title provides a label for the frame that describes its content to the user. With this information a user can determine which frame to enter and explore in detail.
+
+
+
+### What to do
+
+* Use the `"title"` attribute of the `
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [WCAG technique H64](https://www.w3.org/WAI/WCAG21/Techniques/html/H64)
+
+### 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 who navigate web pages with a keyboard
+
+
+
+
+
+
+
+### The HTML page does not identify its default language with a `lang` attribute
+
+
+
+Page must identify the default language of the document with a `lang` attribute
+
+
+
+
+
+
+### Why is this important?
+
+Speech synthesizers that support multiple languages can adapt to the pronunciation and syntax that are specific to the language, speaking the text in the correct language with proper pronunciation. Some screen readers can be configured to automatically switch languages based on the `lang` attribute.
+
+
+
+### What to do
+
+* Identify the default language of the HTML document by providing the `lang` attribute on the HTML element (e.g. ``);
+* **Or**, if serving an XML document only (ie. using a MIME type such as application/xhtml+xml), identify the default language by providing the `xml:lang` attribute alone. The `lang` attribute is not needed (``)
+* **Or**, if serving XHTML 1.x or polyglot pages as text/html, use both the `lang` attribute and the `xml:lang` attribute and ensure the values for both attributes are identical (``)
+
+
+
+
+### About this requirement
+
+* [IBM 3.1.1 Language of Page](https://www.ibm.com/able/requirements/requirements/#3_1_1)
+* [WCAG technique H57](https://www.w3.org/WAI/WCAG21/Techniques/html/H57)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dyslexia
+
+
+
+
+
+
+
+### Image does not have a short text alternative
+
+
+
+Images that convey meaning must have a short text alternative
+
+
+
+
+
+
+### Why is this important?
+
+When an image contains important information, providing a text alternative makes the same information accessible through audio or other channels.
+
+
+
+### What to do
+
+* If the image conveys meaning, use the `alt` attribute on the `` element to provide a short description that serves the same purpose as the image. If the image contains important words, include them in the short description (e.g. ``);
+* **Or**, if the image is decorative or redundant, use the `alt` attribute with an empty string as its value (e.g. ``).
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H37](https://www.w3.org/WAI/WCAG21/Techniques/html/H37)
+
+### 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 only, monochrome or braille displays
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Link text is repeated in an image `alt` attribute
+
+
+
+ The text alternative for an image within a link should not repeat the link text or adjacent link text
+
+
+
+
+
+
+### Why is this important?
+
+When the text equivalent of an image inside or adjacent to a link is the same as the link text, people with visual impairments who use a screen reader will hear the same text announced twice. Also those who use text only browsers will see both the link text and text equivalent of the image, and can be confused by the redundant text.
+
+
+
+### What to do
+
+* If a link has text and a redundant image, set the image `alt` attribute to `alt=“”` (null alt without any spaces);
+* **Or**, if a link has text and an image that adds important information to the text, set the image `alt` attribute to convey the added information.
+ (e.g. `new mail`);
+* **Or**, if adjacent links have different targets but the same text, change the link text or the `alt` attribute on the image to distinguish the purpose of each link;
+* **Or**, if adjacent links have the same target, combine them into a single link and set the image `alt` attribute to `alt=“”`.
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [IBM 2.4.4 Link Purpose (in Context)](https://www.ibm.com/able/requirements/requirements/#2_4_4)
+* [WCAG technique H2](https://www.w3.org/WAI/WCAG21/Techniques/html/H2)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Image designated as decorative has non-null text alternative
+
+
+
+Image designated as decorative must have a null text alternative
+
+
+
+
+
+
+### Why is this important?
+
+Roles of `presentation` and `none` on an image indicate the element is decorative and should be ignored by assistive technologies. Providing a non-null text alternative conflicts with that decorative designation.
+
+
+
+### What to do
+
+Set the `alt` attribute to an empty (or null) string (i.e., ``) for images with `role="presentation"` or `role="none"`.
+
+Example:
+
+<img src="demomovie.gif" role="presentation" alt="" />
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The image `alt` text attribute is empty, but the `title` attribute is not empty
+
+
+
+When the image `alt` text attribute is empty, the `title` attribute must also be empty
+
+
+
+
+
+
+### Why is this important?
+
+When an image is decorative and has an empty `alt` attribute, the `title` attribute should not be included. This ensures the image is ignored by assistive technologies.
+
+
+
+### What to do
+
+* Use a null `alt` text attribute and no `title` attribute on an image that assistive technologies should ignore.
+
+For example:
+
+<img src="squiggle.gif" width="20" height="20" alt="" />
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H67](https://www.w3.org/WAI/WCAG21/Techniques/html/H67)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The UI control has no label
+
+
+
+Each UI control must have an associated label
+
+
+
+
+
+
+### Why is this important?
+
+Associating a meaningful label with every UI control allows the browser and assistive technology to expose and announce the control to a user. Associating a visible label also provides a larger clickable area.
+
+
+
+### What to do
+
+* If the control is a [labelable](https://html.spec.whatwg.org/multipage/forms.html#category-label) element, add a `for` attribute to a visible label with the `id` of this control (e.g. ``);
+* **Or**, if the control is a labelable element, put the control inside a visible `` element;
+* **Or**, add an `aria-labelledby` attribute to the control. It must point to visible text on the page that is meaningful as a label;
+* **Or**, if the design cannot have a visible label, provide a label using the `aria-label` attribute (e.g. `aria-label="Activities"`);
+* **Or**, if the design cannot have a visible label, use the `title` attribute to provide a label.
+
+
+
+
+### About this requirement
+
+* [IBM 3.3.2 Labels or Instructions](https://www.ibm.com/able/requirements/requirements/#3_3_2)
+* [WCAG technique H44](https://www.w3.org/WAI/WCAG21/Techniques/html/H44)
+* [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 with dexterity impairment using voice control
+
+
+
+
+
+
+
+### The `` element of type `"image"` has no text alternative
+
+
+
+ The `` element of type `"image"` should have a text alternative
+
+
+
+
+
+
+
+
+
+
+### What to do
+
+* Use the `alt` attribute on the `` element to provide a short text that describes the input element’s function.(e.g. ``)
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text Content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H36](https://www.w3.org/WAI/WCAG21/Techniques/html/H36)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Verify that any changes of context are explained in advance
+
+
+
+If changing an input's value changes the context, provide an explanation in advance
+
+
+
+
+
+
+### Why is this important?
+
+Changing the value of an input does not typically result in a [change of context](https://www.w3.org/WAI/WCAG21/Understanding/on-focus.html#dfn-changes-of-context). If it does, this can be very disorientating to users who cannot see the changes. It is important that users are told in advance that the change of context will occur. For example, if filling in the final field of a form causes the form to be submitted, this should be made clear before the user interacts with it.
+
+
+
+### What to do
+
+ * Verify that changing the input element's value does not cause a [change of context](https://www.w3.org/WAI/WCAG21/Understanding/on-focus.html#dfn-changes-of-context);
+ * **Or**, verify that the Web page explains what will happen when values are selected for this input component. This explanation must appear earlier in the reading order than the component itself;
+ * **Or**, add an explanation as described;
+ * **Or**, trigger the change of context on an explicit user action.
+
+
+
+
+### About this requirement
+
+* [IBM 3.2.2 On Input](https://www.ibm.com/able/requirements/requirements/#3_2_2)
+* [WCAG technique G13](https://www.w3.org/WAI/WCAG21/Techniques/general/G13)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with low vision using screen magnification
+ * People with cognitive limitations
+
+
+
+
` element to group logically related input elements
+
+
+
+Groups of logically related input elements should be contained within a `
` element
+
+
+
+
+
+
+### Why is this important?
+
+Groups of logically related input elements must be contained within a fieldset element. All controls within a given fieldset element are then related and the relationship may then provided to the user by user agents.
+
+
+
+### What to do
+
+ * Use a `
` element to group the related input elements.
+
+For example:
+
+<form action="..." method="post">
+ <fieldset>
+ <legend>Legend text: Personal Information</legend>
+ <p>Fieldset text: Please enter your personal information.</p>
+ <label for="fn1">First Name</label>
+ <input type="text" name="firstname" id="fn1" value="enter first name" title="enter first name">
+ <label for="ln1">Last Name</label>
+ <input type="text" name="lastname" id="ln1" value="enter last name" title="enter last name">
+ </fieldset>
+</form>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H71](https://www.w3.org/WAI/WCAG21/Techniques/html/H71)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People who rely on keyboard control
+
+
+
+
+
+
+
+### Label text is located before its associated checkbox or radio button element
+
+
+
+Checkbox and radio button elements must have the label after the element
+
+
+
+
+
+
+### Why is this important?
+
+Applications generally place the labels for radio button and check box elements after the element itself. Users expect this convention to be followed consistently. When labels are placed before a radio button or checkbox element, users can become disoriented.
+
+
+
+### What to do
+
+* Place the text of the label immediately after the checkbox or radio button element.
+
+For example:
+
+<input id="chk1" name="chkgroup" type="checkbox"><label for="chk1">Option 1</label>
+<label><input name="chkgroup" type="checkbox">Option 1</label>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [WCAG technique H44](https://www.w3.org/WAI/WCAG21/Techniques/html/H44)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with low vision using screen magnification
+
+
+
+
+
+
+
+### Label text is located after its associated text input or `
+
+
+
+
+### Why is this important?
+
+Applications generally place the labels for text input and `` elements before the element itself. Users expect this convention to be followed consistently. When labels are placed after the text input or `` element, users can become disoriented.
+
+
+
+### What to do
+
+* Place the text of the label immediately before the text input or `` element.
+
+For example:
+
+<label for="txt1">Field 1</label> <input type="text" id="txt1" name="txt1">
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+
+
+
+
+
+
+
+### Form controls share a `name` value but are not grouped
+
+
+
+Related sets of radio buttons or checkboxes should be programmatically grouped
+
+
+
+
+
+
+### Why is this important?
+
+Grouping related radio buttons and checkboxes enables assistive technology to convey the group relationship to users (e.g. "group of 5 radio buttons").
+
+
+
+### What to do
+
+ * Group related controls of the same type by enclosing them within a `
` element;
+ * **Or**, group related radio buttons by using `role="radiogroup"`;
+ * **Or**, group related checkboxes by using `role="group"`;
+ * **Or**, disassociate unrelated controls or controls of different types by using different `name` attribute values;
+ * **Or**, if the controls already have unique `name` attribute values and are in a data table, make sure the table is marked up using `
` or has a role of `"grid"` or `"table"`.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+
+### 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/WCAG20_Input_VisibleLabel.mdx b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_VisibleLabel.mdx
new file mode 100644
index 000000000..a2908b197
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Input_VisibleLabel.mdx
@@ -0,0 +1,57 @@
+---
+title: "Accessibility Checker Rule Help: WCAG20_Input_VisibleLabel"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### The `` element does not have an associated visible label
+
+
+
+The `` element must have an associated visible label
+
+
+
+
+
+
+### Why is this important?
+
+Visible labels are essential so that people using voice control know what to say. This allows them to easily navigate to interactive elements on the screen.
+
+
+
+### What to do
+
+ * If there is already a visible label for the `` element, use the `for` attribute on the label to reference the `` element's `id` value.
+ * **Or**, add a visible label, with the `for` attribute linking it to the ``.
+
+For example:
+
+<label for="test1">License Number:</label>
+<input type="text" id="test1" aria-label="Enter driver license number"/>
+<label for="test2">First name:</label>
+<input type="text" id="test2"/>
+
+
+
+
+### About this requirement
+
+* [IBM 3.3.2 Label or Instruction](https://www.ibm.com/able/requirements/requirements/#3_3_2)
+* [IBM 2.5.3 Label in Name](https://www.ibm.com/able/requirements/requirements/#2_5_3)
+* [WCAG technique H44](https://www.w3.org/WAI/WCAG21/Techniques/html/H44)
+
+### Who does this affect?
+
+ * People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### The value of the `for` attribute of the `` element does not match the value of an `` element's `id`
+
+
+
+The `for` attribute must reference a non-empty, unique `id` attribute of an `` element
+
+
+
+
+
+
+### Why is this important?
+
+A `` element is attached to a specific `` element through the use of the `for` attribute.
+When a `` does not reference the corresponding unique `id` in a valid labelable `` element,
+assistive technologies will not be able to associate the label with the element.
+
+
+
+### What to do
+
+* Set the value of the `for` attribute to the `id` value of the valid `` element to be labeled. Make sure the `id` value is unique. For example:
+
+<label id="label2" for="ln1">Last Name</label>
+<input type="text" name="lastname" id="ln1" value="enter last name">
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H44](https://www.w3.org/WAI/WCAG21/Techniques/html/H44)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Check page does not automatically refresh without warning or options
+
+
+
+Page should not automatically refresh without warning or option to turn it off or adjust the time limit
+
+
+
+
+
+
+### Why is this important?
+
+Unexpected automatic page refresh within a short time interval without an option to turn it off or adjust the time limit, can disorient people and prevent them from reading or finishing the task at hand.
+
+
+
+### What to do
+
+* If the time limit is required or essential, no action is needed;
+* **Or**, provide an option to allow the user to turn auto-refresh off;
+* **Or**, allow the user to adjust or extend the time limit and warn them before it expires;
+* **Or**, set the time limit longer than 20 hours.
+
+
+
+
+### About this requirement
+
+* [IBM 2.2.1 Timing Adjustable](https://www.ibm.com/able/requirements/requirements/#2_2_1)
+* [WCAG technique F41](https://www.w3.org/WAI/WCAG21/Techniques/failures/F41)
+
+### Who does this affect?
+
+* People who are deaf or hard of hearing using sign language interpreters
+* People with cognitive limitations
+* People with dexterity impairments
+* People with low vision
+
+
+
+
+
+
+
+### An `
+
+
+
+
+### Why is this important?
+
+Alternative descriptions are important for users whose browsers do not support the `` element or the media type of the object.
+
+
+
+### What to do
+
+* If the `` element is a Java applet, add an alternative text description;
+* **Or**, if the `` element is a MPEG movie, add an image with alternative text.
+
+For example:
+
+ <object classid="java:Press.class" width="500" height="500" title="Java applet: how temperature affects pressure.">
+<applet code="java:Press.class" width="500" height="500"> As temperature increases the velocity of the molecules in the balloon...
+</applet>
+</object>
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H53](https://www.w3.org/WAI/WCAG21/Techniques/html/H53)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Check script does not remove focus from content that normally receives focus
+
+
+
+Scripting must not remove focus from content that normally receives focus
+
+
+
+
+
+
+### Why is this important?
+
+The system focus indicator is an important part of accessibility for keyboard users. When focus is removed from a control via a script, the focus is transferred to another location, often to the browser window.
+An example failure is `` This action interrupts the focus cycle and prevents keyboard users from being able to reach all of the links and controls on the page. In this situation, users can only reach the content with a pointing device.
+
+
+
+### What to do
+
+ * If `blur` is being used simply to avoid the visual focus effect, this is a violation. Remove the call to `blur`;
+ * **Or**, if there is a reason why keyboard focus must be removed from this element, make sure you can still reach all interactive elements on this page using only the Tab key.
+
+
+
+
+### About this requirement
+
+* [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 3.2.1 On Focus](https://www.ibm.com/able/requirements/requirements/#3_2_1)
+* [WCAG technique F55](https://www.w3.org/WAI/WCAG21/Techniques/failures/F55)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People who physically cannot use a pointing device
+
+
+
+
+
+
+
+### Group of related options may need `
+
+
+
+
+### Why is this important?
+
+By grouping related content, users can navigate to the content they want more quickly.
+
+
+
+### What to do
+
+ * Use the `
` element to group `
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People who rely on keyboard control
+
+
+
+
+
+
+
+### Verify that no change of context occurs when selection options in this component receive focus
+
+
+
+No changes of context should occur when a selection value receives focus
+
+
+
+
+
+
+### Why is this important?
+
+When using the `` element, the user should be allowed to control when an action is performed, rather than having an action occur as a side effect of choosing a value. This mechanism provides the user with an opportunity to inspect the different values of the `` element, or to correct a choice. When the user is satisfied with their choice, they can select a button to perform the action. This interaction is particularly important for users who are choosing the value of the `` element via the keyboard, because navigating through the options of the `` element changes the value of the control and would otherwise submit the value after seeing only the first option.
+
+
+
+### What to do
+
+ * Use the keyboard to navigate to and within the `` component;
+ * **And**, verify that when each selection option receives focus, no [change of context](https://www.w3.org/WAI/WCAG21/Understanding/on-focus.html#dfn-changes-of-context) is triggered.
+
+
+
+
+### About this requirement
+
+* [IBM 3.2.1 On Focus](https://www.ibm.com/able/requirements/requirements/#3_2_1)
+* [WCAG technique G107](https://www.w3.org/WAI/WCAG21/Techniques/general/G107)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with low vision using screen magnification
+ * People who rely on keyboard control
+ * People with dexterity impairment
+ * People with cognitive limitations
+
+
+
+
+
+
+
+### Verify the `::before` and `::after` pseudo-elements do not insert non-decorative content
+
+
+
+Do not use CSS `::before` and `::after` pseudo-elements to insert non-decorative content
+
+
+
+
+
+
+### Why is this important?
+
+The CSS `::before` and `::after` pseudo-elements specify the location of content to be inserted before and after an element's document tree content. For users who need to customize or turn off style information so that they can view content according to their needs, assistive technologies might not be able to access the information that is inserted using CSS.
+
+
+
+### What to do
+
+ * Verify that any content inserted by the CSS `::before` and `::after` pseudo-elements is purely decorative;
+ * **Or**, disable CSS styles and verify that non-decorative information in the inserted content is still available;
+ * **Or**, include the important information directly in the page.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique F87](https://www.w3.org/WAI/WCAG21/Techniques/failures/F87.html)
+
+### Who does this affect?
+
+ * People with visual impairment using color contrast enhancement
+ * People who use alternate backgrounds to increase legibility
+ * People who personalize their display colors for easier reading
+ * People using text only, monochrome or braille displays
+ * People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### The table summary duplicates the caption
+
+
+
+The table summary must not duplicate the caption
+
+
+
+
+
+
+### Why is this important?
+
+Duplicating a table’s caption and its summary description is repetitive and slows productivity for Assistive Technology users. If used, the summary should provide complementary information not already available in the caption.
+
+
+
+### What to do
+
+ * If the table caption describes the table purpose and structure fully, remove the summary;
+ * **Or**, if information beyond the caption is needed, write a summary that describes the table structure without duplicating information in the caption. The summary should be referenced with an `aria-describedby` attribute. The `summary` attribute is obsolete in HTML5.
+
+ For example:
+
+<p id="table1_summary">
+ The age demographics of each North American country includes age structures from 0-14 years, 15-64 years, and 65 years and older.
+</p>
+
+<table aria-describedby="table1_summary">
+ <caption>Age Demographics of North American Countries</caption>
+ . . .
+</table>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H73](https://www.w3.org/WAI/WCAG21/Techniques/html/H73)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The `scope` attribute provided is invalid
+
+
+
+Value for `scope` attribute must be "row", "col", "rowgroup", or "colgroup" and used only on header cells
+
+
+
+
+
+
+### Why is this important?
+
+Complex data tables require valid programmatical association between data cells and header cell using the `scope` attribute.
+This data-to-header relationship is conveyed through assistive technology and helps the user understand the data presented in the table.
+
+
+
+### What to do
+
+ * If this table only has headers in the first row and/or column, the `scope` attribute is not needed;
+ * **Or**, to indicate a row header, use `
`;
+ * **Or**, to indicate a header for a group of rows, use `
`;
+ * **Or**, to indicate a column header, use `
`;
+ * **Or**, to indicate a header for a group of columns, use `
`.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H63](https://www.w3.org/WAI/WCAG21/Techniques/html/H63)
+
+### Who does this affect?
+
+ * 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/WCAG20_Table_Structure.mdx b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_Structure.mdx
new file mode 100644
index 000000000..b636e1ed8
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_Structure.mdx
@@ -0,0 +1,51 @@
+---
+title: "Accessibility Checker Rule Help: WCAG20_Table_Structure"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### The element with ARIA role of `"presentation"` or `"none"` has structural element(s) and/or attribute(s)
+
+
+
+Table elements with `role="presentation"` or `role="none"` should not have structural elements or attributes
+
+
+
+
+
+
+### Why is this important?
+
+Assistive technologies use structural elements (`
`, `
`) and attributes (`summary`, `scope`, `header`) to help users navigate and understand data tables. Including these features in layout tables makes the purpose of the table unclear.
+
+
+
+### What to do
+
+ * If the table is a data table, remove the `role` attribute;
+ * **Or**, if a table is used for layout, use CSS-based layouts instead;
+ * **Or**, if a layout table must be used, remove `
` elements, `
` elements, `summary` attributes, and `scope` or `header` attributes on `
` elements.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique F46](https://www.w3.org/WAI/WCAG21/Techniques/failures/F46.html)
+* [WCAG technique F92](https://www.w3.org/WAI/WCAG21/Techniques/failures/F92.html)
+
+### 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/WCAG20_Table_SummaryAria3.mdx b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_SummaryAria3.mdx
new file mode 100644
index 000000000..c53769647
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Table_SummaryAria3.mdx
@@ -0,0 +1,72 @@
+----
+title: "Accessibility Checker Rule Help: WCAG20_Table_SummaryAria3"
+----
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### The data table has no summary
+
+
+
+Data tables should have a summary that gives an overview of the table
+
+
+
+
+
+
+### Why is this important?
+
+A table summary provides a brief overview of how data has been organized into a data table and is specifically useful when the table is large with many rows and columns or when the table has a complex structure (multiple row or column headers). The table summary should not duplicate the caption.
+
+
+
+### What to do
+
+* Add an `aria-labelledby` attribute to the `
` element. It must point to visible text on the page that is meaningful as its summary;
+* **Or**, add an `aria-describedby` attribute to provide a brief overview of the data table;
+* **Or**, add an `aria-label` attribute to provide a brief overview of the data table.
+
+Note: In HTML5 the `summary` attribute is obsolete and should be avoided.
+
+For example the following example uses the `aria-labelledby` to provide the table summary:
+
+ <p id="tblSummary">The following table shows the number of boys and girls in each grade of an elementary school.</p>
+
+ <table border="1" aria-labelledby="tblSummary">
+ <tr>
+ <th id="class">Class</th>
+ <th id="teacher">Teacher</th>
+ <th id="boys"># of Boys</th>
+ <th id="girls"># of Girls</th>
+ </tr>
+ <tr>
+ <th rowspan="2" id="1stgrade">1st Grade</th>
+ <th headers="1stgrade teacher" id="MrHenry">Mr. Henry</th>
+ <td headers="1stgrade MrHenry boys">5</td>
+ <td headers="1stgrade MrHenry girls">4</td>
+ </tr>
+ ...
+ </table>
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique H73](https://www.w3.org/WAI/WCAG21/Techniques/html/H73.html)
+
+### 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/WCAG20_Text_Emoticons.mdx b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Text_Emoticons.mdx
new file mode 100644
index 000000000..7383d176c
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/WCAG20_Text_Emoticons.mdx
@@ -0,0 +1,50 @@
+---
+title: "Accessibility Checker Rule Help: WCAG20_Text_Emoticons"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### Check that emoticons have a text alternative
+
+
+
+Emoticons must have a short text alternative that describes their purpose
+
+
+
+
+
+
+### Why is this important?
+
+Emoticons include ASCII characters that form facial expressions and other ways to communicate an emotion to the user. Though they are very popular, they can be confusing for people who use assistive technology. Providing a text alternative makes the information accessible through audio or other channels.
+
+
+
+### What to do
+
+* When possible, use a word like "smile" instead of an emoticon;
+* **Or**, if this element is an emoticon, verify there is a text alternative immediately before or after it.
+
+
+
+
+### About this requirement
+
+* [IBM 1.1.1 Non-text content](https://www.ibm.com/able/requirements/requirements/#1_1_1)
+* [WCAG technique H86](https://www.w3.org/WAI/WCAG21/Techniques/html/H86)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People using text-based browsers (e.g., Lynx) or audio interfaces
+
+
+
+
+
+
+
+### Verify space characters are not being used to create space between the letters of a word
+
+
+
+Use CSS `letter-spacing` to control spacing within a word
+
+
+
+
+
+
+### Why is this important?
+
+The visual appearance of spacing in text should be accomplished using style sheets to maintain meaningful text sequencing. Simply adding blank characters to control the spacing may change the meaning, pronunciation or the interpretation of the word or cause the word not to be programmatically recognized as a single word.
+
+
+
+### What to do
+
+ * Verify space characters are not being used to create space between the letters of a word;
+ * **Or**, if the letters of a word letters need to be spaced out, [use the CSS `letter-spacing` property](https://www.w3.org/WAI/WCAG21/Techniques/css/C8.html).
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.2 Meaningful Sequence](https://www.ibm.com/able/requirements/requirements/#1_3_2)
+* [WCAG technique C9](https://www.w3.org/WAI/WCAG21/Techniques/css/C8.html)
+
+### Who does this affect?
+
+ * People using a screen reader, including blind, low vision and neurodivergent people
+ * People with reading disabilities
+ * People who view interfaces using an adapted layout
+
+
+
+
+
+
+
+### Accessible name does not match or contain the visible label text
+
+
+
+Accessible name must match or contain the visible label text
+
+
+
+
+
+
+### Why is this important?
+
+Speech-input users navigate to an input field by speaking the visible field label (i.e., text displayed on the screen). Their verbal command activates the interactive component’s programmatic [accessible name](https://www.w3.org/TR/accname-1.2/#dfn-accessible-name) and sets focus to the component. A point of failure occurs when the visible label and the accessible name are different, or the visible label text string is not contained within the accessible name value.
+
+
+
+### What to do
+
+* Provide an [accessible name value](https://www.w3.org/TR/wai-aria-1.2/#namecalculation) that matches or contains the visible label for this control. For example:
+
+<button name="pageLink" aria-label="Next Page in the list">Next Page</button>
+
+<label for="test2">License Number:</label>
+<input type="text" id="test2" aria-label="enter driver license number"/>
+
+<button name="lastPageLink" aria-label="last page">Last Page</button>
+
+
+
+
+### About this requirement
+
+* [IBM 2.5.3 Label in Name](https://www.ibm.com/able/requirements/requirements/#2_5_3)
+
+### Who does this affect?
+
+ * People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Check that text sized using viewport units can be resized up to 200%
+
+
+
+The text must scale up to 200% without loss of content or functionality
+
+
+
+
+
+
+### Why is this important?
+
+To support people with low vision, any visually rendered text must scale up to 200% of the default content size, without loss of content or functionality and without requiring scrolling in two dimensions. When viewport units are applied to text (generally via font-size in CSS), they are relative to the viewport and this does not allow for text resize by browser zooming or adjusting text-size.
+
+
+
+### What to do
+
+* Implement any of the sufficient techniques of the related WCAG requirement using font size units or technology that can scale up to 200% without loss of content or functionality, and without requiring scrolling in two dimensions.
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.4 Resize Text](https://www.ibm.com/able/requirements/requirements/#1_4_4)
+* [IBM 1.4.10 Reflow](https://www.ibm.com/able/requirements/requirements/#1_4_10)
+* [WCAG technique F94](https://www.w3.org/WAI/WCAG21/Techniques/failures/F94)
+
+### Who does this affect?
+
+* People with low vision using screen magnification
+
+
+
+
+
+export default ({ children, _frontmatter }) => ({children})
\ No newline at end of file
diff --git a/rule-server/src/static/archives/2022.02.01/doc/aria_hidden_focus_misuse.mdx b/rule-server/src/static/archives/2022.02.01/doc/aria_hidden_focus_misuse.mdx
new file mode 100644
index 000000000..1e9f5483e
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/aria_hidden_focus_misuse.mdx
@@ -0,0 +1,74 @@
+---
+title: "Accessibility Checker Rule Help: aria_hidden_focus_misuse"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### A focusable element should not be within the subtree of an element with `aria-hidden` set to `"true"`
+
+
+
+Element with `aria-hidden="true"` should not have focusable content
+
+
+
+
+
+
+### Why is this important?
+
+Using either `role="presentation"` or `aria-hidden="true"` on a focusable element will result in some users focusing on "nothing".
+A focusable element with `aria-hidden="true"` is ignored as part of the reading order,
+but still part of the focus order,
+making its state of visible or hidden unclear.
+This rule checks that elements with an `aria-hidden` attribute do not contain focusable elements.
+
+
+
+### What to do
+
+When designers and developers want to hide parts of a web page that are pure decoration,
+such as icon fonts - that are not meant to be read by assistive technologies:
+
+* ensure that assistive technologies will ignore the element by adding `aria-hidden="true"` to the element
+* enure none of the target elements are part of sequential focus navigation
+* ensure no descendants are part of sequential focus navigation
+
+### Example
+
+* In the following example, the `button` element is focusable by default.
+Therefore, using `aria-hidden="true"` violates the rule:
+
+ <div aria-hidden="true">
+ <div aria-hidden="false">
+ <button>Some button</button>
+ </div>
+ </div>
+
+
+Note: Using `aria-hidden="false"` on a descendant of an element with `aria-hidden="true"` does not expose that element.
+Using `aria-hidden="true"` hides itself and all its content from assistive technologies.
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and Relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [Fourth Rule of ARIA Use](https://www.w3.org/TR/using-aria/#fourth)
+* [ACT rule: Element with aria-hidden has no focusable content](https://act-rules.github.io/rules/6cfa84)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The ARIA attribute is not valid for the element's ARIA role
+
+
+
+ARIA attributes must be valid for the element and ARIA role to which they are assigned
+
+
+
+
+
+
+### Why is this important?
+
+Some HTML elements or attributes have native semantics that map, by default, to implied ARIA semantics. For predictable interaction and behavior of UI controls, these implicit semantics should only be overridden as defined in the [ARIA in HTML Document conformance requirements for use of ARIA attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance) specification.
+
+
+
+### What to do
+
+* If a native HTML attribute fits the intended behavior, use that instead of adding ARIA markup;
+* **Or**, update the attributes on the element using the guidance in the [Document conformance requirements for use of "ARIA" attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance) section of
+the ARIA in HTML specification.
+This reference provides details of valid ARIA markup on native HTML elements.
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA in HTML - Document conformance requirements for use of ARIA attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### The ARIA role is not valid for the element
+
+
+
+ARIA roles must be valid for the element to which they are assigned
+
+
+
+
+
+
+### Why is this important?
+
+Some HTML elements or attributes have native semantics that map, by default, to implied ARIA semantics.
+For predictable interaction and behavior of UI controls, these implicit semantics should only be overridden
+as defined in the [ARIA in HTML Document conformance requirements for use of ARIA attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance) specification.
+
+
+
+### What to do
+
+* If a native HTML element fits the intended behavior, use that instead of adding ARIA markup;
+* **Or**, update the role on the element using the guidance in the [Document conformance requirements for use of "ARIA" attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance) section of the ARIA in HTML specification. This reference provides details of valid ARIA markup on native HTML elements.
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA in HTML - Document conformance requirements for use of ARIA attributes in HTML](https://www.w3.org/TR/html-aria/#docconformance)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+
+
+
+
+
+
+
+### Tabbable focus is not set correctly within the combobox or related popup
+
+
+
+Tabbable focus for the combobox must be allowable only on the text input, except when using a dialog popup
+
+
+
+
+
+
+### 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 text `` element that can either display the
+current value or supports editing, so people who use assistive technologies are able to accurately
+navigate and interact with the content.
+
+
+
+### What to do
+
+* Unless the `has-popup` attribute value is `dialog`, set the initial DOM focus only on the combobox’s `` element.
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### The combobox design pattern is detected as ARIA 1.1, which is not allowed by ARIA 1.2
+
+
+
+The combobox design pattern must be valid for ARIA 1.2.
+
+
+
+
+
+
+### 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.
+
+The ARIA 1.1 combobox pattern was not supported by browsers. The ARIA 1.2 pattern is best
+supported by browsers and assistive technologies.
+
+
+
+### What to do
+
+* Code the combobox as in the [ARIA practices - Examples](https://w3c.github.io/aria-practices/#examples-1)
+
+
+
+
+### 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
+
+
+
+
+
+
+
+### Multiple landmarks with the same `role` are not distinguished from one another
+
+
+
+Multiple landmarks with the same `role` attribute should have a unique `aria-labeledby` or `aria-label` or be nested in different parent regions
+
+
+
+
+
+
+### Why is this important?
+
+Regions (sections) on a page may contain headings, content, white space, and even nested regions for users to better consume the content.
+Landmarks for the regions help assistive technology (AT) users orient themselves to the page and help them easily navigate to various regions of a page.
+When multiple regions with the same role exist on the same page, people using screen readers, voice control,
+and other ATs will have difficulty identifying or distinguishing between them
+(e.g., where there are two or more `"navigation"` regions).
+
+Landmarks are inserted into the page using the `role` attribute on an element that marks the region.
+The `role` values listed below are the names of the landmark types:
+
+* `"banner"`: A region that contains the prime heading or title of a page.
+* `"complementary"`: Any section of the page that supports the main content, yet is separate and meaningful on its own.
+* `"contentinfo"`: A region that contains information about the parent page such as copyrights and links to privacy statements.
+* `"form"`: A region of the document that represents a collection of form-associated elements, some of which can represent editable values that can be submitted to a server for processing.
+* `"main"`: Main content in a document. In almost all cases a page will have only one `role="main"`.
+* `"navigation"`: A collection of links suitable for use when navigating the page or related pages.
+* `"region"`: A section sufficiently important that users will likely want to be able to navigate to the section easily. Use of `role="region"` should be limited to sections containing content with a purpose that is not accurately described by one of the other landmark roles. Each `role="region"` **must** have a brief label that describes the purpose of the content in the region.
+* `"search"`: A region for searching content.
+
+
+
+### What to do
+
+* Use unique `aria-labelledby` values to distinguish landmarks with the same `role`
+* **Or**, use unique `aria-label` values to distinguish landmarks with the same `role`
+* **Or**, nest landmarks in different parent regions to distinguish those with the same `role`
+
+
+
+
+
+### About this requirement
+
+* [IBM 1.3.1 Info and relationships](https://www.ibm.com/able/requirements/requirements/#1_3_1)
+* [WCAG technique ARIA11](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA11)
+* [WCAG technique ARIA13](https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA13)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision, and neurodivergent people
+* People using text only browser with Braille display
+* People with dexterity impairment using voice control
+
+
+
+
+
+
+
+### Confirm the 'meta[name=viewport]' with " maximum-scale=1.5" can be zoomed by user
+
+
+
+The 'meta[name=viewport]' should not prevent the browser zooming the content
+
+
+
+
+
+
+### Why is this important?
+
+Users who need magnification with older mobile browsers may not be able to zoom the content.
+Desktop browsers ignore the viewport meta element,
+and most modern mobile browsers either ignore it by default or have an accessibility option which will allow zooming.
+Only users with older mobile browsers can experience issues tested by this rule.
+
+This rule is designed specifically for testing [1.4.4 Resize text](https://www.ibm.com/able/requirements/requirements/#1_4_4),
+which requires that text can be resized up to 200%.
+Because text that cannot be resized up to 200% cannot fit in an area of 320 by 256 CSS pixels,
+this rule maps to [1.4.10 Reflow](https://www.ibm.com/able/requirements/requirements/#1_4_10) as well.
+
+
+
+### What to do
+
+* Confirm the page provides zoom controls for the content up to 200%
+* **Or**, remove the `user-scalable` and/or `maximum-scale` attribute
+* **Or**, set the `user-scalable` attribute to "yes" and/or the `maximum-scale` to at least "2"
+
+
+
+
+### About this requirement
+
+* [IBM 1.4.4 Resize text](https://www.ibm.com/able/requirements/requirements/#1_4_4)
+* [IBM 1.4.10 Reflow](https://www.ibm.com/able/requirements/requirements/#1_4_10)
+* [ACT rule: meta viewport allows for zoom](https://act-rules.github.io/rules/b4f0c3)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with low vision using screen magnification
+* People with reading disabilities
+* Many older adults
+
+
+
+
+
+
+
+### An explicit ARIA `role` value is not valid for certain elements within tabular structures, per the ARIA in HTML specification
+
+
+
+Table structure elements cannot specify an explicit `role` within table containers
+
+
+
+
+
+
+### Why is this important?
+
+The ARIA specification provides a collection of accessibility roles as the main indicator
+of the type of control. This is used to support platform accessibility APIs. Using a valid
+ARIA role on an element, as defined in the ARIA specification, allows assistive
+technologies to use the role semantics to present and support consistent object interaction.
+
+
+
+### What to do
+
+* Remove any `role` definitions from table structure elements (`
`, `
`, `
`) within any
+container with a role of `"table"`, `"grid"`, or `"treegrid"`. The following example shows an element
+with a valid `role="grid"` with appropriate table structures:
+
+
+
+<div id="caption" class="caption">Table caption</div>
+<table role="grid" aria-labelledby="caption" class="gridCls">
+ <thead>
+ <tr>
+ <th>Head 1</th><th>Head 2</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Cell 1</td><td>Cell 2</td>
+ </tr>
+ </tbody>
+</table>
+
+
+
+
+
+
+### About this requirement
+
+* [IBM 4.1.2 Name, Role, Value](https://www.ibm.com/able/requirements/requirements/#4_1_2)
+* [ARIA specification](https://www.w3.org/TR/wai-aria-1.2/)
+
+### Who does this affect?
+
+* People using a screen reader, including blind, low vision and neurodivergent people
+* People with dexterity impairment using voice control
+
+
+
+
+
+export default ({ children, _frontmatter }) => ({children})
diff --git a/rule-server/src/static/archives/2022.02.01/doc/table_headers_ref_valid.mdx b/rule-server/src/static/archives/2022.02.01/doc/table_headers_ref_valid.mdx
new file mode 100644
index 000000000..a12cd4b99
--- /dev/null
+++ b/rule-server/src/static/archives/2022.02.01/doc/table_headers_ref_valid.mdx
@@ -0,0 +1,49 @@
+---
+title: "Accessibility Checker Rule Help: table_headers_ref_valid"
+---
+import "../../../styles/ToolHelp.scss"
+import { CodeSnippet, Tag } from "carbon-components-react";
+
+
+
+
+
+### The 'headers' attribute does not refer to a valid cell
+
+
+
+The 'headers' attribute should refer to one or more valid cells in the same table
+
+
+
+
+
+
+### Why is this important?
+
+The `headers` attribute specifies one or more header cells related to a table cell in a complex table. It has no visual effect on the table, but it provides a programmatic way for assistive technology such as screen readers to describe visual relationships between header and data cells. When a table has multi-level headers, it can become difficult to convey which header text applies to any one cell using only `
` elements and `scope` attributes. The `headers` attribute allows for the concatenation of multiple `
only for quotations, not indentation",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Verify that
is used only for quotations, not indentation"
+ },
+ // JCH - DONE
+ "RPT_Meta_Refresh": {
+ 0: "Pages should not refresh automatically",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Verify page is not being caused to refresh automatically"
+ },
+ // JCH - DONE
+ "WCAG20_Frame_HasTitle": {
+ 0: "Inline frames must have a unique, non-empty 'title' attribute",
+ "Pass_0": "Rule Passed",
+ "Fail_1": "Inline frame does not have a 'title' attribute"
+ },
+ // JCH - DONE
+ "WCAG20_Input_ExplicitLabel": {
+ 0: "Each form control must have an associated label",
+ "Pass_0": "Rule Passed",
+ "Fail_1": "Form control element <{0}> has no associated label",
+ "Fail_2": "Form control with \"{0}\" role has no associated label"
+ },
+ // JCH - DONE
+ "RPT_Media_AltBrief": {
+ 0: "Alternative text in 'alt' attribute should be brief (<150 characters)",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Text alternative is more than 150 characters"
+ },
+ // JCH - DONE
+ "WCAG20_A_TargetAndText": {
+ 0: "Users should be warned in advance if their input action will open a new window or otherwise change their context",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Inform the user when their input action will open a new window or otherwise change their context"
+ },
+ // JCH - DONE
+ "WCAG20_Area_HasAlt": {
+ 0: " elements in an image map must have a text alternative",
+ "Pass_0": "Rule Passed",
+ "Fail_1": " element in an image map has no text alternative"
+ },
+ // JCH - DONE
+ "RPT_Media_ImgColorUsage": {
+ 0: "Do not use color as the only means to convey information, provide an additional non-color cue",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Verify color is not the only means to convey information"
+ },
+ // JCH - DONE
+ "WCAG20_Meta_RedirectZero": {
+ 0: "Page should not automatically refresh without warning or option to turn it off or adjust the time limit",
+ "Pass_0": "Rule Passed",
+ "Fail_1": "Check page does not automatically refresh without warning or options"
+ },
+ // JCH - DONE
+ "RPT_Elem_Deprecated": {
+ 0: "Avoid use of obsolete language features if possible",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Obsolete language features are being used"
+ },
+ // JCH - DONE
+ "RPT_Blockquote_WrapsTextQuote": {
+ 0: "Quotations should be marked with or
elements",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "If the following text is a quotation, mark it as a or
element: {0}"
+ },
+ // JCH - DONE
+ "RPT_Elem_EventMouseAndKey": {
+ 0: "All interactive content with mouse event handlers must have equivalent keyboard access",
+ "Pass_0": "Rule Passed",
+ "Manual_1": "Confirm the <{0}> element with mouse event handler(s) '{1}' has a corresponding keyboard handler(s)"
+ },
+ // JCH - DONE
+ "WCAG20_Doc_HasTitle": {
+ 0: "The page should have a title that correctly identifies the subject of the page",
+ "Pass_0": "Rule Passed",
+ "Fail_1": "Missing element so there can be no element present",
+ "Fail_2": "Missing element in element",
+ "Fail_3": "The element is empty (no innerHTML)"
+ },
+ // JCH - DONE
+ "RPT_Block_ShouldBeHeading": {
+ 0: "Heading text must use a heading element",
+ "Pass_0": "Rule Passed",
+ "Potential_1": "Check if this text should be marked up as a heading: {0}"
+ },
+ // JCH - DONE
+ "WCAG20_Form_HasSubmit": {
+ 0: "A