3.3.1 Error Identification
Level A · added in WCAG 2.0
When your site automatically detects an input error, it must point out the field in error and describe the problem in text. A red border or an icon alone is not enough.
Who it helps
Screen reader users cannot see red borders or icons, so they need the error in text tied to the field. People with color blindness, low vision or cognitive disabilities also need clear words to understand what went wrong.
How to meet it
- Show a text message next to each field in error that says what is wrong, such as "Enter an email address like [email protected]".
- Connect the message to its field with aria-describedby, and set aria-invalid="true" on the field.
- After a failed submit, show an error summary at the top that links to each field, and move focus to it.
- Use more than color to mark errors, such as an icon plus the word "Error".
- Remove the error message and aria-invalid as soon as the user fixes the value.
Examples
<label for="email">Email</label>
<input id="email" type="email" style="border: 2px solid red;"><p class="error">There was a problem with your submission.</p>
<label for="email">Email</label>
<input id="email" type="email"><label for="email">Email</label>
<input id="email" type="email" aria-invalid="true"
aria-describedby="email-error" style="border: 2px solid #b00020;">
<p id="email-error" class="error">
Error: Enter an email address like [email protected]
</p>Can a scanner detect this?
No
axe-core has no rule for this criterion, because errors only appear after someone submits or edits a form. A person must trigger each error and check that the field is identified and the problem is described in text.
No automated rule tests this criterion. Check it by hand.
Common mistakes
- Marking errors only with color, an icon or a shake animation.
- Showing a single generic message without saying which fields are wrong.
- Displaying the error visually but not connecting it to the field, so screen readers never announce it.
- Clearing everything the user typed when validation fails.
Related criteria
Check your own page
See which automated WCAG checks your page fails, with the failing elements and how to fix them.
Reviewed November 2, 2026