Skip to content

Latest commit

 

History

History
159 lines (138 loc) · 67.1 KB

rule-descriptions.md

File metadata and controls

159 lines (138 loc) · 67.1 KB

Rule Descriptions

Table of Contents

WCAG 2.0 Level A & AA Rules

Rule ID Description Impact Tags Issue Type ACT Rules
area-alt Ensures <area> elements of image maps have alternate 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 Ensures 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 Ensures 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 Ensures 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 Ensures elements do not use deprecated roles Minor cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure 674b10
aria-hidden-body Ensures aria-hidden="true" is not present on the document body. Critical cat.aria, wcag2a, wcag412, EN-301-549, EN-9.4.1.2 failure
aria-hidden-focus Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures 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 Ensures <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 Ensures 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 Ensures 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 Ensures 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 Ensures <dl> elements are structured correctly Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
dlitem Ensures <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 Ensures 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 Ensures 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 Ensures 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 Ensures <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 Ensures <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 Ensures <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 Ensures 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 Ensures 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 Ensures <img> elements have alternate 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 Ensures 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 Ensures <input type="image"> elements have alternate 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 Ensures 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 Ensures 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 Ensures that lists are structured correctly Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
listitem Ensures <li> elements are used semantically Serious cat.structure, wcag2a, wcag131, EN-301-549, EN-9.1.3.1 failure
marquee Ensures <marquee> elements are not used Serious cat.parsing, wcag2a, wcag222, TTv5, TT2.b, EN-301-549, EN-9.2.2.2 failure
meta-refresh Ensures <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 Ensures <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 Ensures 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 Ensures <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 Ensures <object> elements have alternate 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 Ensures [role="img"] elements have alternate 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, TTv5, TT4.a, EN-301-549, EN-9.2.1.1 failure 0ssw9k
select-name Ensures 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 Ensures 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
svg-img-alt Ensures <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 Ensures 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 Ensures <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 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 target 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 Ensures every accesskey attribute value is unique Serious cat.keyboard, best-practice failure
aria-allowed-role Ensures role attribute has an appropriate value for the element Minor cat.aria, best-practice failure, needs review
aria-dialog-name Ensures every ARIA dialog and alertdialog node has an accessible name Serious cat.aria, best-practice failure, needs review
aria-text Ensures role="text" is used on elements with no focusable descendants Serious cat.aria, best-practice failure, needs review
aria-treeitem-name Ensures every ARIA treeitem node has an accessible name Serious cat.aria, best-practice failure, needs review
empty-heading Ensures headings have discernible text Minor cat.name-role-value, best-practice failure, needs review ffd0e9
empty-table-header Ensures table headers have discernible text Minor cat.name-role-value, best-practice failure, needs review
frame-tested Ensures <iframe> and <frame> elements contain the axe-core script Critical cat.structure, best-practice, review-item failure, needs review
heading-order Ensures 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 Ensures 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 Ensures the banner landmark is at top level Moderate cat.semantics, best-practice failure
landmark-complementary-is-top-level Ensures the complementary landmark or aside is at top level Moderate cat.semantics, best-practice failure
landmark-contentinfo-is-top-level Ensures the contentinfo landmark is at top level Moderate cat.semantics, best-practice failure
landmark-main-is-top-level Ensures the main landmark is at top level Moderate cat.semantics, best-practice failure
landmark-no-duplicate-banner Ensures the document has at most one banner landmark Moderate cat.semantics, best-practice failure
landmark-no-duplicate-contentinfo Ensures the document has at most one contentinfo landmark Moderate cat.semantics, best-practice failure
landmark-no-duplicate-main Ensures the document has at most one main landmark Moderate cat.semantics, best-practice failure
landmark-one-main Ensures the document has a main landmark Moderate cat.semantics, best-practice failure
landmark-unique Landmarks should have a unique role or role/label/title (i.e. accessible name) combination Moderate cat.semantics, best-practice failure
meta-viewport-large Ensures <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 Ensures all page content is contained by landmarks Moderate cat.keyboard, best-practice failure
scope-attr-valid Ensures 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 Ensures 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 Ensures 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 Ensures <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 Ensures 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 Ensures 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 Ensures 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 Ensures <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 Ensures every id attribute value of active elements is unique Serious cat.parsing, wcag2a-obsolete, wcag411, deprecated failure 3ea0c8
duplicate-id Ensures every id attribute value is unique Minor cat.parsing, wcag2a-obsolete, wcag411, deprecated failure 3ea0c8