WCAG 4.1.3 Status Messages
Success Criterion 4.1.3 requires that status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technology without receiving focus. It's a Level AA criterion under Guideline 4.1 (Compatible), added in WCAG 2.1.
The problem this solves
A lot of modern web interactions update the page without a full reload — "Item added to cart," "3 new notifications," "Your changes have been saved," a live search result count updating as you type. A sighted user sees these appear visually. A screen reader user, whose focus hasn't moved anywhere, has no way to know the update happened at all unless the page specifically announces it — the update can appear and disappear entirely outside their awareness.
Why "without receiving focus" matters
The criterion specifically requires this WITHOUT moving keyboard focus, because forcibly moving focus to every status update would be its own disruptive violation (interrupting whatever the user was doing, similar to the problem 3.2.1 On Focus and 3.2.2 On Input protect against). The right mechanism announces the message alongside whatever the user is currently doing, without redirecting their attention.
The fix: ARIA live regions
<div role="status" aria-live="polite">
Item added to cart
</div>
aria-live="polite" tells assistive technology to announce the content of this region when it changes, without interrupting whatever the user is currently doing — the announcement queues politely rather than cutting off in-progress speech. role="status" (or role="alert" for more urgent messages, which uses aria-live="assertive" and interrupts immediately) are shorthand roles that imply the appropriate live-region behavior automatically.
Common places this is missing
- Toast/snackbar notifications ("Saved successfully") that appear and auto-dismiss visually with no live-region announcement at all
- Live search results updating a result count as the user types, with no announcement of the new count
- Form validation summaries that appear after submission without being wired into a live region, relying only on visual placement near the top of the form
A note on overuse
Live regions are easy to overuse — wiring too many minor UI updates into aria-live="assertive" in particular can create a barrage of interruptions that's worse than no announcement at all. Reserve live regions for genuinely meaningful status changes, and default to polite rather than assertive unless the message is truly urgent.
Common questions
- What is WCAG 4.1.3 Status Messages?
- A Level AA criterion: messages conveying status (success, errors, progress, result counts) must be programmatically exposed so screen readers announce them without the user moving focus.
- How do I implement 4.1.3?
- Use an appropriate ARIA live region (aria-live, role='status', or role='alert') so updates are announced automatically.
- What is a common violation?
- A '3 results found' or 'Item added to cart' message shown visually but never announced, so screen reader users don't know anything changed.
Related articles
Want to see how your own site scores?
Run a free accessibility scan