spec checked
WCAG 2.2 Understanding Success Criterion 4.1.3: Status Messages
Explains that status messages should be programmatically determinable so assistive technologies can announce changes in content without moving focus.
Pattern Decisions This Source Supports
| Pattern | Supported decision | Required contract | Claim note |
|---|---|---|---|
| Agent plan preview | Choose agent plan preview when an AI agent's proposed multi-step execution needs review before it starts. | The preview names the objective, plan version, source context, model or workflow instructions, planned tools, and expected output before run. | Supports announcing plan updates, blocked steps, validation, and run-start status changes. |
| Agent progress trace | Choose agent progress trace when an agent or automation run has started and users need live status across multiple steps or tools. | The trace belongs to one run ID, reviewed plan version, objective, actor, start time, current state, and final state. | Supports announcing meaningful status changes without moving focus. |
| AI agent acts without approval | Flag this anti-pattern when an AI agent or automation executes a high-impact side effect without showing and requiring approval for the exact action and payload first. | The agent distinguishes read-only steps, draft steps, reversible local changes, and external side-effect steps before execution. | Supports announcing approval-required, stale, executed, rollback, and recovery states without moving focus. |
| AI answer without sources | Flag this anti-pattern when an AI answer makes evidence-dependent claims and provides no source link, citation marker, grounding panel, source scope, or verification action. | Evidence-dependent answers must expose whether sources were searched, retrieved, used, unavailable, permission-limited, failed, or not required. | Supports announcing changed source status without moving focus. |
| AI confidence shown as fake precision | Flag this anti-pattern when an AI or automated surface shows a precise score without calibration scope, decision threshold, freshness, uncertainty reason, or safe next action. | The interface distinguishes raw internal scores from user-facing calibrated confidence. | Supports announcing changed confidence validity, calibration, and review states without moving focus. |
| Alert | Choose alert when a time-sensitive warning, error, or important status change must be noticed immediately without moving focus. | The alert appears close to the task area whose outcome it affects and before the controls users need next. | WCAG status-message guidance supports announcing content changes without changing focus. |
| Automation rule builder | Choose automation rule builder when the primary job is authoring a reusable rule with trigger, condition, action, activation, and future runtime behavior. | The rule cannot be activated until trigger, condition, action, owner, permissions, and required validation pass. | Supports accessible validation, test, activation, failure, and run-status messages. |
| Chat interface | Choose chat interface when the user task depends on turn-taking, follow-up prompts, assistant responses, and conversation history rather than a single request field. | Every user-visible answer is tied to the exact user message and visible context that produced it. | Supports announcing response status, errors, copied state, and history changes without moving focus. |
| Citation display | Choose citation display when the main user need is verifying a generated or summarized claim against the source that supports it. | Each citation marker opens or focuses the source record that supports the adjacent claim. | Supports announcing citation status changes without moving focus. |
| Confidence / uncertainty display | Choose confidence / uncertainty display when users need to judge prediction reliability before acting on AI or automation output. | The display names the task, prediction, source of the confidence estimate, calibration scope, and last calibration or update time when available. | Supports status announcements for changed uncertainty, review, and blocked-action states. |
| Correction feedback | Choose correction feedback when users need to correct AI output, source use, assumptions, recommendations, safety behavior, or answer quality after an AI response is shown. | A correction feedback action preserves answer ID, response version, claim span, source ID, user reason, expected correction, submitter, timestamp, and chosen scope. | Supports accessible feedback submission, receipt, and review status changes. |
| Disabled controls without recovery | Flag this anti-pattern when a disabled control blocks a task and the surrounding UI does not provide a reachable next step. | Users can discover the cause of unavailability without activating or hovering the disabled control itself. | Status message guidance supports perceivable updates when disabled or blocked states change. |
| Editable AI output | Choose editable AI output when the primary object is generated output after creation and users need to revise, review, save, copy, or apply that output. | The generated draft, user edits, tracked changes, source mappings, citations, review status, and final output state are modeled as distinct data rather than one mutable text blob. | Supports accessible announcements for review, save, regeneration, and apply states. |
| Escalate to human | Choose escalate to human when users need a route from AI, automation, chatbot, self-service, or failed recovery to a human channel or queue. | The escalation action names the human destination and whether it is live, asynchronous, specialist, supervisor, emergency, or review-only. | Supports accessible escalation, queue, transfer, ticket, and failure status announcements. |
| Fake undo | Flag this anti-pattern when an Undo control does not restore the exact object, value, order, relationship, permission, selection, and visible status it claims to reverse. | The system captures reversible state before applying the action, not after users request undo. | WCAG status-message guidance supports exposing recovery and final states without relying on focus movement. |
| Human approval gate | Choose human approval gate when automation is paused at runtime and cannot execute the next step until an eligible human authorizes it. | The gate belongs to a specific automation run, step ID, payload version, model or workflow version, target object, and approver rule. | Supports announcing gate pause, approval, rejection, timeout, and resumed-run states. |
| Inline message | Choose inline message when the message's subject is a visible local object or section and the feedback should stay attached to it. | The message appears in the visual and reading order near the object or section it describes. | WCAG status-message guidance supports announcing status changes without changing the user's context. |
| Model update notice | Choose model update notice when users need to understand and act on AI model lifecycle, version, capability, deprecation, retirement, replacement, migration, or auto-upgrade changes. | The notice identifies the current model and replacement or new model in user-visible text. | Supports accessible announcement of update, migration, test, completion, and failure status changes. |
| Notification banner | Choose notification banner when a service message should be seen immediately before the page heading and before users interpret that page. | The banner appears before the page H1 and in the same content width as the heading and body text. | WCAG status-message guidance supports announcing important status changes programmatically without moving focus when the message does not require focus. |
| Pull to refresh | Choose pull to refresh when the design problem is the vertical top-of-scroll drag that refreshes the current data set. | Pull-to-refresh begins only when the intended scroll container is at its top boundary and the user drags downward beyond normal scroll tolerance. | Supports programmatically determinable refresh status updates without moving focus. |
| Regenerate / retry | Choose regenerate / retry when the task is rerunning an AI response attempt, creating a new answer version, continuing a failed generation, or recovering from failed AI source or tool work. | Retry same prompt repeats the submitted prompt and visible context unless the UI explicitly shows which context changed. | Supports accessible announcements for retry, regeneration, cooldown, and version status changes. |
| Scope clarification | Choose scope clarification when the AI needs a missing boundary before producing a reliable answer, plan, retrieval query, or tool action. | The system identifies what boundary is missing before asking the user to clarify. | Supports accessible status updates for clarification and resume states. |
| Site alert | Choose site alert when urgent sitewide information must appear by default on every affected page near the top of the site. | The site alert appears before ordinary page content and is reachable from any affected route, not just the home page. | WCAG status-message guidance supports programmatic announcement of important dynamic site-alert updates without unnecessary focus movement. |
| Source grounding display | Choose source grounding display when users need answer-wide evidence coverage, source scope, retrieved-versus-used source status, or unsupported-claim visibility. | The grounding display names the source scope that was available for this answer, not just sources the user might expect. | Supports announcing grounding state changes without moving focus. |
| Streaming response | Choose streaming response when partial generated output is useful before the full answer is ready and the product can explain partial versus final state. | The UI never presents an active stream as a complete answer until the terminal event or final validation state arrives. | Supports accessible stream milestone announcements without forced focus movement. |
| Success confirmation | Choose success confirmation when the user needs durable in-context proof that a just-completed action succeeded. | The confirmation appears only after the action is committed enough to be truthful. | WCAG status-message guidance supports announcing success state changes without moving focus. |
| Toast notification | Choose a toast for short non-blocking confirmation, progress handoff, background-job status, or low-risk warning that does not require users to stop the current task. | A toast appears because a specific action or system event occurred, not as the only visible structure for the task itself. | WCAG status-message guidance supports programmatic announcement of status updates without moving focus. |
| Toast-only success for completed transaction | Flag this anti-pattern when a committed or high-consequence transaction is confirmed only by a disappearing toast. | The completed transaction remains provable after the toast expires. | Supports announcing dynamic status without moving focus while preserving visible confirmation where proof is required. |
| Tool-use visibility | Choose tool-use visibility when users need to inspect exact tool names, purposes, inputs, outputs, permissions, side effects, failures, or redactions. | Each tool-use item identifies one tool call or tool-call attempt with stable call ID, run ID, step ID, tool name, status, timestamp, and permission scope. | Supports announcing meaningful tool status changes without moving focus. |
Evidence Role
This source is treated as spec evidence. Use it to validate the decision rules above, not as a visual style reference.
Publisher: W3C WAI. Last checked: .