A11y Tickets

Storybook Accessibility Tickets

Storybook accessibility findings are most useful when the ticket connects the failing story to the reusable component, affected product flows, and the states that need retesting.

Use this guide for component review notes from Storybook, Chromatic, addon-a11y, manual keyboard testing, screen reader checks, or design-system QA. Keep the ticket focused on the component behavior, not only the isolated demo.

Open this Storybook finding in the generator

When to write a Storybook ticket

Ticket structure

Title:
[Severity] Storybook component: accessibility behavior fails in [state]

User impact:
Describe the real task that becomes blocked or unreliable when teams reuse this component.

Evidence:
- Story or component:
- State or args:
- Affected product flows:
- Test method:
- Actual behavior:
- Expected behavior:

Rollout notes:
- Component package or template owner:
- Stories that need updates:
- Product flows to retest:
- Documentation or usage notes to change:

Acceptance criteria:
- The component works in the failing state.
- The Storybook story demonstrates the accessible behavior.
- Known product flows are retested after rollout.
- Documentation names the required keyboard, screen reader, or visual-state behavior.

Example conversion: async combobox

Raw note:
The shared combobox story passes axe, but ArrowDown does not move through options after async results load. Used in product search, account country selection, and admin user lookup.

Developer ticket:
[High] Storybook combobox: async options cannot be reached with arrow keys

User impact:
Keyboard users may not be able to choose an option from reusable search and selection controls after results load.

Evidence:
- Component: Combobox
- Story state: async options loaded
- Affected flows: product search, country selection, admin user lookup
- Actual result: ArrowDown does not move through loaded options
- Expected result: keyboard users can move through options, inspect the active option state, select an option, and continue from a predictable focus position

Likely WCAG references to verify:
- 2.1.1 Keyboard
- 4.1.2 Name, Role, Value

Acceptance criteria:
- Loaded, empty, loading, and error states have Storybook examples.
- Keyboard operation works after async options render.
- The active option state is exposed correctly.
- At least one real product flow using the component is retested.

Common Storybook traps

Paste-ready input for the generator

Storybook accessibility finding:
Component or story:
State or args:
Affected product flows:
Test method:
Actual behavior:
Expected behavior:
Likely owner:
Stories or docs to update:
Product flows to retest:
Acceptance criteria:

Open the accessibility ticket generator and paste this structure with the Storybook evidence.

Related resources