Pro page tests
Form errors are not announced to screen readers
WCAG 2.2 success criterion 4.1.3 Status Messages (Level AA)
- WCAG 2.2
- 4.1.3 Status Messages
- Also maps to
- 3.3.1 Error Identification
- Level
- AA
- Default severity
- Needs review
- Available in
- Pro
Updated for Lumtera 1.2.2 and Lumtera Pro 1.1.1.
Why does it matter?
When a contact form or checkout rejects a submission, sighted visitors see red messages appear. A screen reader user hears nothing, and may wait for a reply that will never come, or give up on the order.
Who it affects: Keyboard and screen reader users filling in forms, people with low vision who rely on clear hover and focus styles, people distracted or made unwell by motion, and anyone who finds their way around a site by its menus and help links.
What does Lumtera flag?
Found by Lumtera Pro's form tests: on the Forms card of Lumtera → Checks → Page checks, "Test form" submits a form with every field empty in a hidden frame and watches for three seconds. For review when errors appear but are not added to a live region that was already on the page, no role="alert" is shown, and focus does not move to them; or, when the page reloads with errors, focus does not move to them and the page title does not mention an error. Nothing is sent: fields are never filled in, spam traps and captchas are left alone, and a safety guard stops any email, form entry or order for about two minutes, only for you. Works with Contact Form 7, WPForms, Gravity Forms, the classic WooCommerce checkout, and plain HTML forms that post to the same page, admin-post.php or wp-comments-post.php, which are never allowed to leave the frame.
Check ID form-errors-not-announced, as shown in review mode and saved results.
How do I fix it in WordPress?
Put the error summary in an element with role="alert" (or aria-live="assertive") that is already on the page before the errors appear, or move keyboard focus to an error summary or to the first field with an error. Many form plugins have an accessibility setting for this; if yours does not, ask its developer.
Example
<!-- added only after the submit -->
<div class="form-errors">Please fix 2 fields.</div>
<!-- on the page from the start, filled in when errors appear -->
<div class="form-errors" role="alert">Please fix 2 fields.</div>
How do I check the fix?
- Run the page check again from Lumtera Pro's Page checks screen. The finding disappears once the page passes.
- Submit the form with the required fields empty, using only the keyboard and then a screen reader: the errors should be announced, focus should move to them, and each message should say what to fix. Hover over and Tab to links and buttons to see that they stay readable, and compare the menus on a few pages.
Check your pages with Lumtera
This test is part of Lumtera Pro, on every plan. It runs from the Page checks screen on the pages you choose, in your own browser, on the same engine as the free review mode.
Related checks
-
WCAG 3.3.1 · ANeeds review
No error appears when required fields are empty
-
WCAG 3.3.1 · ANeeds review
Fields with errors are not marked as invalid
-
WCAG 3.3.1 · ANeeds review
Error messages are not linked to their fields
-
WCAG 3.3.1 · ANeeds review
Focus does not move to the first error
-
WCAG 3.3.2 · ANeeds review
A field has no lasting label
-
WCAG 1.4.1 · ANeeds review
Errors are shown by colour alone
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.