Screen reader

A screen reader is assistive technology that converts digital content to synthesized speech or refreshable braille, enabling users who are blind or have severe low vision to interact with digital interfaces.

What is a screen reader?

A screen reader is assistive technology that reads digital content aloud using synthesized speech or outputs it to a refreshable braille display, enabling users who are blind, have severe low vision, or have difficulty reading text to interact with digital interfaces. Common screen readers include NVDA and JAWS on Windows, VoiceOver on macOS and iOS, and TalkBack on Android. Screen readers operate primarily through keyboard commands and convey not just the text content of a page but also the semantic structure: headings, lists, links, buttons, form labels, and any other information encoded in the HTML or ARIA attributes.

How do screen readers interact with interfaces?

Screen readers read the accessible name and role of each element as the user navigates to it. A button with the label "Submit" is announced as "Submit, button." A checkbox that is checked is announced as "Accept terms, checkbox, checked." An image with no alt text is announced as the file name, which is meaningless. An input field with no label is announced as "edit text" with no indication of what should be entered. Screen readers build a mental model of the page from semantic information, not from visual appearance, which means that interfaces that communicate only through visual design without semantic encoding are inaccessible.

What design decisions most affect screen reader accessibility?

Providing descriptive alt text for all meaningful images ensures screen reader users receive equivalent information. Labeling all form fields with visible labels connected to their inputs via the for and id attributes or using fieldset and legend for groups. Using semantic HTML elements such as button for buttons rather than div with a click handler, because native elements have built-in accessibility roles. Announcing dynamic content changes using ARIA live regions. Providing descriptive link text that communicates the destination, not just "click here." Ensuring the reading order of content in the DOM matches the visual reading order so that content is encountered in a logical sequence.

Related terms

Related guides