WCAG 4.1.3 — Status Messages — Live Region Not Used for Dynamic Updates
When your website displays success confirmations, error messages, or loading updates, screen reader users aren't being notified of these changes. This leaves blind and visually impaired residents unable to know when their form submissions succeed or fail. The ADA Title II rule requires these status updates to be announced.
Who Is Affected
Screen reader users, blind users, users with low vision who rely on assistive technology, and users with cognitive disabilities who depend on clear feedback about system status.
What This Means
When content on your page changes dynamically — like showing "Form submitted successfully" or "Error: Please fill in required fields" — sighted users can see these updates immediately. However, screen readers only announce content that's in focus or explicitly marked as a live region.
Without proper ARIA live regions, screen reader users may submit a form and never know if it succeeded, wait indefinitely for a page that's already loaded, or miss critical error messages they need to fix.
Status messages include success confirmations, error alerts, progress indicators, search result counts, and any text that appears or changes after user interaction.
Fix: CMS / Theme
Most dynamic status messages are generated by JavaScript in your theme or plugins. The fix involves adding ARIA live region attributes to the containers where these messages appear.
WordPress
- Open your theme's JavaScript files (typically in
/wp-content/themes/your-theme/js/). - Locate where success/error messages are inserted into the DOM.
- Add
aria-live="polite"for non-urgent messages oraria-live="assertive"for urgent errors to the message container:
<div id="form-messages" aria-live="polite" aria-atomic="true"></div>
- For contact forms using Contact Form 7, install a plugin like "Accessible Contact Form 7" or add this to your theme's functions.php:
add_filter('wpcf7_form_elements', function($content) {
return str_replace('<div class="wpcf7-response-output"',
'<div class="wpcf7-response-output" aria-live="polite"', $content);
});
Joomla
- Navigate to your template files in
/templates/your-template/. - Find JavaScript files handling form submissions or dynamic content.
- Modify the message containers to include ARIA live regions:
<div id="system-message-container" aria-live="polite" aria-atomic="true"></div>
- For core Joomla forms, override the default system message display by creating a custom module or editing the template's HTML output.
Fix: Content Editor
For content editors adding dynamic elements through page builders or custom HTML:
-
When creating forms or interactive content, ensure the success/error message containers include:
aria-live="polite"for general status updatesaria-live="assertive"for urgent errors that require immediate attentionaria-atomic="true"if the entire message should be re-read when it changes
-
Example for a custom contact form:
<form id="contact-form">
<!-- form fields -->
<div id="form-status" aria-live="polite" aria-atomic="true"></div>
<button type="submit">Submit</button>
</form>
- Ensure your JavaScript updates the content of this container, not replaces the container itself.
Standard Reference
WCAG 2.1 Success Criterion 4.1.3 — Status Messages, Level AA
In content implemented using markup languages, status messages can be programmatically determined through role or properties such that they can be presented to the user by assistive technologies without receiving focus.
Check if your government website has this issue
OctoComply scans your website and documents for WCAG 2.1 AA violations. The free tier covers up to 10 pages.
Run a Free Scan