Level A · WCAG 2.0
3.3.1 Error Identification
When input is rejected, the error is identified in text and the field at fault is named.
Partly automated Some failures are detectable, others need judgement.
How it fails in practice
A form that turns three borders red and says nothing else. A screen-reader user is told the form failed and not which field or why.
How to fix it
Describe the error in text next to the field, associate it with aria-describedby, and add an error summary at the top that links to each field.
At a glance
- Level
- Level A — the minimum. Failing one of these usually makes something impossible rather than merely hard.
- Principle
- Understandable
- Guideline
- 3.3 Input Assistance
- Added in
- WCAG 2.0
- EN 301 549
- 9.3.3.1
- Automated check
- Partly automated
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, each form on one page per template is submitted empty and with wrong test values — stopped in the browser unless an Admin allows submissions — and an error not named in text is reported; an error shown beside its field but not tied to it is detectable too. Whether the wording actually explains the problem is a judgement — and usually the part that is wrong.
Where it matters most
The guides that list it among the criteria to check first.
- BFSG for online shops
- BFSG for banking and financial services
- BFSG for ticketing and passenger transport
- BFSG for telecommunications services
- Shopware accessibility and the BFSG
- Shopify accessibility and the BFSG
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.