( Rules library )

Every Flag,Explained.

Every rule maps back to a WCAG success criterion, an impact level and a plain-English fix path. Most run automatically in a scan; the rest are flagged for manual review or included as reference guidance.

Automatically checked
96
Manual & guidance only
26
WCAG criteria
47
Critical checks
17
Showing122of122rules

Perceivable

Perceivable rules43

These rules make sure people can receive the content in the first place, whether they use a screen reader, captions, zoomed text, high contrast settings, or custom spacing. They cover text alternatives, media, colour, contrast, and presentation details that decide whether information is visible, audible, or available to assistive technology.

  1. SeriousLevel AARIA meter has no accessible nameWCAG 1.1.1 - Non-text Content
  2. SeriousLevel AARIA progressbar has no accessible nameWCAG 1.1.1 - Non-text Content
  3. CriticalLevel AImage is missing alt textWCAG 1.1.1 - Non-text Content
  4. SeriousLevel AAlt text is a filename or placeholderWCAG 1.1.1 - Non-text Content
  5. SeriousLevel AImage map area element is missing alt textWCAG 1.1.1 - Non-text Content
  6. MinorLevel ADecorative image is not hidden from assistive technologyWCAG 1.1.1 - Non-text Content
  7. SeriousLevel AAlt text is a raw filenameWCAG 1.1.1 - Non-text Content
  8. SeriousLevel AImage input is missing alt textWCAG 1.1.1 - Non-text Content
  9. SeriousLevel AObject element has no text alternativeWCAG 1.1.1 - Non-text Content
  10. MinorLevel AAlt text repeats adjacent visible textWCAG 1.1.1 - Non-text Content
  11. SeriousLevel Arole="img" element has no accessible textWCAG 1.1.1 - Non-text Content
  12. SeriousLevel ASVG image has no accessible labelWCAG 1.1.1 - Non-text Content
  13. CriticalLevel AManual / guidanceAudio element has no caption trackWCAG 1.2.1 - Audio-only and Video-only (Prerecorded)
  14. CriticalLevel AVideo is missing captionsWCAG 1.2.2 - Captions (Prerecorded)
  15. SeriousLevel AElement role is missing required child elementsWCAG 1.3.1 - Info and Relationships
  16. SeriousLevel AARIA element is missing a required parent roleWCAG 1.3.1 - Info and Relationships
  17. ModerateLevel ADefinition list structure is invalidWCAG 1.3.1 - Info and Relationships
  18. SeriousLevel ADefinition list item used outside a dl elementWCAG 1.3.1 - Info and Relationships
  19. CriticalLevel AForm input has no labelWCAG 1.3.1 - Info and Relationships
  20. SeriousLevel AList contains an element other than liWCAG 1.3.1 - Info and Relationships
  21. ModerateLevel AList items are not contained within a list elementWCAG 1.3.1 - Info and Relationships
  22. ModerateLevel AManual / guidanceRelated form inputs are missing fieldset and legendWCAG 1.3.1 - Info and Relationships
  23. ModerateLevel AHeading levels are skippedWCAG 1.3.1 - Info and Relationships
  24. SeriousLevel AHidden component exposed to screen readersWCAG 1.3.1 - Info and Relationships
  25. SeriousLevel AInput only uses placeholder as its labelWCAG 1.3.1 - Info and Relationships
  26. MinorLevel APresentational markup used instead of semantic elementsWCAG 1.3.1 - Info and Relationships
  27. ModerateLevel AManual / guidanceTable header scope value is invalidWCAG 1.3.1 - Info and Relationships
  28. ModerateLevel AManual / guidanceComplex data table is missing a captionWCAG 1.3.1 - Info and Relationships
  29. SeriousLevel ATable is missing header cellsWCAG 1.3.1 - Info and Relationships
  30. SeriousLevel ATable cell headers attribute references a missing idWCAG 1.3.1 - Info and Relationships
  31. SeriousLevel ATable header has no associated data cellsWCAG 1.3.1 - Info and Relationships
  32. ModerateLevel AManual / guidanceCSS flex or grid order does not match DOM orderWCAG 1.3.2 - Meaningful Sequence
  33. SeriousLevel AACSS locks content to a single orientationWCAG 1.3.4 - Orientation
  34. ModerateLevel AAForm field autocomplete attribute is missing or invalidWCAG 1.3.5 - Identify Input Purpose
  35. SeriousLevel ALink is not distinguishable from surrounding text without colorWCAG 1.4.1 - Use of Color
  36. SeriousLevel APage auto-plays audio or video with soundWCAG 1.4.2 - Audio Control
  37. SeriousLevel AAText does not have enough colour contrastWCAG 1.4.3 - Contrast (Minimum)
  38. SeriousLevel AAText contrast fails after a hover, focus, or state changeWCAG 1.4.3 - Contrast (Minimum)
  39. CriticalLevel AAViewport zoom is disabledWCAG 1.4.4 - Resize Text
  40. ModerateLevel AAAManual / guidanceText does not meet enhanced AAA contrast requirementsWCAG 1.4.6 - Contrast (Enhanced)
  41. SeriousLevel AAManual / guidanceUI component has insufficient contrastWCAG 1.4.11 - Non-text Contrast
  42. SeriousLevel AAText spacing overrides break the layoutWCAG 1.4.12 - Text Spacing
  43. SeriousLevel AAManual / guidanceContent on hover or focus cannot be dismissedWCAG 1.4.13 - Content on Hover or Focus

