WCAG 4.1.3: Status Messages
Status messages that provide information about success, progress, or errors must be programmatically exposed to assistive technologies without receiving focus. This ensures screen reader users are informed of dynamic changes.
What is WCAG 4.1.3 Status Messages?
WCAG 4.1.3 Status Messages is a Level AA web accessibility success criterion under the Robust principle. Status messages that provide information about success, progress, or errors must be programmatically exposed to assistive technologies without receiving focus. This ensures screen reader users are informed of dynamic changes. Common failures include toast/snackbar notifications not using aria live regions and error messages that appear visually but are not announced. Meeting this criterion is essential for accessible, inclusive web design.
How to Test
- ✓ Check that success/error messages use role='alert' or role='status'
- ✓ Verify that toast notifications are announced by screen readers
- ✓ Test that loading/progress indicators have appropriate ARIA live regions
- ✓ Check that search result counts are announced (e.g., '5 results found')
- ✓ Test form validation messages with a screen reader
Common Failures
- ✗ Toast/snackbar notifications not using ARIA live regions
- ✗ Error messages that appear visually but are not announced
- ✗ Loading spinners without aria-live or role='status'
- ✗ Shopping cart count updates not announced
- ✗ Search result counts not communicated to screen readers
✓ Good Example
<!-- Success message --> <div role="status" aria-live="polite"> Your changes have been saved. </div> <!-- Error alert --> <div role="alert"> Failed to save. Please try again. </div> <!-- Search results count --> <div role="status" aria-live="polite" aria-atomic="true"> Showing 12 results for "accessibility" </div>
Success messages use role='status' with aria-live='polite' for non-urgent updates. Errors use role='alert' for immediate announcement. The search results count uses aria-atomic='true' to announce the complete text.
✗ Bad Example
<!-- No ARIA announcement --> <div class="toast success"> Changes saved! </div> <!-- Visually shown but not announced --> <div class="result-count"> 12 results found </div>
Neither element uses ARIA live regions or roles, so screen readers do not announce the dynamic content changes.
Test Your Site for 4.1.3 Compliance
Use our free accessibility tools to check your website against WCAG 4.1.3.
Open Testing Tool