Level AA · WCAG 2.0
3.3.3 Error Suggestion
When a form knows how to correct an error, the message says how — the format expected, the range allowed, the nearest valid choice.
Partly automated Some failures are detectable, others need judgement.
How it fails in practice
“Invalid input” under a date field that knows exactly which format it wants. “Password does not meet the requirements” without listing them. The form has the answer and keeps it to itself.
How to fix it
Write every validation message as the fix: “Enter the date as day, month and year, for example 21/03/1990.” The exception is where saying more would compromise security — which is why a login may say only that the details did not match.
At a glance
- Level
- Level AA — the level EN 301 549 requires, and therefore the level the BFSG and the EAA are measured against.
- Principle
- Understandable
- Guideline
- 3.3 Input Assistance
- Added in
- WCAG 2.0
- EN 301 549
- 9.3.3.3
- Automated check
- Partly automated
How to test it by hand
- Submit each validated field with a value in the wrong format: a date, an email address, a postcode, a phone number.
- Submit a value that is out of range or not on the list — a quantity of zero, a date in the past for a booking.
- Read each message on its own and ask whether you could correct the field from it without guessing.
- Check the message is tied to its field (
aria-describedby), so a screen reader reads the suggestion when focus returns to it.
In code
<label for="dob">Date of birth</label>
<input id="dob" name="dob" aria-invalid="true" aria-describedby="dob-error">
<p id="dob-error">Invalid input.</p>
<label for="dob">Date of birth</label>
<input id="dob" name="dob" aria-invalid="true" aria-describedby="dob-error">
<p id="dob-error">Enter the date as day, month and year, for example 21/03/1990.</p>
Partly automated
How far an automated check gets
A tool finds some failures here and cannot see the rest. A clean automated result means the checks that exist found nothing — not that the criterion is met. This is the gap that makes a green scan look like an accessible site, and it is where the keyboard agent, the agents still in development and a human reviewer do the remaining work.
On a crawl from an account, our form checks type wrong test values into the forms on one page per template, every write refused, and report an error that says the input is wrong but not how to correct it. What your server answers is only seen on a staging copy that allows submissions, and whether a suggestion helps is for a person to judge, making the mistakes on purpose.
Related criteria
Other criteria under the same guideline.
Find out which criteria your site fails
We scan up to 100 pages against WCAG 2.2 AA, send the keyboard agent through the page you name and email you the report — free, once, no strings.