Skip to content

Latest commit

 

History

History
162 lines (140 loc) · 68 KB

rule-descriptions.md

File metadata and controls

162 lines (140 loc) · 68 KB

Rule Descriptions

Table of Contents

WCAG 2.0 Level A & AA Rules

Rule ID Description Impact Tags Issue Type ACT Rules
area-alt Ensure <area> elements of image maps have alternative text Critical cat.text-alternatives, wcag2a, wcag244, wcag412, section508, section508.22.a, TTv5, TT6.a, EN-301-549, EN-9.2.4.4, EN-9.4.1.2, ACT failure, needs review c487ae
aria-allowed-attr Ensure an element's role supports its ARIA attributes Critical cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure, needs review 5c01ea
aria-braille-equivalent Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent Serious cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 needs review
aria-command-name Ensure every ARIA button, link and menuitem has an accessible name Serious cat.aria, wcag2a, wcag412, TTv5, TT6.a, EN-301-549, EN-9.4.1.2, ACT failure, needs review 97a4e1
aria-conditional-attr Ensure ARIA attributes are used as described in the specification of the element's role Serious cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure 5c01ea
aria-deprecated-role Ensure elements do not use deprecated roles Minor cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure 674b10
aria-hidden-body Ensure aria-hidden="true" is not present on the document body. Critical cat.aria, wcag2a, wcag131, wcag412, EN-301-549, EN-9.1.3.1, EN-9.4.1.2 failure
aria-hidden-focus Ensure aria-hidden elements are not focusable nor contain focusable elements Serious cat.name-role-value, wcag2a, wcag412, TTv5, TT6.a, EN-301-549, EN-9.4.1.2 failure, needs review 6cfa84
aria-input-field-name Ensure every ARIA input field has an accessible name Serious cat.aria, wcag2a, wcag412, TTv5, TT5.c, EN-301-549, EN-9.4.1.2, ACT failure, needs review e086e5
aria-meter-name Ensure every ARIA meter node has an accessible name Serious cat.aria, wcag2a, wcag111, EN-301-549, EN-9.1.1.1 failure, needs review
aria-progressbar-name Ensure every ARIA progressbar node has an accessible name Serious cat.aria, wcag2a, wcag111, EN-301-549, EN-9.1.1.1 failure, needs review
aria-prohibited-attr Ensure ARIA attributes are not prohibited for an element's role Serious cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure, needs review 5c01ea
aria-required-attr Ensure elements with ARIA roles have all required ARIA attributes Critical cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure 4e8ab6
aria-required-children Ensure elements with an ARIA role that require child roles contain them Critical cat.aria, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure, needs review bc4a75, ff89c9
aria-required-parent Ensure elements with an ARIA role that require parent roles are contained by them Critical cat.aria, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure ff89c9
aria-roles Ensure all elements with a role attribute use a valid value Critical cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure 674b10
aria-toggle-field-name Ensure every ARIA toggle field has an accessible name Serious cat.aria, wcag2a, wcag412, TTv5, TT5.c, EN-301-549, EN-9.4.1.2, ACT failure, needs review e086e5
aria-tooltip-name Ensure every ARIA tooltip node has an accessible name Serious cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure, needs review
aria-valid-attr-value Ensure all ARIA attributes have valid values Critical cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure, needs review 6a7281
aria-valid-attr Ensure attributes that begin with aria- are valid ARIA attributes Critical cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure 5f99a7
blink Ensure <blink> elements are not used Serious cat.time-and-media, wcag2a, wcag222, section508, section508.22.j, TTv5, TT2.b, EN-301-549, EN-9.2.2.2 failure
button-name Ensure buttons have discernible text Critical cat.name-role-value, wcag2a, wcag412, section508, section508.22.a, TTv5, TT6.a, EN-301-549, EN-9.4.1.2, ACT failure, needs review 97a4e1, m6b1q3
bypass Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content Serious cat.keyboard, wcag2a, wcag241, section508, section508.22.o, TTv5, TT9.a, EN-301-549, EN-9.2.4.1 needs review cf77f2, 047fe0, b40fd1, 3e12e1, ye5d6e
color-contrast Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds Serious cat.color, wcag2aa, wcag143, TTv5, TT13.c, EN-301-549, EN-9.1.4.3, ACT failure, needs review afw4f7, 09o5cg
definition-list Ensure <dl> elements are structured correctly Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
dlitem Ensure <dt> and <dd> elements are contained by a <dl> Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
document-title Ensure each HTML document contains a non-empty <title> element Serious cat.text-alternatives, wcag2a, wcag242, TTv5, TT12.a, EN-301-549, EN-9.2.4.2, ACT failure 2779a5
duplicate-id-aria Ensure every id attribute value used in ARIA and in labels is unique Critical cat.parsing, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 needs review 3ea0c8
form-field-multiple-labels Ensure form field does not have multiple label elements Moderate cat.forms, wcag2a, wcag332, TTv5, TT5.c, EN-301-549, EN-9.3.3.2 needs review
frame-focusable-content Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1 Serious cat.keyboard, wcag2a, wcag211, TTv5, TT4.a, EN-301-549, EN-9.2.1.1 failure, needs review akn7bn
frame-title-unique Ensure <iframe> and <frame> elements contain a unique title attribute Serious cat.text-alternatives, wcag2a, wcag412, TTv5, TT12.d, EN-301-549, EN-9.4.1.2 needs review 4b1c6c
frame-title Ensure <iframe> and <frame> elements have an accessible name Serious cat.text-alternatives, wcag2a, wcag412, section508, section508.22.i, TTv5, TT12.d, EN-301-549, EN-9.4.1.2 failure, needs review cae760
html-has-lang Ensure every HTML document has a lang attribute Serious cat.language, wcag2a, wcag311, TTv5, TT11.a, EN-301-549, EN-9.3.1.1, ACT failure b5c3f8
html-lang-valid Ensure the lang attribute of the <html> element has a valid value Serious cat.language, wcag2a, wcag311, TTv5, TT11.a, EN-301-549, EN-9.3.1.1, ACT failure bf051a
html-xml-lang-mismatch Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page Moderate cat.language, wcag2a, wcag311, EN-301-549, EN-9.3.1.1, ACT failure 5b7ae0
image-alt Ensure <img> elements have alternative text or a role of none or presentation Critical cat.text-alternatives, wcag2a, wcag111, section508, section508.22.a, TTv5, TT7.a, TT7.b, EN-301-549, EN-9.1.1.1, ACT failure, needs review 23a2a8
input-button-name Ensure input buttons have discernible text Critical cat.name-role-value, wcag2a, wcag412, section508, section508.22.a, TTv5, TT5.c, EN-301-549, EN-9.4.1.2, ACT failure, needs review 97a4e1
input-image-alt Ensure <input type="image"> elements have alternative text Critical cat.text-alternatives, wcag2a, wcag111, wcag412, section508, section508.22.a, TTv5, TT7.a, EN-301-549, EN-9.1.1.1, EN-9.4.1.2, ACT failure, needs review 59796f
label Ensure every form element has a label Critical cat.forms, wcag2a, wcag412, section508, section508.22.n, TTv5, TT5.c, EN-301-549, EN-9.4.1.2, ACT failure, needs review e086e5
link-in-text-block Ensure links are distinguished from surrounding text in a way that does not rely on color Serious cat.color, wcag2a, wcag141, TTv5, TT13.a, EN-301-549, EN-9.1.4.1 failure, needs review
link-name Ensure links have discernible text Serious cat.name-role-value, wcag2a, wcag244, wcag412, section508, section508.22.a, TTv5, TT6.a, EN-301-549, EN-9.2.4.4, EN-9.4.1.2, ACT failure, needs review c487ae
list Ensure that lists are structured correctly Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
listitem Ensure <li> elements are used semantically Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
marquee Ensure <marquee> elements are not used Serious cat.parsing, wcag2a, wcag222, TTv5, TT2.b, EN-301-549, EN-9.2.2.2 failure
meta-refresh Ensure <meta http-equiv="refresh"> is not used for delayed refresh Critical cat.time-and-media, wcag2a, wcag221, TTv5, TT8.a, EN-301-549, EN-9.2.2.1 failure bc659a, bisz58
meta-viewport Ensure <meta name="viewport"> does not disable text scaling and zooming Critical cat.sensory-and-visual-cues, wcag2aa, wcag144, EN-301-549, EN-9.1.4.4, ACT failure b4f0c3
nested-interactive Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies Serious cat.keyboard, wcag2a, wcag412, TTv5, TT6.a, EN-301-549, EN-9.4.1.2 failure, needs review 307n5z
no-autoplay-audio Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio Moderate cat.time-and-media, wcag2a, wcag142, TTv5, TT2.a, EN-301-549, EN-9.1.4.2, ACT needs review 80f0bf
object-alt Ensure <object> elements have alternative text Serious cat.text-alternatives, wcag2a, wcag111, section508, section508.22.a, EN-301-549, EN-9.1.1.1 failure, needs review 8fc3b6
role-img-alt Ensure [role="img"] elements have alternative text Serious cat.text-alternatives, wcag2a, wcag111, section508, section508.22.a, TTv5, TT7.a, EN-301-549, EN-9.1.1.1, ACT failure, needs review 23a2a8
scrollable-region-focusable Ensure elements that have scrollable content are accessible by keyboard Serious cat.keyboard, wcag2a, wcag211, wcag213, TTv5, TT4.a, EN-301-549, EN-9.2.1.1, EN-9.2.1.3 failure 0ssw9k
select-name Ensure select element has an accessible name Critical cat.forms, wcag2a, wcag412, section508, section508.22.n, TTv5, TT5.c, EN-301-549, EN-9.4.1.2, ACT failure, needs review e086e5
server-side-image-map Ensure that server-side image maps are not used Minor cat.text-alternatives, wcag2a, wcag211, section508, section508.22.f, TTv5, TT4.a, EN-301-549, EN-9.2.1.1 needs review
summary-name Ensure summary elements have discernible text Serious cat.name-role-value, wcag2a, wcag412, section508, section508.22.a, TTv5, TT6.a, EN-301-549, EN-9.4.1.2 failure, needs review
svg-img-alt Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text Serious cat.text-alternatives, wcag2a, wcag111, section508, section508.22.a, TTv5, TT7.a, EN-301-549, EN-9.1.1.1, ACT failure, needs review 7d6734
td-headers-attr Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table Serious cat.tables, wcag2a, wcag131, section508, section508.22.g, TTv5, TT14.b, EN-301-549, EN-9.1.3.1 failure, needs review a25f45
th-has-data-cells Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe Serious cat.tables, wcag2a, wcag131, section508, section508.22.g, TTv5, TT14.b, EN-301-549, EN-9.1.3.1 failure, needs review d0f69e
valid-lang Ensure lang attributes have valid values Serious cat.language, wcag2aa, wcag312, TTv5, TT11.b, EN-301-549, EN-9.3.1.2, ACT failure de46e4
video-caption Ensure <video> elements have captions Critical cat.text-alternatives, wcag2a, wcag122, section508, section508.22.a, TTv5, TT17.a, EN-301-549, EN-9.1.2.2 needs review eac66b

