How to use this library
Start with the highest-severity findings in a report. Open the matching issue page, fix the obvious code or content problem, then keep the manual review note in your QA checklist. These pages are practical guidance, not legal advice, WCAG certification, or a guarantee of conformance.
Page structure
Missing page title
The browser title does not clearly identify the page.
Missing language
The html element does not declare the page language.
Missing main landmark
The page does not expose a clear main content region.
Zoom restricted
Viewport settings may prevent users from zooming comfortably.
No skip link
The page does not appear to have an obvious skip link.
No statement link
The page does not appear to link to an accessibility statement.
Headings
Missing H1
The page does not have a main heading.
Multiple H1s
The page uses more than one H1 heading.
Skipped headings
A heading jumps over a level, such as H2 to H4.
Empty heading
A heading element is present but has no readable text.
Generic heading
A heading uses text that is generic, vague, or repeated across multiple headings.
Long heading
A heading is over 180 characters long, which may make it harder to use as a navigation signal.
Images and alt text
Missing image alt
An image does not have an alt attribute.
Linked empty alt
An image used as a link is marked decorative.
Weak linked image alt
An image used as a link has generic or filename-like alt text.
Empty alt text
The image is marked as decorative with alt="".
Filename alt
The alt text appears to be a file name or asset label.
Repeated alt
Several images use the same alt text.
Generic alt
The image alt text says only something like image, photo, graphic, banner, screenshot, icon, or logo.
Forms
Unlabeled field
A visible form field does not appear to have a usable label.
Placeholder label
A form field has placeholder text but no persistent label detected.
Missing legend
A group of radio buttons or checkboxes shares a name but does not appear to be wrapped in a fieldset with a legend.
Unclear required
A form control uses aria-required but it is not obvious that a visible required indicator is present.
Missing error association
A form field uses aria-invalid but does not appear to have an error message connected through aria-describedby.
Missing autocomplete
A form field that appears to be a contact detail does not have an autocomplete attribute.
Links and buttons
Empty link
A link appears to have no readable name.
Generic link
The link text is vague, such as click here or read more.
Ambiguous repeated link
The same link label is reused for different URLs.
Unnamed button
A button appears to have no readable label.
ARIA and IDs
Duplicate IDs
The same id value appears more than once on the page.
Empty aria-label
An element has aria-label, but the value is empty.
Invalid role
An element uses an ARIA role this checker does not recognize.
Hidden focusable content
A container hidden from assistive technology appears to include focusable controls.
Embedded content
Untitled iframe
An embedded frame does not have a title.
Colour contrast
Low contrast
Inline styles suggest text may not have enough contrast.