Rules

The 34 composite WCAG Success Criterion rollups aren't listed here — they aren't individually configurable rules, they belong under Conformance instead. See how rules are organized for automatic vs. manual, how rule IDs are structured, and WCAG facets.

Automatic (79), can return fail

79 automatic rules
Rule IDTitleWCAG SCLevelConfidenceSeverity
area-alt-present<area> must have an accessible name1.1.1Ahighserious
aria-allowed-attraria-* attributes must be permitted for the element’s role4.1.2Amediummoderate
aria-allowed-roleExplicit role must be permitted for its host elementhighmoderate
aria-braille-equivalentaria-braillelabel/aria-brailleroledescription must have a non-braille equivalent4.1.2Ahighmoderate
aria-conditional-attraria-errormessage requires aria-invalid to be set to a non-false value4.1.2Ahighmoderate
aria-deprecated-rolerole attribute should not use a deprecated or author-discouraged ARIA role4.1.2Ahighmoderate
aria-hidden-bodyThe document <body> must not be aria-hidden1.3.1, 4.1.2Ahighcritical
aria-hidden-focusARIA hidden elements must not be focusable2.4.7, 4.1.2AAhighserious
aria-prohibited-attrARIA naming attributes must not be used on roles that prohibit them4.1.2Ahighmoderate
aria-prohibited-childrenContainer roles must not own a child with a disallowed role1.3.1Amediummoderate
aria-required-attrRoles with a required ARIA state/property must carry it4.1.2Ahighserious
aria-required-childrenContainer roles must own at least one required child role1.3.1Amediummoderate
aria-required-parentRoles requiring a specific context role must be in that context1.3.1Amediummoderate
aria-role-name-presentARIA roles that require an accessible name have one4.1.2Ahighserious
aria-roles-validrole attribute must be a valid, non-abstract ARIA role4.1.2Ahighserious
aria-valid-attraria-* attributes must be real, defined ARIA attributes4.1.2Ahighserious
aria-valid-attr-valuearia-* attribute values must match their declared type4.1.2Ahighserious
autocomplete-validautocomplete attribute must be a valid autofill value1.3.5AAhighmoderate
avoid-inline-spacingInline style must not force text spacing below the WCAG metric1.4.12AAhighmoderate
binary-control-name-presentBinary controls have an accessible name4.1.2Ahighserious
button-name-presentButtons have an accessible name4.1.2Ahighserious
canvas-text-alternative-present<canvas> must provide a text alternative1.1.1Ahighserious
combobox-name-presentComboboxes have an accessible name4.1.2Ahighserious
contrast-computableColor contrast is computable for rendered text1.4.3, 1.4.6AAAhighserious
contrast-enhancedText meets enhanced color contrast (AAA)1.4.6AAAhighserious
contrast-minimumText meets minimum color contrast (AA)1.4.3AAhighserious
css-orientation-lockCSS must not lock the page to a single orientation1.3.4AAhighserious
definition-list-children-validDescription lists must be structured correctly1.3.1Ahighserious
deprecated-elements-not-usedObsolete non-stoppable elements (<blink>, <marquee>) must not be used2.2.2Ahighserious
dialog-name-presentDialogs have an accessible name4.1.2Ahighserious
dlitem-parent-validDescription-list items must be inside a description list1.3.1Ahighserious
duplicate-idIDs must be unique4.1.1Ahighmoderate
duplicate-id-ariaIDs referenced by ARIA must be unique4.1.2Ahighserious
embed-text-alternative-present<embed> must provide a text alternative1.1.1Ahighserious
form-control-programmatic-label-presentForm controls must have a programmatic label1.3.1, 3.3.2, 4.1.2Amediumserious
form-control-single-labelForm controls must not have multiple labels3.3.2Ahighmoderate
html-lang-attr-presentPage language is declared3.1.1Ahighserious
html-xml-lang-mismatchlang and xml:lang must not disagree3.1.1Ahighserious
identical-iframes-same-purposeFrames with the same name embed the same resource4.1.2Amediummoderate
iframe-focusable-contentFrames with tabindex="-1" must not contain focusable content2.1.1Ahighmoderate
iframe-name-presentFrames have an accessible name4.1.2Ahighserious
iframe-title-uniqueFrame titles must be unique4.1.2Ahighmoderate
img-alt-present<img> must have an alt attribute1.1.1Ahighserious
input-image-alt-present<input type="image"> must have an alt attribute1.1.1Ahighserious
label-in-nameLabel in Name: accessible name contains visible text2.5.3Ahighserious
link-in-text-blockLinks in text blocks must be distinguishable from surrounding text without relying on color alone1.4.1Ahighserious
link-name-presentLinks have an accessible name4.1.2Ahighserious
list-children-validLists must only directly contain list items1.3.1Ahighserious
listbox-name-presentListboxes have an accessible name4.1.2Ahighserious
listitem-parent-validList items must be inside a list container1.3.1Ahighserious
menuitem-name-presentMenu items have an accessible name4.1.2Ahighserious
meta-refresh-no-exceptionsPage must not use a meta refresh at all (AAA)2.2.4, 3.2.5AAAhighmoderate
meta-refresh-timing-absentPage must not use a timed meta refresh2.2.1Ahighserious
meta-viewport-zoom-enabledViewport meta tag must not disable zoom1.4.4AAhighserious
meter-name-presentMeters have an accessible name1.1.1Ahighserious
nested-interactive-controls-absentInteractive controls must not be nested4.1.2Ahighserious
object-text-alternative-present<object> must provide a text alternative1.1.1Ahighserious
option-name-presentOptions have an accessible name4.1.2Ahighserious
page-title-presentPage has a non-empty title2.4.2Ahighserious
presentational-children-focusable-absentRoles with presentational children must not contain focusable content4.1.2Ahighserious
progressbar-name-presentProgress bars have an accessible name1.1.1Ahighserious
role-img-text-alternative-present[role="img"/"graphics-symbol"/"graphics-document"] must have an accessible text alternative1.1.1Ahighserious
searchbox-name-presentSearchboxes have an accessible name4.1.2Ahighserious
server-side-image-map-absentImages must not use a server-side image map2.1.1Ahighserious
slider-name-presentSliders have an accessible name4.1.2Ahighserious
spinbutton-name-presentSpinbuttons have an accessible name4.1.2Ahighserious
summary-name-presentSummary elements have an accessible name4.1.2Ahighserious
svg-image-text-alternative-presentSVG <image> must have a text alternative1.1.1Amediumserious
svg-text-alternative-present<svg> must provide a text alternative1.1.1Ahighserious
tab-name-presentTabs have an accessible name4.1.2Ahighserious
table-headers-attr-validTable cell "headers" attribute must reference valid header cells1.3.1Ahighserious
table-th-has-data-cells<th> elements must describe at least one data cell1.3.1Ahighmoderate
target-size-minimumPointer targets must be at least 24x24px large, or leave sufficient distance to other targets2.5.8AAmediumserious
td-has-headerData cells in large tables must have an associated header1.3.1Ahighserious
textbox-name-presentTextboxes have an accessible name4.1.2Ahighserious
tooltip-name-presentTooltips have an accessible name4.1.2Ahighserious
treeitem-name-presentTree items have an accessible name4.1.2Ahighserious
valid-langElement lang attribute must be syntactically valid3.1.2AAhighmoderate
video-poster-text-alternative-present<video> poster must have a text alternative1.1.1Amediumserious

