Level AUnderstandable
3.3.1

Error Identification

When a form field is wrong, say so in clear text, and point to the exact field, not just a red border.

In plain English

When someone fills in a form wrong, you have to tell them, in words. A red outline around the field is not telling them anything if they cannot see colour, cannot see at all, or do not notice it. The message must say what is wrong (“Enter a valid email address”) and make clear which field it belongs to.

This matters most exactly where it hurts most: checkout. A blocked purchase that gives no readable reason is a lost sale and a common lawsuit complaint.

Who this is for

  • Screen-reader users, who need the error spoken, tied to the field.
  • Colour-blind users, for whom a red border alone is invisible.
  • Everyone, who benefits from a clear “here is what to fix”.

What “good” looks like

Describe the error in text and wire it to the field.

<label for="email">Email</label>
<input id="email" type="email" aria-invalid="true" aria-describedby="email-err">
<p id="email-err">Enter a valid email address, like you@store.com.</p>

Where stores get it wrong

Checkout fields that only turn red, a generic “something went wrong” with no field named, and errors announced by colour or a small icon alone. These are high-risk on the path to purchase and appear in every self-check and on the common failures list.

How to meet it

Techniques the W3C accepts as sufficient (summarized). Follow a link for the full method.

Frequently asked questions

What does error identification require?+

Success Criterion 3.3.1 (Level A) says that when a form input error is detected, the item in error must be identified and the error described to the user in text, not signalled by colour or an icon alone.

Why isn't a red border enough?+

A red border relies on colour and sight. A colour-blind or screen-reader user gets nothing from it. The error must be stated in words ('Enter a valid email address') and connected to the specific field so everyone can tell what went wrong and where.

How do I connect an error message to its field accessibly?+

Put the error text next to the field, associate it with aria-describedby, and mark the field with aria-invalid="true". Moving focus to the first error, or listing errors at the top with links, also helps.

Reference

This is a plain-language explainer. The authoritative source is the W3C Web Content Accessibility Guidelines (WCAG) 2.2.

WCAG 2.2 © W3C. Excerpts are paraphrased; see the linked documents for the normative text.

Not sure if your store passes 3.3.1?

A human auditor checks this and every other criterion against your live store, and documents the result.

Book an audit