4.1.3 Status Messages
Status messages such as "Added to cart" or "5 results found" are announced by screen readers without moving the focus.
Level AAPrinciple 4: Robust
What does it mean?
A status message tells users about the result of an action, progress, waiting or an error, without changing context. Examples are "Message sent", "Item added to cart", "Loading…" or "12 results". Sighted users see them, but screen reader users only hear them if they are marked in code.
The message must be placed in an element with a suitable role or live region, such as role="status", role="alert" or aria-live, so assistive technology announces it while the focus stays where it is. If focus is moved to the message, or the message opens in a new context, this criterion does not apply.
Who does it help?
- Screen reader users, who otherwise do not notice that something has changed
- People with low vision using magnification, who may not see a message elsewhere on the screen
- People with cognitive disabilities, who benefit from clear feedback
Common failures
- A "Product added to cart" message appears visually but is not announced
- A search filter updates the result count silently
- Form errors after sending are shown at the top but neither announced nor focused
How we test it
- people only Manual only: nothing useful can be measured. The reviewer tests it directly.
Test question: Status messages (added to cart, form sent, search results) are announced by screen readers without focus moving.
A person decides every criterion. No criterion ever passes automatically.
How to fix it
<div id="cart-msg"></div>
<script type="module">
document.getElementById('cart-msg').textContent = 'Added to cart';
</script><div id="cart-msg" role="status"></div>
<script type="module">
// the live region exists before the text changes
document.getElementById('cart-msg').textContent = 'Added to cart';
</script>role="status" makes screen readers announce the new text politely without moving focus.
Practical tips
- Put the empty live region in the HTML when the page loads; regions added together with their text are often not announced.
- Use role="alert" only for urgent messages, as it interrupts the user.
Guides and patterns on this
- Your first screen reader test in 30 minutesA screen reader shows without mercy whether your page is built properly. This guide lets you test your key pages yourself, with free tools and no prior experience.
- Status messages that get through without stealing focusAnnounce messages via a live region, focus stays put.
Official source
How does your website do on this criterion?
The free check tests your home page automatically; the audit decides all 55 criteria.