( 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
- 48
- Critical checks
- 17
No matching rules. Clear a filter or try a different search term.
Perceivable
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.
- Serious Level A ARIA meter has no accessible name
- Serious Level A ARIA progressbar has no accessible name
- Critical Level A Image is missing alt text
- Serious Level A Alt text is a filename or placeholder
- Serious Level A Image map area element is missing alt text
- Minor Level A Decorative image is not hidden from assistive technology
- Serious Level A Alt text is a raw filename
- Serious Level A Image input is missing alt text
- Serious Level A Object element has no text alternative
- Minor Level A Alt text repeats adjacent visible text
- Serious Level A role="img" element has no accessible text
- Serious Level A SVG image has no accessible label
- Critical Level A Manual / guidance Audio element has no caption track
- Critical Level A Video is missing captions
- Serious Level A Element role is missing required child elements
- Serious Level A ARIA element is missing a required parent role
- Moderate Level A Definition list structure is invalid
- Serious Level A Definition list item used outside a dl element
- Critical Level A Form input has no label
- Serious Level A List contains an element other than li
- Moderate Level A List items are not contained within a list element
- Moderate Level A Manual / guidance Related form inputs are missing fieldset and legend
- Moderate Level A Heading levels are skipped
- Serious Level A Hidden component exposed to screen readers
- Serious Level A Input only uses placeholder as its label
- Minor Level A Presentational markup used instead of semantic elements
- Moderate Level A Manual / guidance Table header scope value is invalid
- Moderate Level A Manual / guidance Complex data table is missing a caption
- Serious Level A Table is missing header cells
- Serious Level A Table cell headers attribute references a missing id
- Serious Level A Table header has no associated data cells
- Moderate Level A Manual / guidance CSS flex or grid order does not match DOM order
- Serious Level AA CSS locks content to a single orientation
- Moderate Level AA Form field autocomplete attribute is missing or invalid
- Serious Level A Link is not distinguishable from surrounding text without color
- Serious Level A Page auto-plays audio or video with sound
- Serious Level AA Text does not have enough colour contrast
- Serious Level AA Text contrast fails after a hover, focus, or state change
- Critical Level AA Viewport zoom is disabled
- Moderate Level AAA Manual / guidance Text does not meet enhanced AAA contrast requirements
- Serious Level AA Manual / guidance UI component has insufficient contrast
- Serious Level AA Text spacing overrides break the layout
- Serious Level AA Manual / guidance Content on hover or focus cannot be dismissed
Operable
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.
- Serious Level A Focus skipped an interactive element
- Serious Level A Frame with focusable content has no accessible name
- Critical Level A Manual / guidance Interactive element is not reachable by keyboard
- Moderate Level A Scrollable region must be keyboard accessible
- Serious Level A Server-side image map is used
- Serious Level A Focus is trapped inside a component
- Serious Level A Meta refresh causes automatic page redirect
- Serious Level A Session times out without warning
- Serious Level A Page contains a blinking or scrolling element
- Serious Level A marquee element is used
- Moderate Level AAA Page uses meta refresh with a time limit
- Critical Level A Manual / guidance Content flashes more than 3 times per second
- Moderate Level AAA Page animations have no reduced motion alternative
- Moderate Level A Page has no skip navigation link
- Moderate Level A Skip link target is missing or not focusable
- Moderate Level A Page is missing a descriptive title
- Minor Level A Element in the focus order has no matching interactive role
- Serious Level A Modal opens without moving focus into it
- Moderate Level A Modal is missing focus management
- Serious Level A Manual check flagged an incorrect tab order
- Moderate Level A Element has a positive tabindex
- Moderate Level A Tab order doesn't match visual order
- Serious Level A Link must have discernible text
- Minor Level A Link opens a file with no format or size warning
- Moderate Level A Link text is generic and gives no context
- Moderate Level AA Heading is empty or contains only whitespace
- Moderate Level AA Heading doesn't describe its section
- Moderate Level AA Label is ambiguous without surrounding context
- Moderate Level AA Label doesn't make sense in context
- Serious Level AA Focused element has no visible focus indicator
- Minor Level AAA Links with the same accessible name go to different places
- Serious Level AA Manual / guidance Focus indicator does not meet minimum size or contrast
- Serious Level AA Focused element is hidden behind a sticky header or footer
- Serious Level AA Dragging interaction has no pointer alternative
- Moderate Level AA Interactive element is too small to tap accurately
Understandable
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.
- Serious Level A Page language is not set
- Serious Level A lang attribute has an invalid value
- Moderate Level A lang and xml:lang do not match
- Serious Level A Page is missing a language declaration
- Moderate Level A Manual / guidance HTML lang attribute is not a valid BCP 47 tag
- Serious Level AA lang attribute on an element has an invalid value
- Serious Level A Manual / guidance Context change happens when element receives focus
- Moderate Level A Manual / guidance Link opens in a new tab without warning text
- Serious Level A Manual / guidance Context change happens on input without warning
- Moderate Level AA Manual / guidance Navigation order is inconsistent across pages
- Moderate Level A Manual / guidance Help mechanism location is inconsistent across pages
- Serious Level A Manual / guidance Form error is not clearly identified
- Moderate Level A Form field has more than one label
- Serious Level AA Manual / guidance Error message does not explain how to fix input
- Moderate Level A Manual / guidance User must re-enter information already provided in the same process
- Serious Level AA Manual / guidance Accessible authentication requires cognitive function test
Robust
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.
- Serious Level A Manual / guidance Duplicate id on active, focusable elements
- Moderate Level A Manual / guidance Duplicate ID attributes found on the page
- Moderate Level A ARIA attribute is not allowed for this role
- Serious Level A aria-braillelabel or aria-brailleroledescription has no equivalent
- Serious Level A ARIA command has no accessible name
- Serious Level A ARIA attribute is not valid for the current role value
- Serious Level A Element uses a deprecated ARIA role
- Critical Level A aria-hidden="true" is present on the document body
- Critical Level A Focusable element is inside an aria-hidden container
- Serious Level A ARIA input field has no accessible name
- Serious Level A ARIA attribute is prohibited for this role
- Critical Level A Required ARIA attribute is missing
- Critical Level A ARIA role is invalid
- Serious Level A ARIA toggle field has no accessible name
- Serious Level A ARIA tooltip has no accessible name
- Critical Level A ARIA attribute has an invalid value
- Critical Level A ARIA attribute name is not valid
- Critical Level A Button or link has no accessible name
- Critical Level A Duplicate id used in an ARIA reference
- Serious Level A Frame title is not unique
- Serious Level A iframe has no accessible title
- Critical Level A Input button has no accessible name
- Serious Level A Interactive controls are nested inside each other
- Moderate Level A Manual / guidance Expandable control is missing aria-expanded
- Serious Level A Manual / guidance Dialog or modal has no accessible name
- Critical Level A Interactive element has no accessible name at all
- Serious Level A Select element has no accessible name
- Serious Level AA Manual / guidance Status messages are not announced to assistive tech