Manual (53), advisory, capped at cantTell

53 manual rules
Rule IDTitleWCAG SCLevelConfidenceSeverity
accesskeysaccesskey values must be uniquemediumminor
area-alt-quality<area> alt text must be appropriate (manual review)1.1.1Amediumminor
aria-checked-state-mismatchNative checkbox/radio aria-checked should match its actual state4.1.2Amediummoderate
aria-textrole="text" elements should have no focusable descendantsmediumminor
bypass-blocks-presentPage must provide a way to bypass repeated blocks2.4.1Amediummoderate
canvas-text-alternative-quality<canvas> text alternative must be appropriate (manual review)1.1.1Amediumminor
css-focus-indicator-suppressedFocus indicator must not be removed without a replacement2.4.7AAmediumserious
css-hidden-focusFocusable elements must not be visually hidden2.4.7AAlowserious
embed-text-alternative-quality<embed> text alternative must be appropriate (manual review)1.1.1Amediumminor
empty-headingHeadings must not be emptymediumminor
empty-table-headerTable header cells must not be emptymediumminor
focus-order-semanticsElements added to the tab order should have interactive semanticsmediumminor
form-control-label-qualityForm field labels should be descriptive and distinguishable2.4.6AAmediumminor
form-control-programmatic-label-qualityForm controls should not rely on placeholder or title as the primary label4.1.2Amediummoderate
heading-orderHeading levels must not skip a levelmediumminor
heading-qualityHeading text should be descriptive, not a placeholder2.4.6AAmediumminor
identical-links-same-purposeLinks with the same accessible name should lead to the same destination2.4.9AAAlowminor
image-redundant-altImage alt text must not duplicate adjacent visible textmediumminor
img-alt-decorativeExcluded <img>/<canvas>/<svg> must be decorative (manual review)1.1.1Amediumminor
img-alt-quality<img> alt text must be appropriate (manual review)1.1.1Amediumminor
input-image-alt-decorative<input type="image"> with alt="" must be appropriate (manual review)1.1.1Amediumminor
input-image-alt-quality<input type="image"> alt text must be appropriate (manual review)1.1.1Amediumminor
label-title-onlyForm controls should not use title as their only labelmediumminor
landmark-banner-is-top-levelBanner landmark must be top-levelmediumminor
landmark-complementary-is-top-levelComplementary landmark must be top-levelmediumminor
landmark-contentinfo-is-top-levelContentinfo landmark must be top-levelmediumminor
landmark-main-is-top-levelMain landmark must be top-levelmediumminor
landmark-no-duplicate-bannerPage must not have more than one banner landmarkmediumminor
landmark-no-duplicate-contentinfoPage must not have more than one contentinfo landmarkmediumminor
landmark-no-duplicate-mainPage must not have more than one main landmarkmediumminor
landmark-one-mainPage should have a main landmarkmediumminor
landmark-uniqueLandmarks with the same role must have unique namesmediumminor
link-name-qualityLink text should be descriptive, not generic2.4.4Amediumminor
manual-reviewManual review: keyboard navigation and focus order2.1.1, 2.4.3, 2.4.7AAmediummoderate
media-alternative-transcript-evidenceTime-based media: transcript or text alternative evidence1.2.1Alowmoderate
meta-viewport-largeViewport meta tag should allow zooming up to 500%mediumminor
mouse-only-event-handlersPointer-only inline event handlers should have a keyboard-reachable equivalent2.1.1Alowmoderate
no-autoplay-audioAutoplaying audio should provide a pause/stop or volume-control mechanism1.4.2Alowmoderate
object-text-alternative-quality<object> text alternative must be appropriate (manual review)1.1.1Amediumminor
p-as-headingA <p> styled to look like a heading should probably be a real heading1.3.1Alowminor
page-has-heading-onePage should have a level-one headingmediumminor
page-title-patternsPage title patterns that may be insufficiently descriptive2.4.2Amediumminor
password-paste-enabledAuthentication fields must not block pasting3.3.8AAmediumserious
presentation-role-conflictPresentational role must not conflict with a global ARIA attribute or focusabilitymediumminor
regionPage content should be inside a landmark regionmediumminor
scope-attr-validscope attribute must have a valid valuemediumminor
scrollable-region-focusableScrollable regions with no focusable content should be keyboard-focusable2.1.1, 2.1.3AAAlowmoderate
skip-linkSkip link must have a resolvable, usable targetmediumminor
svg-text-alternative-quality<svg> text alternative must be appropriate (manual review)1.1.1Amediumminor
tabindextabindex should not be greater than 0mediumminor
table-duplicate-nameTable caption must not duplicate its summary attributemediumminor
table-fake-captionA table's first row should not stand in for a real <caption>1.3.1Alowminor
video-captionPrerecorded video should provide a captions track1.2.2Alowmoderate