← A11y Tickets

Turn Silent Status Updates into Accessibility Tickets

Dynamic updates need tickets that name the trigger, the visible change, the missing announcement, and whether focus should stay where it is.

Use this guide for result counts, cart totals, saved states, loading messages, toast notifications, asynchronous form feedback, or validation results that appear visually but are not communicated to assistive technology users.

Open this silent status update in the generator

What to capture

Ticket structure

Title:
[Severity] Flow or component: dynamic update is not announced

User impact:
Explain what the user cannot confirm when the status update is only visual.

Evidence:
- Trigger:
- Visible update:
- Expected announcement:
- Actual announcement:
- Focus position before and after:
- Assistive technology and browser:
- Component or selector:

Likely WCAG references to verify:
- 4.1.3 Status Messages, when a status change is visible but not programmatically exposed.
- 1.3.1 Info and Relationships, when the update is not associated with the relevant field, region, or control.
- 4.1.2 Name, Role, Value, when a custom control's state changes but the state is not exposed.

Acceptance criteria:
- The visible update and the programmatic status communicate the same result.
- Passive confirmations are announced without stealing focus from the user's current control.
- Error or blocking updates are associated with the affected field, summary, or flow step.
- The message is announced once, at the right time, with the agreed screen reader/browser pair.
- Keyboard-only behavior remains predictable after the update.

Paste your status-message note into the generator when you want a draft ticket from raw audit text.

Example conversion: filter result count

Raw note:
VoiceOver/Safari. Product listing filters. After selecting "In stock", the visible count changes from "42 products" to "8 products", but nothing is announced. Focus stays on the checkbox.

Developer ticket:
[Medium] Product filters: updated result count is not announced

User impact:
Screen reader users can change filters without hearing whether the product list changed. They must manually search the page to confirm the filter worked, which slows product discovery.

Evidence:
- Trigger: selecting the "In stock" filter
- Visible update: "42 products" changes to "8 products"
- Expected announcement: "8 products" or equivalent concise result count
- Actual announcement: no update is announced
- Focus: remains on the checkbox
- Assistive technology/browser: VoiceOver with Safari

Likely WCAG references to verify:
- 4.1.3 Status Messages
- 1.3.1 Info and Relationships

Acceptance criteria:
- Changing a filter exposes the updated result count as a status message or equivalent programmatic update.
- Focus remains on the active filter unless the interaction intentionally navigates.
- The announcement matches the visible count and is not duplicated.
- Retest passes with VoiceOver/Safari and one keyboard-only pass.

Example conversion: cart quantity update

Raw note:
Cart quantity stepper updates subtotal and shipping estimate visually. NVDA does not announce either change after pressing the plus button.

Developer ticket:
[High] Cart: quantity changes update totals without a screen reader status message

User impact:
Screen reader users can change the quantity but may not know the cart total, shipping estimate, or discount state changed before checkout.

Evidence:
- Trigger: quantity plus button in cart line item
- Visible update: subtotal and shipping estimate change
- Expected announcement: concise confirmation such as "Quantity 2. Cart total 49.90 euros"
- Actual announcement: NVDA remains on the plus button and does not announce the totals
- Component: cart line item and order summary

Likely WCAG references to verify:
- 4.1.3 Status Messages
- 4.1.2 Name, Role, Value

Acceptance criteria:
- Quantity controls expose their current value.
- Important cart total changes are announced once after the quantity update completes.
- The user can continue from the quantity control without unexpected focus movement.
- Retest passes with NVDA and one keyboard-only path.

Common fix directions

Paste-ready input for the generator

Status message finding:
Trigger:
Visible update before:
Visible update after:
Expected announcement:
Actual announcement:
Focus before and after:
Assistive technology and browser:
Component or selector:
Task impact:
Retest notes:

Open the accessibility ticket generator and paste this structure with the audit note.

Related resources