Return focus correctly after reviewing contact details
Edit contact opens a dialog from review. Closing returns focus to a control removed by session refresh, stranding keyboard users.
- Focused work estimate
- 2h + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- Focus management · Dialogs · State coordination
Estimated field mix
- Accessibility70%
- Frontend30%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
The fictional Riverside desk books appointments for permit paperwork and library assistance. Its browser flow was assembled from separate forms and dialogs. Work uses synthetic availability and booking adapters; actual appointments and personal records are excluded.
Setup prerequisites
- Synthetic services, slots, and booking API contract
- Keyboard and screen-reader access for a documented manual check
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- A11Y-102 · Keep contact-field help and errors understandable together
- A11Y-101 · Replace clickable service tiles with a named selection group
- A11Y-103 · Make month navigation work without a pointer
- A11Y-104 · Keep the booking action visible at high zoom
- A11Y-105 · Recover when another visitor takes the chosen slot
- A11Y-106 · Announce availability changes without reading the whole page again
- A11Y-107 · Handle expiry without an inaccessible countdown trap
Acceptance criteria
- The dialog has a name, contained focus, and visible close action.
- Closing restores the invoking control or a documented visible fallback if the step changed.
- Recovery and dialog close cannot race focus into hidden or inert content.
Implementation constraints
- Use an accessible primitive with local styling and coordinate focus ownership across states.
Verification to include
- Edit and close normally; focus returns to Edit contact with revised details visible.
- Expire the session while editing and close during recovery; focus lands on the current recovery heading.
Deliverables
- Dialog focus ownership fix and interleaved-state keyboard test
Rollout and recovery
Enable only on review; switch to inline editing if dialog focus ownership regresses.
Value of the work
For the engineer: Practice accessibility as complete interaction behavior, including recovery and asynchronous updates.
For the team: Inspect whether an engineer removes concrete barriers while preserving appointment integrity and supportability.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.