Check library
69 content checks and 33 whole-page checks for WordPress
Every check in the free plugin, mapped to WCAG 2.2. The content checks run as you write; the whole-page checks run on the rendered page in review mode, keyboard included. Together they cover 37 of the 55 WCAG 2.2 A and AA success criteria automatically, fully or in part. Covering a criterion is not the same as meeting it: the rest need a person, and the guided checklists walk you through them.
Updated for Lumtera 1.2.2 and Lumtera Pro 1.1.1.
- Error
- 16
- Needs review
- 29
- Tip
- 24
Default severities of the 69 content checks. Every check can be set to Error, Needs review, Tip or Off on your site.
Images
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Image has no alternative text | 1.1.1 Non-text Content (A) | Error | Alt text shortcut |
| Image has empty alt text | 1.1.1 Non-text Content (A) | Needs review | Guided fix |
| Alt text looks like a file name | 1.1.1 Non-text Content (A) | Needs review | Alt text shortcut |
| Alt text repeats "image of" | 1.1.1 Non-text Content (A) | Tip | Alt text shortcut |
| Alt text is very long | 1.1.1 Non-text Content (A) | Tip | Alt text shortcut |
| Image map area has no text | 1.1.1 Non-text Content (A) | Error | Guided fix |
| Image button has no text | 1.1.1 Non-text Content (A) | Error | Guided fix |
| Alt text is a placeholder | 1.1.1 Non-text Content (A) | Needs review | Alt text shortcut |
| Alt text repeats nearby text | 1.1.1 Non-text Content (A) | Tip | Guided fix |
Links & buttons
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Link has no text | 2.4.4 Link Purpose (In Context) (A) also 4.1.2 | Error | Guided fix |
| Link text is vague | 2.4.4 Link Purpose (In Context) (A) | Needs review | Guided fix |
| Link does not go anywhere | 4.1.2 Name, Role, Value (A) | Needs review | Guided fix |
| Link opens a new tab without warning | 3.2.5 Change on Request (AAA) | Tip | One-click fix |
| Button has no text | 4.1.2 Name, Role, Value (A) | Error | Guided fix |
| Link opens a document file | 2.4.4 Link Purpose (In Context) (A) | Needs review | Guided fix |
| Link text is a web address | 2.4.4 Link Purpose (In Context) (A) | Tip | Guided fix |
| Same link text goes to different pages | 2.4.4 Link Purpose (In Context) (A) | Needs review | Guided fix |
| Image and text link go to the same page | 2.4.4 Link Purpose (In Context) (A) | Tip | Guided fix |
| In-page link goes nowhere | 2.4.4 Link Purpose (In Context) (A) | Error | Guided fix |
| Link or button may be too small to tap | 2.5.8 Target Size (Minimum) (AA) | Needs review | Guided fix |
Headings
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Heading is empty | 1.3.1 Info and Relationships (A) | Error | One-click fix |
| Heading level is skipped | 1.3.1 Info and Relationships (A) | Needs review | One-click fix |
| Content uses an H1 heading | 1.3.1 Info and Relationships (A) | Tip | One-click fix |
| Bold text may be a heading | 1.3.1 Info and Relationships (A) | Tip | One-click fix |
| Heading is very long | 1.3.1 Info and Relationships (A) | Tip | Guided fix |
| Long content has no subheadings | 2.4.10 Section Headings (AAA) | Tip | Guided fix |
Forms
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Form field has no label | 4.1.2 Name, Role, Value (A) also 1.3.1, 3.3.2 | Error | Guided fix |
| Form field has more than one label | 1.3.1 Info and Relationships (A) | Needs review | Guided fix |
| Options are not grouped with their question | 1.3.1 Info and Relationships (A) | Needs review | Guided fix |
| Personal-data field has no autocomplete | 1.3.5 Identify Input Purpose (AA) | Tip | Guided fix |
| Form asks for the same email twice | 3.3.7 Redundant Entry (A) | Tip | Guided fix |
| Password field blocks pasting or password managers | 3.3.8 Accessible Authentication (Minimum) (AA) | Error | Guided fix |
| Check the CAPTCHA has an accessible alternative | 3.3.8 Accessible Authentication (Minimum) (AA) | Needs review | Guided fix |
| Dropdown changes page when an option is chosen | 3.2.2 On Input (A) | Needs review | Guided fix |
| Dragging may be the only way to use this | 2.5.7 Dragging Movements (AA) also 2.1.1 | Needs review | Guided fix |
| Autocomplete value is not valid | 1.3.5 Identify Input Purpose (AA) | Error | Guided fix |
Tables
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Table has no header cells | 1.3.1 Info and Relationships (A) | Needs review | One-click fix |
| Table header cell is empty | 1.3.1 Info and Relationships (A) | Tip | Guided fix |
| Table may be used for layout | 1.3.1 Info and Relationships (A) | Needs review | Guided fix |
| Table has empty rows | 1.3.1 Info and Relationships (A) | Tip | Guided fix |
Audio, video & embeds
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Media plays sound automatically | 1.4.2 Audio Control (A) | Error | Guided fix |
| Moving video cannot be paused | 2.2.2 Pause, Stop, Hide (A) | Needs review | Guided fix |
| Video has no captions track | 1.2.2 Captions (Prerecorded) (A) | Needs review | Guided fix |
| Check audio has a transcript | 1.2.1 Audio-only and Video-only (Prerecorded) (A) | Needs review | Guided fix |
| Embedded frame has no title | 4.1.2 Name, Role, Value (A) | Error | Guided fix |
| Embedded frames share the same title | 4.1.2 Name, Role, Value (A) | Needs review | Guided fix |
| Scrolling or blinking text | 2.2.2 Pause, Stop, Hide (A) | Error | Guided fix |
| Check captions on embedded video | 1.2.2 Captions (Prerecorded) (A) | Needs review | Guided fix |
| Check that the slider can be paused | 2.2.2 Pause, Stop, Hide (A) | Tip | Guided fix |
| Animated image may need a way to pause | 2.2.2 Pause, Stop, Hide (A) also 2.3.1 | Needs review | Guided fix |
Structure
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Text is formatted as a list by hand | 1.3.1 Info and Relationships (A) | Tip | One-click fix |
| List item is outside a list | 1.3.1 Info and Relationships (A) | Needs review | Guided fix |
| Empty paragraphs used for spacing | 1.3.1 Info and Relationships (A) | Tip | One-click fix |
| Emoji used as bullets or icons | 1.3.1 Info and Relationships (A) | Tip | Guided fix |
| Page refreshes or redirects on a timer | 2.2.1 Timing Adjustable (A) also 3.2.5 | Error | Guided fix |
| Instruction may rely on shape, position, color or sound | 1.3.3 Sensory Characteristics (A) also 1.4.1 | Tip | Guided fix |
Text & readability
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Text is justified | 1.4.8 Visual Presentation (AAA) | Tip | Guided fix |
| Underlined text looks like a link | 1.3.1 Info and Relationships (A) | Tip | Guided fix |
| Text is very small | 1.4.4 Resize Text (AA) | Tip | Guided fix |
| Long passage in capital letters | 1.4.8 Visual Presentation (AAA) | Tip | Guided fix |
Color
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Text color has low contrast | 1.4.3 Contrast (Minimum) (AA) | Error | Guided fix |
ARIA & keyboard
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Hidden element can still be focused | 4.1.2 Name, Role, Value (A) also 2.4.3 | Error | Guided fix |
| Unknown ARIA role | 4.1.2 Name, Role, Value (A) | Needs review | Guided fix |
| Label points to a missing element | 1.3.1 Info and Relationships (A) | Needs review | Guided fix |
| Duplicate ID | 4.1.2 Name, Role, Value (A) | Tip | Guided fix |
| Positive tabindex changes the focus order | 2.4.3 Focus Order (A) | Needs review | Guided fix |
| Accessible name leaves out the visible text | 2.5.3 Label in Name (A) | Needs review | Guided fix |
| Only a tooltip names this control | 4.1.2 Name, Role, Value (A) | Needs review | Guided fix |
Language
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Language code is invalid | 3.1.2 Language of Parts (AA) | Needs review | Guided fix |
Whole page
Free. These 33 checks run on the finished page — theme, menus, footer and all — in review mode, on demand and one page at a time: the Whole page tab, and the Keyboard tab for the keyboard walk and the widget tests. Some rows cover a few closely related checks. Lumtera Pro runs the same checks on many pages, at desktop and phone width, on a schedule.
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Page title is missing or generic | 2.4.2 Page Titled (A) | Error | Whole page tab |
| Page language is missing or not valid | 3.1.1 Language of Page (A) | Error | Whole page tab |
| Page headings are missing an H1 or skip levels | 1.3.1 Info and Relationships (A) | Needs review | Whole page tab |
| Page landmarks are missing or share a name | 1.3.1 Info and Relationships (A) | Needs review | Whole page tab |
| No working way to skip to the main content | 2.4.1 Bypass Blocks (A) | Needs review | Whole page tab |
| Zooming is disabled | 1.4.4 Resize Text (AA) | Error | Whole page tab |
| Page scrolls sideways at this width | 1.4.10 Reflow (AA) | Needs review | Whole page tab |
| Text is cut off or overlaps when text spacing is increased | 1.4.12 Text Spacing (AA) | Needs review | Whole page tab |
| Items are shown in a different order from the page's HTML | 1.3.2 Meaningful Sequence (A) | Needs review | Whole page tab |
| Text has low contrast on the live page | 1.4.3 Contrast (Minimum) (AA) | Error | Whole page tab |
| Controls or icons are hard to see | 1.4.11 Non-text Contrast (AA) | Needs review | Whole page tab |
| Links look the same as the text around them | 1.4.1 Use of Color (A) | Error | Whole page tab |
| Small, crowded click target | 2.5.8 Target Size (Minimum) (AA) | Needs review | Whole page tab |
Keyboard and widgets
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| No visible keyboard focus | 2.4.7 Focus Visible (AA) | Needs review | Keyboard tab |
| Sticky bar hides the keyboard focus | 2.4.11 Focus Not Obscured (Minimum) (AA) | Needs review | Keyboard tab |
| Keyboard focus goes somewhere invisible | 2.4.7 Focus Visible (AA) also 2.4.3 | Error | Keyboard tab |
| Tab order jumps back up the page | 2.4.3 Focus Order (A) also 1.3.2 | Needs review | Keyboard tab |
| Focusing an element changes the page | 3.2.1 On Focus (A) | Error | Keyboard tab |
| Pop-up content on focus does not close with Escape | 1.4.13 Content on Hover or Focus (AA) | Needs review | Keyboard tab |
| Possible keyboard trap | 2.1.2 No Keyboard Trap (A) | Needs review | Keyboard tab |
| Focus indicator has low contrast | 1.4.11 Non-text Contrast (AA) | Needs review | Keyboard tab |
| Menu or disclosure toggle does not work as announced | 4.1.2 Name, Role, Value (A) also 2.1.1 | Error | Keyboard tab |
| Submenu opens on hover only | 2.1.1 Keyboard (A) | Needs review | Keyboard tab |
| Dialog or pop-up is hard to use with a keyboard | 2.4.3 Focus Order (A) also 4.1.2 | Needs review | Keyboard tab |
| Tabs do not work as tabs | 4.1.2 Name, Role, Value (A) also 2.1.1 | Error | Keyboard tab |
| Carousel to test with the keyboard | 2.2.2 Pause, Stop, Hide (A) also 2.1.1 | Needs review | Keyboard tab |
Pro page tests
These tests need Lumtera Pro, because they act on the page: they submit forms, hover and focus controls, watch carousels over time, or compare many pages. They run on the same engine as review mode.
Consistency across pages
| Check | WCAG | Default | Plan |
|---|---|---|---|
| Menus list their links in a different order on different pages | 3.2.3 Consistent Navigation (AA) | Needs review | Pro · Growth+ |
| Links to the same page have different names on different pages | 3.2.4 Consistent Identification (AA) | Needs review | Pro · Growth+ |
| Help is in a different place on different pages | 3.2.6 Consistent Help (A) | Needs review | Pro · Growth+ |
| No search box or site map on the pages checked | 2.4.5 Multiple Ways (AA) | Needs review | Pro · Growth+ |
States and motion
| Check | WCAG | Default | Plan |
|---|---|---|---|
| Text is hard to read on hover, focus or press | 1.4.3 Contrast (Minimum) (AA) | Needs review | Pro |
| Controls fade on hover, focus or press | 1.4.11 Non-text Contrast (AA) | Needs review | Pro |
| Carousel moves on its own | 2.2.2 Pause, Stop, Hide (A) | Needs review | Pro |
Form tests
| Check | WCAG | Default | Plan |
|---|---|---|---|
| Form errors are not announced to screen readers | 4.1.3 Status Messages (AA) also 3.3.1 | Needs review | Pro |
| No error appears when required fields are empty | 3.3.1 Error Identification (A) | Needs review | Pro |
| Fields with errors are not marked as invalid | 3.3.1 Error Identification (A) also 4.1.2 | Needs review | Pro |
| Error messages are not linked to their fields | 3.3.1 Error Identification (A) | Needs review | Pro |
| Focus does not move to the first error | 3.3.1 Error Identification (A) | Needs review | Pro |
| A field has no lasting label | 3.3.2 Labels or Instructions (A) | Needs review | Pro |
| Errors are shown by colour alone | 1.4.1 Use of Color (A) also 3.3.1 | Needs review | Pro |
| Error messages could say what to fix | 3.3.3 Error Suggestion (AA) | Tip | Pro |
How accurate are the checks?
In our tests against the W3C ACT Rules test cases, Lumtera found 98% of the failing examples at any severity (130 of 132), on the 21 ACT rules its checks cover. It reported 4 of the 222 passing examples as an error (1.8%). Items marked Needs review or Tip were not counted as errors, because they ask a person to decide. axe-core, run on the same pages, found more of the failures as errors and raised fewer false alarms; the full comparison is on the accuracy page.
How we tested: the ACT Rules test cases are small example pages published by the W3C, each marked as passing or failing a rule. We ran each example through Lumtera's content checks and through the whole-page checks in a real browser, with default settings. On-demand tests such as the keyboard walk and text spacing were not run. A failing example counts as found when a check mapped to that rule reports it at any severity.
A second test, in October 2026, ran every check on 529 pages that meet WCAG 2.2 AA or nearly so. After we checked each error by hand, the fixes in Lumtera 1.2.2 took the false alarms from 194 to 0 in review mode, with the same number of ACT failures found. Our own test, not an independent audit.
What this does not show: the test cases are small, focused examples, not real sites. The ACT rules Lumtera does not cover, and the WCAG criteria that need a person, are not in these numbers. No automated checker finds every barrier.
Run on September 27, 2026 with Lumtera 1.0.0.1 and the fixes released in 1.0.0.2. W3C: ACT Rules and their test cases
The full benchmark: results next to axe-core, the method and the gaps
About the checks
Something else on your mind? Contact support
Do these checks cover all of WCAG 2.2?
No automated tool can. With review mode, Lumtera's automated checks cover 37 of the 55 WCAG 2.2 A and AA criteria, fully or in part; the checks of saved content alone cover 25, Lumtera Pro's form tests bring it to 40, and its consistency checks on the Growth plan and up to 44. A check that covers a criterion looks at it; it does not prove the site meets it. Whether alt text is accurate or a task can be done with a screen reader needs a person, and the free guided checklists walk you through those tests.
What is the difference between Error, Needs review and Tip?
Errors are problems Lumtera is sure about. Needs review means a person has to decide — for example whether empty alt text is intentional. Tips are best practices that improve the experience but are not strict failures. A check can lower its confidence for one finding, never raise it.
Can I add my own checks?
Yes. Developers can register rule classes with the lumtera_rule_classes filter; they appear everywhere the built-in checks do.
Start with the free plugin today
All 69 content checks and 33 whole-page checks, fixes you approve with undo, and the site report — free, with no account and no page limits.