WCAG 2.1 Level A & AA Rules

Rule ID Description Impact Tags Issue Type ACT Rules
autocomplete-valid Ensure the autocomplete attribute is correct and suitable for the form field Serious cat.forms, wcag21aa, wcag135, EN-301-549, EN-9.1.3.5, ACT failure, needs review 73f2c2
avoid-inline-spacing Ensure that text spacing set through style attributes can be adjusted with custom stylesheets Serious cat.structure, wcag21aa, wcag1412, EN-301-549, EN-9.1.4.12, ACT failure 24afc2, 9e45ec, 78fd32

WCAG 2.2 Level A & AA Rules

These rules are disabled by default, until WCAG 2.2 is more widely adopted and required.

Rule ID Description Impact Tags Issue Type ACT Rules
target-size Ensure touch targets have sufficient size and space Serious cat.sensory-and-visual-cues, wcag22aa, wcag258 failure, needs review

Best Practices Rules

Rules that do not necessarily conform to WCAG success criterion but are industry accepted practices that improve the user experience.

Rule ID Description Impact Tags Issue Type ACT Rules
accesskeys Ensure every accesskey attribute value is unique Serious cat.keyboard, best-practice failure
aria-allowed-role Ensure role attribute has an appropriate value for the element Minor cat.aria, best-practice failure, needs review
aria-dialog-name Ensure every ARIA dialog and alertdialog node has an accessible name Serious cat.aria, best-practice failure, needs review
aria-text Ensure role="text" is used on elements with no focusable descendants Serious cat.aria, best-practice failure, needs review
aria-treeitem-name Ensure every ARIA treeitem node has an accessible name Serious cat.aria, best-practice failure, needs review
empty-heading Ensure headings have discernible text Minor cat.name-role-value, best-practice failure, needs review ffd0e9
empty-table-header Ensure table headers have discernible text Minor cat.name-role-value, best-practice failure, needs review
frame-tested Ensure <iframe> and <frame> elements contain the axe-core script Critical cat.structure, best-practice, review-item failure, needs review
heading-order Ensure the order of headings is semantically correct Moderate cat.semantics, best-practice failure, needs review
image-redundant-alt Ensure image alternative is not repeated as text Minor cat.text-alternatives, best-practice failure
label-title-only Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes Serious cat.forms, best-practice failure
landmark-banner-is-top-level Ensure the banner landmark is at top level Moderate cat.semantics, best-practice failure
landmark-complementary-is-top-level Ensure the complementary landmark or aside is at top level Moderate cat.semantics, best-practice failure
landmark-contentinfo-is-top-level Ensure the contentinfo landmark is at top level Moderate cat.semantics, best-practice failure
landmark-main-is-top-level Ensure the main landmark is at top level Moderate cat.semantics, best-practice failure
landmark-no-duplicate-banner Ensure the document has at most one banner landmark Moderate cat.semantics, best-practice failure
landmark-no-duplicate-contentinfo Ensure the document has at most one contentinfo landmark Moderate cat.semantics, best-practice failure
landmark-no-duplicate-main Ensure the document has at most one main landmark Moderate cat.semantics, best-practice failure
landmark-one-main Ensure the document has a main landmark Moderate cat.semantics, best-practice failure
landmark-unique Ensure landmarks are unique Moderate cat.semantics, best-practice failure
meta-viewport-large Ensure <meta name="viewport"> can scale a significant amount Minor cat.sensory-and-visual-cues, best-practice failure
page-has-heading-one Ensure that the page, or at least one of its frames contains a level-one heading Moderate cat.semantics, best-practice failure
presentation-role-conflict Elements marked as presentational should not have global ARIA or tabindex to ensure all screen readers ignore them Minor cat.aria, best-practice, ACT failure 46ca7f
region Ensure all page content is contained by landmarks Moderate cat.keyboard, best-practice failure
scope-attr-valid Ensure the scope attribute is used correctly on tables Moderate cat.tables, best-practice failure
skip-link Ensure all skip links have a focusable target Moderate cat.keyboard, best-practice failure, needs review
tabindex Ensure tabindex attribute values are not greater than 0 Serious cat.keyboard, best-practice failure
table-duplicate-name Ensure the <caption> element does not contain the same text as the summary attribute Minor cat.tables, best-practice failure, needs review

