Replace clickable service tiles with a named selection group
Service choices are clickable divs. Keyboard users cannot reach them, and a screen reader announces no selected service. Repair selection without changing the taxonomy.
- Focused work estimate
- 1h + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Semantic HTML · Keyboard access · Forms
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
No earlier ticket is required. Complete the project setup above.
Acceptance criteria
- Every service belongs to a semantic single-choice group with a visible label.
- Selected value is announced and included in the form value.
- Unavailable services explain their status and cannot be selected by keyboard or pointer.
Implementation constraints
- Prefer native radio inputs and associated labels over a custom interaction model.
Verification to include
- Choose Library assistance using only the keyboard and inspect the form value.
- Try selecting an unavailable service through pointer and keyboard; selection remains unchanged and its reason is readable.
Deliverables
- Semantic service chooser and keyboard regression case
Rollout and recovery
Release independently; restore native unstyled controls if decoration hides focus or selection.
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.