The announcement must name the field and the reason
Aliases: named field error · generic invalid · specific announcement
What it is
Speaking is not enough. If the utterance is only “there is an error” or “please check the form,” people do not know which field or what to change. The announcement has to land on a field name and a reason, so recovery can choose a branch on the auditory channel too. Visual three-part copy that never enters the spoken string does not exist for a screen-reader user. This entry is about grain of the spoken text. It is not about when to speak.
Why it happens
Hearing is linear; it cannot glance at a top summary and then at a field. “Invalid” only fires an alarm that somewhere failed; the next step is still a blind search across every field. Putting the field name and the reason in one sentence (“phone number needs an area code”) loads target and fix into working memory at once, and a focus move has a destination. With several errors, announce the first plus the count, and leave the rest on their fields to be spoken when reached—do not swallow the list with “multiple errors.” A generic sentence also makes people treat it as a system fault and resubmit, rather than edit the input.
Where it stops holding
The field name must be the visible label, not an internal input_3. Cause goes only to actionable grain; do not speak a stack. After a language switch, the announcement must use the current-language label, or “specific” becomes noise. Password reasons must not be as specific as “missing one special character” if that helps guessing; they should still point at the field named password.
Applying it
- Write status messages or the focused field’s error as “label + reason”; ban a lone “something went wrong.”
- On multiple errors, the first utterance includes the count and the first field’s name; the rest are spoken when those fields receive focus.
- Check that the accessible description actually contains the reason, not only a visual red sentence beside the field.
- Verify by listening to the first announcement only, then asking “which one do I change, and why.” If field name or reason cannot be answered, grain is still a generic alarm.
Related
- Within the group: H3.11.1 Errors have to be announced, not merely drawn · H3.11.2 Color-only error states are silent to AT · H3.11.3 Announcing too early interrupts the keystroke
- Adjacent: H3.02 Three elements of error messages · H1.06 Error summaries · H1.15 Accessible form labeling
- Search terms:
field-level announcement·error description·accessible error