Check library
76 WCAG 2.2 accessibility checks for WordPress
64 checks run on your content as you write, and 12 more check the whole rendered page in review mode — all in the free plugin, covering 27 WCAG success criteria. Each page below explains what the check catches, why it matters, and how to fix it in WordPress.
- Error
- 19
- Needs review
- 36
- Tip
- 21
Default severities for the free 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 generic word | 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) | 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) | 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) | Needs review | 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 |
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) | Needs review | Guided fix |
| GIF may be animated | 2.2.2 Pause, Stop, Hide (A) | 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 |
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) | 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
These run on the finished page — theme, menus, footer and all — from the Whole page tab in review mode, on demand and one page at a time. Lumtera Pro also re-checks the title, language, skip link and zoom of up to 25 key pages on a schedule, as a logged-out visitor.
| Check | WCAG | Default | In Lumtera |
|---|---|---|---|
| Page title is missing or generic | 2.4.2 Page Titled (A) | Error | Whole page review |
| Page language is missing or invalid | 3.1.1 Language of Page (A) | Error | Whole page review |
| Page headings are missing an H1 or skip levels | 1.3.1 Info and Relationships (A) | Needs review | Whole page review |
| Page landmarks are missing or share a name | 1.3.1 Info and Relationships (A) | Needs review | Whole page review |
| No working way to skip to the main content | 2.4.1 Bypass Blocks (A) | Needs review | Whole page review |
| Zooming is disabled | 1.4.4 Resize Text (AA) | Error | Whole page review |
| Page scrolls sideways | 1.4.10 Reflow (AA) | Needs review | Whole page review |
| Text has low contrast on the live page | 1.4.3 Contrast (Minimum) (AA) | Error | Whole page review |
| Links look the same as the text around them | 1.4.1 Use of Color (A) | Error | Whole page review |
| Small, crowded click targets | 2.5.8 Target Size (Minimum) (AA) | Needs review | Whole page review |
| Focus outline removed in CSS | 2.4.7 Focus Visible (AA) | Needs review | Whole page review |
| Sticky bar can hide the keyboard focus | 2.4.11 Focus Not Obscured (Minimum) (AA) | Needs review | Whole page review |
About the checks
Something else on your mind? Contact support
Do these checks cover all of WCAG 2.2?
No automated tool can. Many success criteria — meaningful sequence, keyboard traps in custom widgets, whether alt text is accurate — need a person. Lumtera covers the problems that can be found reliably in content and pages, and Lumtera Pro's reports list every A and AA criterion that still needs a manual check.
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.
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 64 checks, the editor sidebar, Elementor panel and site report — free, with no account and no page limits.