Skip to content
SilktideHelp

Status messages

Silktide prompts you to verify that status messages - toasts, snackbars, notification banners, success and error feedback - are set up so announce them when they appear.

This is a : automation cannot reliably tell which elements are status surfaces (class names, languages, and minified markup vary endlessly), so Silktide raises the prompt on each page and a person confirms it.

<!-- Silent: screen readers won't announce this when it appears -->
<div class="toast">Item added to cart</div>

<!-- Announced: role="status" makes it a live region -->
<div class="toast" role="status">Item added to cart</div>

Why this matters

Status messages report the outcome of what a user just did: "Form saved", "Item added to cart", "3 results found", "Something went wrong". Sighted users notice them appear; a screen reader reads whatever currently has focus, and a message appearing elsewhere on the page says nothing. The user submits a form and hears silence - they cannot tell whether it worked, failed, or is still loading.

Marking the message as a tells to announce it the moment it appears, without moving the user's focus.

What to check

  1. Find every status surface on the page (toasts, snackbars, flash messages, inline success/error banners, result-count updates).
  2. Confirm each one - or a permanent container it writes into - carries role="status", role="alert", role="log", or aria-live="polite" / aria-live="assertive".
  3. Prefer a live-region container that exists when the page loads; inject only the message text at runtime. Live regions created at the same moment as their message are often not announced.

If the page has no status messages, or every one is correctly announced, the finding.

How to fix it

  1. Add a live-region role to the message container:
    • role="status" for routine updates such as confirmations and result counts.
    • role="alert" for important, time-sensitive messages such as errors.
  2. Or use the attribute directly: aria-live="polite" (waits for a pause in speech) or aria-live="assertive" (interrupts immediately).

How Silktide tests this

Silktide cannot reliably detect status surfaces automatically - guessing from class names invents false confidence and misses generated or non-English markup - so this check raises one review prompt per page describing what to verify.

Learn more

Last updated

Was this page helpful?

Status messages | Silktide Help