WCAG 2.x level AAA rules

Rules that check for conformance to WCAG AAA success criteria that can be fully automated. These are disabled by default in axe-core.

Rule ID Description Impact Tags Issue Type ACT Rules
color-contrast-enhanced Ensure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds Serious cat.color, wcag2aaa, wcag146, ACT failure, needs review 09o5cg
identical-links-same-purpose Ensure that links with the same accessible name serve a similar purpose Minor cat.semantics, wcag2aaa, wcag249 needs review b20e66
meta-refresh-no-exceptions Ensure <meta http-equiv="refresh"> is not used for delayed refresh Minor cat.time-and-media, wcag2aaa, wcag224, wcag325 failure bisz58

Experimental Rules

Rules we are still testing and developing. They are disabled by default in axe-core, but are enabled for the axe browser extensions.

Rule ID Description Impact Tags Issue Type ACT Rules
css-orientation-lock Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations Serious cat.structure, wcag134, wcag21aa, EN-301-549, EN-9.1.3.4, experimental failure, needs review b33eff
focus-order-semantics Ensure elements in the focus order have a role appropriate for interactive content Minor cat.keyboard, best-practice, experimental failure
hidden-content Informs users about hidden content. Minor cat.structure, best-practice, experimental, review-item failure, needs review
label-content-name-mismatch Ensure that elements labelled through their content must have their visible text as part of their accessible name Serious cat.semantics, wcag21a, wcag253, EN-301-549, EN-9.2.5.3, experimental failure 2ee8b8
p-as-heading Ensure bold, italic text and font-size is not used to style <p> elements as a heading Serious cat.semantics, wcag2a, wcag131, EN-301-549, EN-9.1.3.1, experimental failure, needs review
table-fake-caption Ensure that tables with a caption use the <caption> element. Serious cat.tables, experimental, wcag2a, wcag131, section508, section508.22.g, EN-301-549, EN-9.1.3.1 failure
td-has-header Ensure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers Critical cat.tables, experimental, wcag2a, wcag131, section508, section508.22.g, TTv5, TT14.b, EN-301-549, EN-9.1.3.1 failure

Deprecated Rules

Deprecated rules are disabled by default and will be removed in the next major release.

Rule ID Description Impact Tags Issue Type ACT Rules
aria-roledescription Ensure aria-roledescription is only used on elements with an implicit or explicit role Serious cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2, deprecated failure, needs review
audio-caption Ensure <audio> elements have captions Critical cat.time-and-media, wcag2a, wcag121, EN-301-549, EN-9.1.2.1, section508, section508.22.a, deprecated needs review 2eb176, afb423
duplicate-id-active Ensure every id attribute value of active elements is unique Serious cat.parsing, wcag2a-obsolete, wcag411, deprecated failure 3ea0c8
duplicate-id Ensure every id attribute value is unique Minor cat.parsing, wcag2a-obsolete, wcag411, deprecated failure 3ea0c8