Operable

Operable rules35

These rules check that people can move through a page and use controls without getting trapped or losing their place. They affect keyboard users, switch device users, screen reader users, and anyone who depends on clear focus order, safe timing, predictable navigation, and reliable interaction patterns.

  1. SeriousLevel AFocus skipped an interactive elementWCAG 2.1.1 - Keyboard
  2. SeriousLevel AFrame with focusable content has no accessible nameWCAG 2.1.1 - Keyboard
  3. CriticalLevel AManual / guidanceInteractive element is not reachable by keyboardWCAG 2.1.1 - Keyboard
  4. ModerateLevel AScrollable region must be keyboard accessibleWCAG 2.1.1 - Keyboard
  5. SeriousLevel AServer-side image map is usedWCAG 2.1.1 - Keyboard
  6. SeriousLevel AFocus is trapped inside a componentWCAG 2.1.2 - No Keyboard Trap
  7. SeriousLevel AMeta refresh causes automatic page redirectWCAG 2.2.1 - Timing Adjustable
  8. SeriousLevel ASession times out without warningWCAG 2.2.1 - Timing Adjustable
  9. SeriousLevel APage contains a blinking or scrolling elementWCAG 2.2.2 - Pause, Stop, Hide
  10. SeriousLevel Amarquee element is usedWCAG 2.2.2 - Pause, Stop, Hide
  11. ModerateLevel AAAPage uses meta refresh with a time limitWCAG 2.2.4 - Interruptions
  12. CriticalLevel AManual / guidanceContent flashes more than 3 times per secondWCAG 2.3.1 - Three Flashes or Below Threshold
  13. ModerateLevel AAAPage animations have no reduced motion alternativeWCAG 2.3.3 - Animation from Interactions
  14. ModerateLevel APage has no skip navigation linkWCAG 2.4.1 - Bypass Blocks
  15. ModerateLevel ASkip link target is missing or not focusableWCAG 2.4.1 - Bypass Blocks
  16. ModerateLevel APage is missing a descriptive titleWCAG 2.4.2 - Page Titled
  17. MinorLevel AElement in the focus order has no matching interactive roleWCAG 2.4.3 - Focus Order
  18. SeriousLevel AModal opens without moving focus into itWCAG 2.4.3 - Focus Order
  19. ModerateLevel AModal is missing focus managementWCAG 2.4.3 - Focus Order
  20. SeriousLevel AManual check flagged an incorrect tab orderWCAG 2.4.3 - Focus Order
  21. ModerateLevel AElement has a positive tabindexWCAG 2.4.3 - Focus Order
  22. ModerateLevel ATab order doesn't match visual orderWCAG 2.4.3 - Focus Order
  23. SeriousLevel ALink must have discernible textWCAG 2.4.4, 4.1.2 - Link Purpose (In Context); Name, Role, Value
  24. MinorLevel ALink opens a file with no format or size warningWCAG 2.4.4 - Link Purpose (In Context)
  25. ModerateLevel ALink text is generic and gives no contextWCAG 2.4.4 - Link Purpose (In Context)
  26. ModerateLevel AAHeading is empty or contains only whitespaceWCAG 2.4.6 - Headings and Labels
  27. ModerateLevel AAHeading doesn't describe its sectionWCAG 2.4.6 - Headings and Labels
  28. ModerateLevel AALabel is ambiguous without surrounding contextWCAG 2.4.6 - Headings and Labels
  29. ModerateLevel AALabel doesn't make sense in contextWCAG 2.4.6 - Headings and Labels
  30. SeriousLevel AAFocused element has no visible focus indicatorWCAG 2.4.7 - Focus Visible
  31. MinorLevel AAALinks with the same accessible name go to different placesWCAG 2.4.9 - Link Purpose (Link Only)
  32. SeriousLevel AAFocused element is hidden behind a sticky header or footerWCAG 2.4.11 - Focus Not Obscured (Minimum)
  33. SeriousLevel AAManual / guidanceFocus indicator does not meet minimum size or contrastWCAG 2.4.13 - Focus Appearance
  34. SeriousLevel AADragging interaction has no pointer alternativeWCAG 2.5.7 - Dragging Movements
  35. ModerateLevel AAInteractive element is too small to tap accuratelyWCAG 2.5.8 - Target Size (Minimum)

Understandable

Understandable rules16

