Accessibility rules catalog
The deterministic scanner’s WCAG coverage — what b8e scan checks. Generated from
b8e rules --format json.
| Rule id | WCAG SC | Impact | Fix |
|---|---|---|---|
accesskeys | serious | accesskey attribute value should be unique | |
area-alt | 2.4.4, 4.1.2 | critical | Active <area> elements must have alternative text |
aria-allowed-attr | 4.1.2 | critical | Elements must only use supported ARIA attributes |
aria-allowed-role | minor | ARIA role should be appropriate for the element | |
aria-braille-equivalent | 4.1.2 | serious | aria-braille attributes must have a non-braille equivalent |
aria-command-name | 4.1.2 | serious | ARIA commands must have an accessible name |
aria-conditional-attr | 4.1.2 | serious | ARIA attributes must be used as specified for the element’s role |
aria-deprecated-role | 4.1.2 | minor | Deprecated ARIA roles must not be used |
aria-dialog-name | serious | ARIA dialog and alertdialog nodes should have an accessible name | |
aria-hidden-body | 1.3.1, 4.1.2 | critical | aria-hidden=“true” must not be present on the document body |
aria-hidden-focus | 4.1.2 | serious | ARIA hidden element must not be focusable or contain focusable elements |
aria-input-field-name | 4.1.2 | serious | ARIA input fields must have an accessible name |
aria-meter-name | 1.1.1 | serious | ARIA meter nodes must have an accessible name |
aria-progressbar-name | 1.1.1 | serious | ARIA progressbar nodes must have an accessible name |
aria-prohibited-attr | 4.1.2 | serious | Elements must only use permitted ARIA attributes |
aria-required-attr | 4.1.2 | critical | Required ARIA attributes must be provided |
aria-required-children | 1.3.1 | critical | Certain ARIA roles must contain particular children |
aria-required-parent | 1.3.1 | critical | Certain ARIA roles must be contained by particular parents |
aria-roledescription | 4.1.2 | serious | aria-roledescription must be on elements with a semantic role |
aria-roles | 4.1.2 | critical | ARIA roles used must conform to valid values |
aria-text | serious | ”role=text” should have no focusable descendants | |
aria-toggle-field-name | 4.1.2 | serious | ARIA toggle fields must have an accessible name |
aria-tooltip-name | 4.1.2 | serious | ARIA tooltip nodes must have an accessible name |
aria-treeitem-name | serious | ARIA treeitem nodes should have an accessible name | |
aria-valid-attr | 4.1.2 | critical | ARIA attributes must conform to valid names |
aria-valid-attr-value | 4.1.2 | critical | ARIA attributes must conform to valid values |
audio-caption | 1.2.1 | critical | <audio> elements must have a captions track |
autocomplete-valid | 1.3.5 | serious | autocomplete attribute must be used correctly |
avoid-inline-spacing | 1.4.12 | serious | Inline text spacing must be adjustable with custom stylesheets |
blink | 2.2.2 | serious | <blink> elements are deprecated and must not be used |
button-name | 4.1.2 | critical | Buttons must have discernible text |
bypass | 2.4.1 | serious | Page must have means to bypass repeated blocks |
color-contrast | 1.4.3 | serious | Elements must meet minimum color contrast ratio thresholds |
color-contrast-enhanced | 1.4.6 | serious | Elements must meet enhanced color contrast ratio thresholds |
css-orientation-lock | 1.3.4 | serious | CSS Media queries must not lock display orientation |
definition-list | 1.3.1 | serious | <dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements |
dlitem | 1.3.1 | serious | <dt> and <dd> elements must be contained by a <dl> |
document-title | 2.4.2 | serious | Documents must have <title> element to aid in navigation |
duplicate-id | 4.1.1 | minor | id attribute value must be unique |
duplicate-id-active | 4.1.1 | serious | IDs of active elements must be unique |
duplicate-id-aria | 4.1.2 | critical | IDs used in ARIA and labels must be unique |
empty-heading | minor | Headings should not be empty | |
empty-table-header | minor | Table header text should not be empty | |
focus-order-semantics | minor | Elements in the focus order should have an appropriate role | |
form-field-multiple-labels | 3.3.2 | moderate | Form field must not have multiple label elements |
frame-focusable-content | 2.1.1 | serious | Frames with focusable content must not have tabindex=-1 |
frame-tested | critical | Frames should be tested with axe-core | |
frame-title | 4.1.2 | serious | Frames must have an accessible name |
frame-title-unique | 4.1.2 | serious | Frames must have a unique title attribute |
heading-order | moderate | Heading levels should only increase by one | |
hidden-content | minor | Hidden content on the page should be analyzed | |
html-has-lang | 3.1.1 | serious | <html> element must have a lang attribute |
html-lang-valid | 3.1.1 | serious | <html> element must have a valid value for the lang attribute |
html-xml-lang-mismatch | 3.1.1 | moderate | HTML elements with lang and xml:lang must have the same base language |
identical-links-same-purpose | 2.4.9 | minor | Links with the same name must have a similar purpose |
image-alt | 1.1.1 | critical | Images must have alternative text |
image-redundant-alt | minor | Alternative text of images should not be repeated as text | |
input-button-name | 4.1.2 | critical | Input buttons must have discernible text |
input-image-alt | 1.1.1, 4.1.2 | critical | Image buttons must have alternative text |
label | 4.1.2 | critical | Form elements must have labels |
label-content-name-mismatch | 2.5.3 | serious | Elements must have their visible text as part of their accessible name |
label-title-only | serious | Form elements should have a visible label | |
landmark-banner-is-top-level | moderate | Banner landmark should not be contained in another landmark | |
landmark-complementary-is-top-level | moderate | Aside should not be contained in another landmark | |
landmark-contentinfo-is-top-level | moderate | Contentinfo landmark should not be contained in another landmark | |
landmark-main-is-top-level | moderate | Main landmark should not be contained in another landmark | |
landmark-no-duplicate-banner | moderate | Document should not have more than one banner landmark | |
landmark-no-duplicate-contentinfo | moderate | Document should not have more than one contentinfo landmark | |
landmark-no-duplicate-main | moderate | Document should not have more than one main landmark | |
landmark-one-main | moderate | Document should have one main landmark | |
landmark-unique | moderate | Landmarks should have a unique role or role/label/title (i.e. accessible name) combination | |
link-in-text-block | 1.4.1 | serious | Links must be distinguishable without relying on color |
link-name | 2.4.4, 4.1.2 | serious | Links must have discernible text |
list | 1.3.1 | serious | <ul> and <ol> must only directly contain <li>, <script> or <template> elements |
listitem | 1.3.1 | serious | <li> elements must be contained in a <ul> or <ol> |
marquee | 2.2.2 | serious | <marquee> elements are deprecated and must not be used |
meta-refresh | 2.2.1 | critical | Delayed refresh under 20 hours must not be used |
meta-refresh-no-exceptions | 2.2.4, 3.2.5 | minor | Delayed refresh must not be used |
meta-viewport | 1.4.4 | moderate | Zooming and scaling must not be disabled |
meta-viewport-large | minor | Users should be able to zoom and scale the text up to 500% | |
nested-interactive | 4.1.2 | serious | Interactive controls must not be nested |
no-autoplay-audio | 1.4.2 | moderate | <video> or <audio> elements must not play automatically |
object-alt | 1.1.1 | serious | <object> elements must have alternative text |
p-as-heading | 1.3.1 | serious | Styled <p> elements must not be used as headings |
page-has-heading-one | moderate | Page should contain a level-one heading | |
presentation-role-conflict | minor | Elements marked as presentational should be consistently ignored | |
region | moderate | All page content should be contained by landmarks | |
role-img-alt | 1.1.1 | serious | [role=“img”] elements must have alternative text |
scope-attr-valid | moderate | scope attribute should be used correctly | |
scrollable-region-focusable | 2.1.1, 2.1.3 | serious | Scrollable region must have keyboard access |
select-name | 4.1.2 | critical | Select element must have an accessible name |
server-side-image-map | 2.1.1 | minor | Server-side image maps must not be used |
skip-link | moderate | The skip-link target should exist and be focusable | |
summary-name | 4.1.2 | serious | Summary elements must have discernible text |
svg-img-alt | 1.1.1 | serious | <svg> elements with an img role must have alternative text |
tabindex | serious | Elements should not have tabindex greater than zero | |
table-duplicate-name | minor | Tables should not have the same summary and caption | |
table-fake-caption | 1.3.1 | serious | Data or header cells must not be used to give caption to a data table. |
target-size | 2.5.8 | serious | All touch targets must be 24px large, or leave sufficient space |
td-has-header | 1.3.1 | critical | Non-empty <td> elements in larger <table> must have an associated table header |
td-headers-attr | 1.3.1 | serious | Table cell headers attributes must refer to other <th> elements in the same table |
th-has-data-cells | 1.3.1 | serious | Table headers in a data table must refer to data cells |
valid-lang | 3.1.2 | serious | lang attribute must have a valid value |
video-caption | 1.2.2 | critical | <video> elements must have captions |
Raw catalog (b8e rules --format json)
Section titled “Raw catalog (b8e rules --format json)”[ { "ruleId": "accesskeys", "sc": [], "impact": "serious", "fix": "accesskey attribute value should be unique", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/accesskeys?application=axeAPI" }, { "ruleId": "area-alt", "sc": [ "2.4.4", "4.1.2" ], "impact": "critical", "fix": "Active <area> elements must have alternative text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/area-alt?application=axeAPI" }, { "ruleId": "aria-allowed-attr", "sc": [ "4.1.2" ], "impact": "critical", "fix": "Elements must only use supported ARIA attributes", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-allowed-attr?application=axeAPI" }, { "ruleId": "aria-allowed-role", "sc": [], "impact": "minor", "fix": "ARIA role should be appropriate for the element", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-allowed-role?application=axeAPI" }, { "ruleId": "aria-braille-equivalent", "sc": [ "4.1.2" ], "impact": "serious", "fix": "aria-braille attributes must have a non-braille equivalent", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-braille-equivalent?application=axeAPI" }, { "ruleId": "aria-command-name", "sc": [ "4.1.2" ], "impact": "serious", "fix": "ARIA commands must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-command-name?application=axeAPI" }, { "ruleId": "aria-conditional-attr", "sc": [ "4.1.2" ], "impact": "serious", "fix": "ARIA attributes must be used as specified for the element's role", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-conditional-attr?application=axeAPI" }, { "ruleId": "aria-deprecated-role", "sc": [ "4.1.2" ], "impact": "minor", "fix": "Deprecated ARIA roles must not be used", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-deprecated-role?application=axeAPI" }, { "ruleId": "aria-dialog-name", "sc": [], "impact": "serious", "fix": "ARIA dialog and alertdialog nodes should have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-dialog-name?application=axeAPI" }, { "ruleId": "aria-hidden-body", "sc": [ "1.3.1", "4.1.2" ], "impact": "critical", "fix": "aria-hidden=\"true\" must not be present on the document body", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-hidden-body?application=axeAPI" }, { "ruleId": "aria-hidden-focus", "sc": [ "4.1.2" ], "impact": "serious", "fix": "ARIA hidden element must not be focusable or contain focusable elements", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-hidden-focus?application=axeAPI" }, { "ruleId": "aria-input-field-name", "sc": [ "4.1.2" ], "impact": "serious", "fix": "ARIA input fields must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-input-field-name?application=axeAPI" }, { "ruleId": "aria-meter-name", "sc": [ "1.1.1" ], "impact": "serious", "fix": "ARIA meter nodes must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-meter-name?application=axeAPI" }, { "ruleId": "aria-progressbar-name", "sc": [ "1.1.1" ], "impact": "serious", "fix": "ARIA progressbar nodes must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-progressbar-name?application=axeAPI" }, { "ruleId": "aria-prohibited-attr", "sc": [ "4.1.2" ], "impact": "serious", "fix": "Elements must only use permitted ARIA attributes", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-prohibited-attr?application=axeAPI" }, { "ruleId": "aria-required-attr", "sc": [ "4.1.2" ], "impact": "critical", "fix": "Required ARIA attributes must be provided", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-required-attr?application=axeAPI" }, { "ruleId": "aria-required-children", "sc": [ "1.3.1" ], "impact": "critical", "fix": "Certain ARIA roles must contain particular children", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-required-children?application=axeAPI" }, { "ruleId": "aria-required-parent", "sc": [ "1.3.1" ], "impact": "critical", "fix": "Certain ARIA roles must be contained by particular parents", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-required-parent?application=axeAPI" }, { "ruleId": "aria-roledescription", "sc": [ "4.1.2" ], "impact": "serious", "fix": "aria-roledescription must be on elements with a semantic role", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-roledescription?application=axeAPI" }, { "ruleId": "aria-roles", "sc": [ "4.1.2" ], "impact": "critical", "fix": "ARIA roles used must conform to valid values", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-roles?application=axeAPI" }, { "ruleId": "aria-text", "sc": [], "impact": "serious", "fix": "\"role=text\" should have no focusable descendants", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-text?application=axeAPI" }, { "ruleId": "aria-toggle-field-name", "sc": [ "4.1.2" ], "impact": "serious", "fix": "ARIA toggle fields must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name?application=axeAPI" }, { "ruleId": "aria-tooltip-name", "sc": [ "4.1.2" ], "impact": "serious", "fix": "ARIA tooltip nodes must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-tooltip-name?application=axeAPI" }, { "ruleId": "aria-treeitem-name", "sc": [], "impact": "serious", "fix": "ARIA treeitem nodes should have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-treeitem-name?application=axeAPI" }, { "ruleId": "aria-valid-attr", "sc": [ "4.1.2" ], "impact": "critical", "fix": "ARIA attributes must conform to valid names", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr?application=axeAPI" }, { "ruleId": "aria-valid-attr-value", "sc": [ "4.1.2" ], "impact": "critical", "fix": "ARIA attributes must conform to valid values", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-valid-attr-value?application=axeAPI" }, { "ruleId": "audio-caption", "sc": [ "1.2.1" ], "impact": "critical", "fix": "<audio> elements must have a captions track", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/audio-caption?application=axeAPI" }, { "ruleId": "autocomplete-valid", "sc": [ "1.3.5" ], "impact": "serious", "fix": "autocomplete attribute must be used correctly", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/autocomplete-valid?application=axeAPI" }, { "ruleId": "avoid-inline-spacing", "sc": [ "1.4.12" ], "impact": "serious", "fix": "Inline text spacing must be adjustable with custom stylesheets", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/avoid-inline-spacing?application=axeAPI" }, { "ruleId": "blink", "sc": [ "2.2.2" ], "impact": "serious", "fix": "<blink> elements are deprecated and must not be used", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/blink?application=axeAPI" }, { "ruleId": "button-name", "sc": [ "4.1.2" ], "impact": "critical", "fix": "Buttons must have discernible text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/button-name?application=axeAPI" }, { "ruleId": "bypass", "sc": [ "2.4.1" ], "impact": "serious", "fix": "Page must have means to bypass repeated blocks", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/bypass?application=axeAPI" }, { "ruleId": "color-contrast", "sc": [ "1.4.3" ], "impact": "serious", "fix": "Elements must meet minimum color contrast ratio thresholds", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=axeAPI" }, { "ruleId": "color-contrast-enhanced", "sc": [ "1.4.6" ], "impact": "serious", "fix": "Elements must meet enhanced color contrast ratio thresholds", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast-enhanced?application=axeAPI" }, { "ruleId": "css-orientation-lock", "sc": [ "1.3.4" ], "impact": "serious", "fix": "CSS Media queries must not lock display orientation", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/css-orientation-lock?application=axeAPI" }, { "ruleId": "definition-list", "sc": [ "1.3.1" ], "impact": "serious", "fix": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/definition-list?application=axeAPI" }, { "ruleId": "dlitem", "sc": [ "1.3.1" ], "impact": "serious", "fix": "<dt> and <dd> elements must be contained by a <dl>", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/dlitem?application=axeAPI" }, { "ruleId": "document-title", "sc": [ "2.4.2" ], "impact": "serious", "fix": "Documents must have <title> element to aid in navigation", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/document-title?application=axeAPI" }, { "ruleId": "duplicate-id", "sc": [ "4.1.1" ], "impact": "minor", "fix": "id attribute value must be unique", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/duplicate-id?application=axeAPI" }, { "ruleId": "duplicate-id-active", "sc": [ "4.1.1" ], "impact": "serious", "fix": "IDs of active elements must be unique", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/duplicate-id-active?application=axeAPI" }, { "ruleId": "duplicate-id-aria", "sc": [ "4.1.2" ], "impact": "critical", "fix": "IDs used in ARIA and labels must be unique", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/duplicate-id-aria?application=axeAPI" }, { "ruleId": "empty-heading", "sc": [], "impact": "minor", "fix": "Headings should not be empty", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-heading?application=axeAPI" }, { "ruleId": "empty-table-header", "sc": [], "impact": "minor", "fix": "Table header text should not be empty", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/empty-table-header?application=axeAPI" }, { "ruleId": "focus-order-semantics", "sc": [], "impact": "minor", "fix": "Elements in the focus order should have an appropriate role", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/focus-order-semantics?application=axeAPI" }, { "ruleId": "form-field-multiple-labels", "sc": [ "3.3.2" ], "impact": "moderate", "fix": "Form field must not have multiple label elements", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/form-field-multiple-labels?application=axeAPI" }, { "ruleId": "frame-focusable-content", "sc": [ "2.1.1" ], "impact": "serious", "fix": "Frames with focusable content must not have tabindex=-1", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/frame-focusable-content?application=axeAPI" }, { "ruleId": "frame-tested", "sc": [], "impact": "critical", "fix": "Frames should be tested with axe-core", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/frame-tested?application=axeAPI" }, { "ruleId": "frame-title", "sc": [ "4.1.2" ], "impact": "serious", "fix": "Frames must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/frame-title?application=axeAPI" }, { "ruleId": "frame-title-unique", "sc": [ "4.1.2" ], "impact": "serious", "fix": "Frames must have a unique title attribute", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/frame-title-unique?application=axeAPI" }, { "ruleId": "heading-order", "sc": [], "impact": "moderate", "fix": "Heading levels should only increase by one", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/heading-order?application=axeAPI" }, { "ruleId": "hidden-content", "sc": [], "impact": "minor", "fix": "Hidden content on the page should be analyzed", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/hidden-content?application=axeAPI" }, { "ruleId": "html-has-lang", "sc": [ "3.1.1" ], "impact": "serious", "fix": "<html> element must have a lang attribute", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/html-has-lang?application=axeAPI" }, { "ruleId": "html-lang-valid", "sc": [ "3.1.1" ], "impact": "serious", "fix": "<html> element must have a valid value for the lang attribute", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/html-lang-valid?application=axeAPI" }, { "ruleId": "html-xml-lang-mismatch", "sc": [ "3.1.1" ], "impact": "moderate", "fix": "HTML elements with lang and xml:lang must have the same base language", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/html-xml-lang-mismatch?application=axeAPI" }, { "ruleId": "identical-links-same-purpose", "sc": [ "2.4.9" ], "impact": "minor", "fix": "Links with the same name must have a similar purpose", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/identical-links-same-purpose?application=axeAPI" }, { "ruleId": "image-alt", "sc": [ "1.1.1" ], "impact": "critical", "fix": "Images must have alternative text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/image-alt?application=axeAPI" }, { "ruleId": "image-redundant-alt", "sc": [], "impact": "minor", "fix": "Alternative text of images should not be repeated as text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/image-redundant-alt?application=axeAPI" }, { "ruleId": "input-button-name", "sc": [ "4.1.2" ], "impact": "critical", "fix": "Input buttons must have discernible text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/input-button-name?application=axeAPI" }, { "ruleId": "input-image-alt", "sc": [ "1.1.1", "4.1.2" ], "impact": "critical", "fix": "Image buttons must have alternative text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/input-image-alt?application=axeAPI" }, { "ruleId": "label", "sc": [ "4.1.2" ], "impact": "critical", "fix": "Form elements must have labels", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/label?application=axeAPI" }, { "ruleId": "label-content-name-mismatch", "sc": [ "2.5.3" ], "impact": "serious", "fix": "Elements must have their visible text as part of their accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/label-content-name-mismatch?application=axeAPI" }, { "ruleId": "label-title-only", "sc": [], "impact": "serious", "fix": "Form elements should have a visible label", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/label-title-only?application=axeAPI" }, { "ruleId": "landmark-banner-is-top-level", "sc": [], "impact": "moderate", "fix": "Banner landmark should not be contained in another landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-banner-is-top-level?application=axeAPI" }, { "ruleId": "landmark-complementary-is-top-level", "sc": [], "impact": "moderate", "fix": "Aside should not be contained in another landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-complementary-is-top-level?application=axeAPI" }, { "ruleId": "landmark-contentinfo-is-top-level", "sc": [], "impact": "moderate", "fix": "Contentinfo landmark should not be contained in another landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-contentinfo-is-top-level?application=axeAPI" }, { "ruleId": "landmark-main-is-top-level", "sc": [], "impact": "moderate", "fix": "Main landmark should not be contained in another landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-main-is-top-level?application=axeAPI" }, { "ruleId": "landmark-no-duplicate-banner", "sc": [], "impact": "moderate", "fix": "Document should not have more than one banner landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-no-duplicate-banner?application=axeAPI" }, { "ruleId": "landmark-no-duplicate-contentinfo", "sc": [], "impact": "moderate", "fix": "Document should not have more than one contentinfo landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-no-duplicate-contentinfo?application=axeAPI" }, { "ruleId": "landmark-no-duplicate-main", "sc": [], "impact": "moderate", "fix": "Document should not have more than one main landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-no-duplicate-main?application=axeAPI" }, { "ruleId": "landmark-one-main", "sc": [], "impact": "moderate", "fix": "Document should have one main landmark", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-one-main?application=axeAPI" }, { "ruleId": "landmark-unique", "sc": [], "impact": "moderate", "fix": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/landmark-unique?application=axeAPI" }, { "ruleId": "link-in-text-block", "sc": [ "1.4.1" ], "impact": "serious", "fix": "Links must be distinguishable without relying on color", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/link-in-text-block?application=axeAPI" }, { "ruleId": "link-name", "sc": [ "2.4.4", "4.1.2" ], "impact": "serious", "fix": "Links must have discernible text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/link-name?application=axeAPI" }, { "ruleId": "list", "sc": [ "1.3.1" ], "impact": "serious", "fix": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/list?application=axeAPI" }, { "ruleId": "listitem", "sc": [ "1.3.1" ], "impact": "serious", "fix": "<li> elements must be contained in a <ul> or <ol>", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/listitem?application=axeAPI" }, { "ruleId": "marquee", "sc": [ "2.2.2" ], "impact": "serious", "fix": "<marquee> elements are deprecated and must not be used", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/marquee?application=axeAPI" }, { "ruleId": "meta-refresh", "sc": [ "2.2.1" ], "impact": "critical", "fix": "Delayed refresh under 20 hours must not be used", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh?application=axeAPI" }, { "ruleId": "meta-refresh-no-exceptions", "sc": [ "2.2.4", "3.2.5" ], "impact": "minor", "fix": "Delayed refresh must not be used", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-refresh-no-exceptions?application=axeAPI" }, { "ruleId": "meta-viewport", "sc": [ "1.4.4" ], "impact": "moderate", "fix": "Zooming and scaling must not be disabled", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport?application=axeAPI" }, { "ruleId": "meta-viewport-large", "sc": [], "impact": "minor", "fix": "Users should be able to zoom and scale the text up to 500%", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/meta-viewport-large?application=axeAPI" }, { "ruleId": "nested-interactive", "sc": [ "4.1.2" ], "impact": "serious", "fix": "Interactive controls must not be nested", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/nested-interactive?application=axeAPI" }, { "ruleId": "no-autoplay-audio", "sc": [ "1.4.2" ], "impact": "moderate", "fix": "<video> or <audio> elements must not play automatically", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/no-autoplay-audio?application=axeAPI" }, { "ruleId": "object-alt", "sc": [ "1.1.1" ], "impact": "serious", "fix": "<object> elements must have alternative text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/object-alt?application=axeAPI" }, { "ruleId": "p-as-heading", "sc": [ "1.3.1" ], "impact": "serious", "fix": "Styled <p> elements must not be used as headings", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/p-as-heading?application=axeAPI" }, { "ruleId": "page-has-heading-one", "sc": [], "impact": "moderate", "fix": "Page should contain a level-one heading", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/page-has-heading-one?application=axeAPI" }, { "ruleId": "presentation-role-conflict", "sc": [], "impact": "minor", "fix": "Elements marked as presentational should be consistently ignored", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/presentation-role-conflict?application=axeAPI" }, { "ruleId": "region", "sc": [], "impact": "moderate", "fix": "All page content should be contained by landmarks", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/region?application=axeAPI" }, { "ruleId": "role-img-alt", "sc": [ "1.1.1" ], "impact": "serious", "fix": "[role=\"img\"] elements must have alternative text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/role-img-alt?application=axeAPI" }, { "ruleId": "scope-attr-valid", "sc": [], "impact": "moderate", "fix": "scope attribute should be used correctly", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/scope-attr-valid?application=axeAPI" }, { "ruleId": "scrollable-region-focusable", "sc": [ "2.1.1", "2.1.3" ], "impact": "serious", "fix": "Scrollable region must have keyboard access", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/scrollable-region-focusable?application=axeAPI" }, { "ruleId": "select-name", "sc": [ "4.1.2" ], "impact": "critical", "fix": "Select element must have an accessible name", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/select-name?application=axeAPI" }, { "ruleId": "server-side-image-map", "sc": [ "2.1.1" ], "impact": "minor", "fix": "Server-side image maps must not be used", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/server-side-image-map?application=axeAPI" }, { "ruleId": "skip-link", "sc": [], "impact": "moderate", "fix": "The skip-link target should exist and be focusable", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/skip-link?application=axeAPI" }, { "ruleId": "summary-name", "sc": [ "4.1.2" ], "impact": "serious", "fix": "Summary elements must have discernible text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/summary-name?application=axeAPI" }, { "ruleId": "svg-img-alt", "sc": [ "1.1.1" ], "impact": "serious", "fix": "<svg> elements with an img role must have alternative text", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/svg-img-alt?application=axeAPI" }, { "ruleId": "tabindex", "sc": [], "impact": "serious", "fix": "Elements should not have tabindex greater than zero", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/tabindex?application=axeAPI" }, { "ruleId": "table-duplicate-name", "sc": [], "impact": "minor", "fix": "Tables should not have the same summary and caption", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/table-duplicate-name?application=axeAPI" }, { "ruleId": "table-fake-caption", "sc": [ "1.3.1" ], "impact": "serious", "fix": "Data or header cells must not be used to give caption to a data table.", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/table-fake-caption?application=axeAPI" }, { "ruleId": "target-size", "sc": [ "2.5.8" ], "impact": "serious", "fix": "All touch targets must be 24px large, or leave sufficient space", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/target-size?application=axeAPI" }, { "ruleId": "td-has-header", "sc": [ "1.3.1" ], "impact": "critical", "fix": "Non-empty <td> elements in larger <table> must have an associated table header", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/td-has-header?application=axeAPI" }, { "ruleId": "td-headers-attr", "sc": [ "1.3.1" ], "impact": "serious", "fix": "Table cell headers attributes must refer to other <th> elements in the same table", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/td-headers-attr?application=axeAPI" }, { "ruleId": "th-has-data-cells", "sc": [ "1.3.1" ], "impact": "serious", "fix": "Table headers in a data table must refer to data cells", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/th-has-data-cells?application=axeAPI" }, { "ruleId": "valid-lang", "sc": [ "3.1.2" ], "impact": "serious", "fix": "lang attribute must have a valid value", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/valid-lang?application=axeAPI" }, { "ruleId": "video-caption", "sc": [ "1.2.2" ], "impact": "critical", "fix": "<video> elements must have captions", "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/video-caption?application=axeAPI" }]