WCAG 4.1.3 Status Messages
This success criteria states that website owners must make users aware of important changes in content. This check determines if the status messages on your website can be read by program software.
Status messages provide important information to users about the outcome of an action, system status updates, or changes in content. These messages must be programmatically determinable. Assistive technologies such as screen readers must be able to detect and announce the messages without requiring users to manually shift focus.
A status message does not receive focus. However, it must be conveyed to users who rely on assistive technologies such as screen readers. This is especially important for:
To achieve this, status messages must be properly marked up with ARIA roles and properties, such as:
role="status"
aria-live="polite"
or aria-live="assertive"
aria-atomic="true"
This section provides information about why this check is important and which users are affected. In addition, it provides some examples.
Users who are blind or have low vision rely on screen readers to understand dynamic changes on a webpage. If status messages are not programmatically determined, the screen reader software may fail to detect and announce updates.
This check is important for:
This section provides some pass and fail examples of this check.
Using aria-live for dynamically updating content
<p id="statusMessage" aria-live="polite">Your changes have been saved.</p>
<script>
function saveData() {
document.getElementById("statusMessage").textContent = "Your data has been successfully saved!";
}
</script>
<button onclick="saveData()">Save</button>
<p>
element has aria-live="polite",
which tells assistive technologies to announce changes dynamically.Using role="status" to indicate a status update
<p role="status">Your message has been sent.</p>
role="status"
attribute automatically announces the message to screen reader users when the text is updated.No programmatic indication of status updates
<p>Your form has been submitted.</p>
aria-live="polite"
or role="status"
, a screen reader user may never hear this message.A JavaScript alert()
instead of an aria-live
region
<script>
function showAlert() {
alert("Your form has been submitted!");
}
</script>
<button onclick="saveData()">Submit</button>
alert()
shifts focus away from the current position and can interrupt the workflow.aria-live region
.This check primarily affects users who:
Without accessible status messages, users may not be aware of:
This section provides instructions on how to review and fix this issue.
role="status"
, aria-live="polite"
, or aria-live="assertive"
.role="status"
, aria-live="polite"
, or aria-atomic="true"
so that the screen reader software can announce them automatically.<p>
element without ARIA
attributes, screen reader users do not hear the update.role="alert"
for urgent updates<p role="alert">Error: Please enter a valid email address.</p>
role="alert"
attribute ensures that the message is immediately announced by screen readers and does not move focus.Use aria-live="polite
" for non-urgent status messages
<p id="statusMessage" aria-live="polite">Your message has been sent.</p>
<script>
function sendMessage() {
document.getElementById("statusMessage").textContent = "Your message has been sent.";
}
</script>
<button onclick="sendMessage()">Send Message</button>
aria-live="polite"
attribute ensures that screen reader software announces the message and does not interrupt users.If this content did not answer your questions, try searching or contacting our support team for further assistance.
Fri Apr 25 2025 07:24:15 GMT+0000 (Coordinated Universal Time)