These rules make interfaces easier to read, predict, and recover from when something goes wrong. They affect people with cognitive, language, learning, memory, or attention needs, and cover page language, labels, instructions, errors, and behaviour that should not surprise users.

  1. SeriousLevel APage language is not setWCAG 3.1.1 - Language of Page
  2. SeriousLevel Alang attribute has an invalid valueWCAG 3.1.1 - Language of Page
  3. ModerateLevel Alang and xml:lang do not matchWCAG 3.1.1 - Language of Page
  4. SeriousLevel APage is missing a language declarationWCAG 3.1.1 - Language of Page
  5. ModerateLevel AManual / guidanceHTML lang attribute is not a valid BCP 47 tagWCAG 3.1.1 - Language of Page
  6. SeriousLevel AAlang attribute on an element has an invalid valueWCAG 3.1.2 - Language of Parts
  7. SeriousLevel AManual / guidanceContext change happens when element receives focusWCAG 3.2.1 - On Focus
  8. ModerateLevel AManual / guidanceLink opens in a new tab without warning textWCAG 3.2.2 - On Input
  9. SeriousLevel AManual / guidanceContext change happens on input without warningWCAG 3.2.2 - On Input
  10. ModerateLevel AAManual / guidanceNavigation order is inconsistent across pagesWCAG 3.2.3 - Consistent Navigation
  11. ModerateLevel AManual / guidanceHelp mechanism location is inconsistent across pagesWCAG 3.2.6 - Consistent Help
  12. SeriousLevel AManual / guidanceForm error is not clearly identifiedWCAG 3.3.1 - Error Identification
  13. ModerateLevel AForm field has more than one labelWCAG 3.3.2 - Labels or Instructions
  14. SeriousLevel AAManual / guidanceError message does not explain how to fix inputWCAG 3.3.3 - Error Suggestion
  15. ModerateLevel AManual / guidanceUser must re-enter information already provided in the same processWCAG 3.3.7 - Redundant Entry
  16. SeriousLevel AAManual / guidanceAccessible authentication requires cognitive function testWCAG 3.3.8 - Accessible Authentication (Minimum)

Robust

Robust rules28

These rules make sure the underlying HTML and accessibility tree can be interpreted consistently by browsers and assistive technology. They cover valid semantics, accessible names, roles, relationships, and markup patterns that screen readers, browser tools, and automation rely on.

  1. ModerateLevel AManual / guidanceDuplicate ID attributes found on the pageWCAG 4.1.1 - Parsing
  2. SeriousLevel AManual / guidanceDuplicate id on active, focusable elementsWCAG 4.1.1 - Parsing
  3. ModerateLevel AARIA attribute is not allowed for this roleWCAG 4.1.2 - Name, Role, Value
  4. SeriousLevel Aaria-braillelabel or aria-brailleroledescription has no equivalentWCAG 4.1.2 - Name, Role, Value
  5. SeriousLevel AARIA command has no accessible nameWCAG 4.1.2 - Name, Role, Value
  6. SeriousLevel AARIA attribute is not valid for the current role valueWCAG 4.1.2 - Name, Role, Value
  7. SeriousLevel AElement uses a deprecated ARIA roleWCAG 4.1.2 - Name, Role, Value
  8. CriticalLevel Aaria-hidden="true" is present on the document bodyWCAG 4.1.2 - Name, Role, Value
  9. CriticalLevel AFocusable element is inside an aria-hidden containerWCAG 4.1.2 - Name, Role, Value
  10. SeriousLevel AARIA input field has no accessible nameWCAG 4.1.2 - Name, Role, Value
  11. SeriousLevel AARIA attribute is prohibited for this roleWCAG 4.1.2 - Name, Role, Value
  12. CriticalLevel ARequired ARIA attribute is missingWCAG 4.1.2 - Name, Role, Value
  13. CriticalLevel AARIA role is invalidWCAG 4.1.2 - Name, Role, Value
  14. SeriousLevel AARIA toggle field has no accessible nameWCAG 4.1.2 - Name, Role, Value
  15. SeriousLevel AARIA tooltip has no accessible nameWCAG 4.1.2 - Name, Role, Value
  16. CriticalLevel AARIA attribute name is not validWCAG 4.1.2 - Name, Role, Value
  17. CriticalLevel AARIA attribute has an invalid valueWCAG 4.1.2 - Name, Role, Value
  18. CriticalLevel AButton or link has no accessible nameWCAG 4.1.2 - Name, Role, Value
  19. CriticalLevel ADuplicate id used in an ARIA referenceWCAG 4.1.2 - Name, Role, Value
  20. SeriousLevel Aiframe has no accessible titleWCAG 4.1.2 - Name, Role, Value
  21. SeriousLevel AFrame title is not uniqueWCAG 4.1.2 - Name, Role, Value
  22. CriticalLevel AInput button has no accessible nameWCAG 4.1.2 - Name, Role, Value
  23. SeriousLevel AInteractive controls are nested inside each otherWCAG 4.1.2 - Name, Role, Value
  24. ModerateLevel AManual / guidanceExpandable control is missing aria-expandedWCAG 4.1.2 - Name, Role, Value
  25. SeriousLevel AManual / guidanceDialog or modal has no accessible nameWCAG 4.1.2 - Name, Role, Value
  26. CriticalLevel AInteractive element has no accessible name at allWCAG 4.1.2 - Name, Role, Value
  27. SeriousLevel ASelect element has no accessible nameWCAG 4.1.2 - Name, Role, Value
  28. SeriousLevel AAManual / guidanceStatus messages are not announced to assistive techWCAG 4.1.3 - Status Messages