← A11y Tickets

Turn Keyboard Test Notes into Accessibility Tickets

Manual keyboard findings are easiest to fix when the ticket records the exact key path, focus movement, blocked user task, and retest criteria.

Use this guide when a test note says something like "keyboard issue in checkout" and you need a ticket a developer can reproduce without seeing the original audit session.

Open this keyboard finding in the generator

What to keep from the raw note

Ticket structure

Title:
[Severity] Flow or component: keyboard user cannot [complete the task]

User impact:
Name the user task that becomes blocked, confusing, or slower.

Evidence:
- Page or flow:
- Browser and viewport:
- Starting focus:
- Key path:
- Actual result:
- Expected result:

Likely WCAG references to verify:
- 2.1.1 Keyboard, when a control cannot be operated by keyboard.
- 2.4.3 Focus Order, when focus moves in an unexpected or illogical order.
- 2.4.7 Focus Visible, when users cannot see current focus.
- 2.4.11 Focus Not Obscured, when sticky UI covers the focused element.
- 2.1.2 No Keyboard Trap, when users cannot leave a component with keyboard.
- 4.1.2 Name, Role, Value, when custom controls do not expose state or operation.

Acceptance criteria:
- The affected task can be completed with keyboard only.
- The original key path no longer reproduces the issue.
- Focus remains visible and moves in a logical order.
- Any custom control exposes the expected name, role, state, and value.
- Retest covers the same browser, viewport, and component state named in the evidence.

Paste your note into the generator when you want this structure drafted from the raw finding.

Example conversion: skipped control

Raw note:
Checkout payment. Gift card Apply button skipped. Tab goes from input to browser bar. Mouse works.

Developer ticket:
[High] Checkout payment: gift card Apply button is skipped by keyboard navigation

User impact:
Keyboard-only shoppers can enter a gift card code but cannot apply it before payment, so the discount flow is blocked.

Evidence:
- Flow: checkout payment step
- Starting focus: gift card input
- Key path: press Tab after entering a code
- Actual result: focus leaves the page instead of reaching the Apply button
- Expected result: focus moves to Apply; Enter activates it; focus remains in the checkout step

Likely WCAG references to verify:
- 2.1.1 Keyboard
- 2.4.3 Focus Order

Acceptance criteria:
- The gift card Apply button is reachable in the normal Tab order.
- Enter or Space activates the Apply button when it has focus.
- After activation, keyboard focus remains in a useful checkout location.
- The gift card flow can be completed with keyboard only.

Example conversion: focus hidden by sticky UI

Raw note:
Mobile menu open, desktop width 1280. Shift+Tab from first menu item sends focus to logo but sticky promo bar covers it.

Developer ticket:
[Medium] Header menu: keyboard focus is hidden under sticky promo bar

User impact:
Keyboard users cannot tell which header control is active when moving backward through the open menu.

Evidence:
- Viewport: 1280px desktop
- Component state: menu open with sticky promo bar visible
- Key path: Shift+Tab from the first menu item
- Actual result: focus moves to the logo link but the focus indicator is covered
- Expected result: focus remains visible and is not obscured by the sticky bar

Likely WCAG references to verify:
- 2.4.7 Focus Visible
- 2.4.11 Focus Not Obscured

Acceptance criteria:
- Header focus indicators are visible in forward and reverse keyboard navigation.
- Sticky bars, overlays, and clipping do not cover the focused element.
- The menu can be opened, navigated, and closed while focus remains visible.

Common keyboard ticket types

Paste-ready input for the generator

Manual keyboard finding:
Page or flow:
Component state:
Browser and viewport:
Starting focus:
Key path:
Actual focus movement:
Expected focus movement:
Blocked user task:
Relevant selector or component:
Retest notes:

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

Related resources