What is a screen reader and how does it read a web page?
Model answer
A screen reader is software that turns on-screen content into speech or braille. People who are blind or have low vision use it, and so do some people with dyslexia or cognitive disabilities.
It does not read pixels. It reads the accessibility tree that the browser builds from your HTML, so what it says depends on your markup.
For each element it announces role, name and state, such as "Submit order, button" or "Subscribe, checkbox, not checked".
Users rarely listen linearly. They navigate by structure:
- Headings, landmarks, links and form fields lists, with single-key shortcuts (for example
Hfor the next heading in NVDA). - Browse mode (virtual cursor): arrows move through content, and keys jump between element types.
- Focus or forms mode: typing goes into the field, and keys are passed to the page.
Common screen readers: NVDA and JAWS on Windows, VoiceOver on macOS and iOS, TalkBack on Android.
What this means for developers: use headings, landmarks, labels, alt text and native controls, so the structure users navigate by actually exists.
Key points
- It converts content to speech or braille
- It reads the accessibility tree, not pixels
- Users navigate by headings, landmarks, links and fields
- Browse mode and forms mode behave differently
Likely follow-ups
- Why does a div with a click handler sound wrong in a screen reader?
- Which screen reader and browser pairs would you test first?
Common mistakes
- Thinking screen reader users read the page from top to bottom
- Assuming screen readers only matter for blind users