How do you test a page with a screen reader?
Answer
Test core flows with keyboard only first, then use a screen reader to verify headings, landmarks, names, state changes, and error messages are announced sensibly. Combine manual testing with automated checks; neither is sufficient alone.
Context
Accessible interfaces use semantic HTML, predictable keyboard behavior, visible focus, and clear feedback. Build those requirements into the component contract from the start.
Example
html
<button type="button" aria-expanded="false" aria-controls="filters">
Show filters
</button>
<section id="filters" hidden>…</section>The native button supplies keyboard behavior; aria-expanded communicates the visible state.
Practical considerations
- Choose the approach from the requirement and constraints, not from habit.
- Include validation, error handling, and cleanup where the boundary requires them.
- Verify the observable result with focused tests or measurement.
Follow-up prompts
- What failure mode would you expect if this were implemented incorrectly?
- How would you test this behaviour?
- What changes when the feature must scale to a larger application or team?
In practice
For this medium-level topic, make assumptions explicit, choose the smallest safe implementation, and verify the behavior at the relevant boundary.