Accessibility


For the estimated 253 million people worldwide living with vision impairment, screen readers are not optional software; they are the primary gateway to the internet. A screen reader is an assistive technology that converts digital text and interface elements into synthesized speech or Braille output, allowing blind and visually impaired users to navigate websites without seeing the screen.
Yet many websites are built without any consideration for how a screen reader will interpret them. The result is a browsing experience full of dead ends, confusing announcements, and inaccessible content. Understanding how screen readers interact with websites is the first step toward building experiences that truly work for everyone.
What Is a Screen Reader?
A screen reader is software that reads the content of a screen aloud using text-to-speech technology or outputs it to a refreshable Braille display. It interprets not just the visible text on a page, but the underlying HTML structure, headings, links, form fields, images, tables, and more.
The most widely used screen readers include:
- JAWS (Job Access With Speech) — the most popular screen reader for Windows, widely used in professional and enterprise settings.
- NVDA (NonVisual Desktop Access) — a free, open-source screen reader for Windows with a large global user base.
- VoiceOver — built into Apple devices (macOS, iOS, iPadOS), requiring no additional installation.
- TalkBack — Google's built-in screen reader for Android devices.
- Narrator — Microsoft's built-in screen reader included with Windows.
Each screen reader has its own behavior and keyboard shortcuts, but all of them rely heavily on the semantic structure of your HTML to navigate and interpret content.
How Screen Readers Read a Web Page
When a screen reader loads a web page, it does not simply read the page from top to bottom like a human eye scanning text. Instead, it builds a virtual representation of the page — often called the accessibility tree — derived from the Document Object Model (DOM) and ARIA (Accessible Rich Internet Applications) attributes.
From this tree, screen reader users can:
- Navigate by headings: Jumping between H1, H2, H3 elements to quickly scan the page structure, much like a sighted user skims subheadings.
- Navigate by landmarks: Jumping between page regions such as navigation, main content, search, and footer.
- Navigate by links: Pulling up a list of all links on the page to find what they need.
- Navigate by form controls: Moving between input fields, checkboxes, radio buttons, and buttons.
- Read line by line or word by word: For detailed reading of specific content.
This navigational behavior is why the structure of your HTML matters so much. A page that looks visually organized can be completely disorganized from a screen reader's perspective if the underlying markup is poor.
The Role of Semantic HTML
Semantic HTML is the foundation of screen reader accessibility. When you use elements for their intended purpose, screen readers can correctly identify and announce them to users.
- Good practice: Using <nav> for navigation, <main> for primary content, <button> for interactive controls, and <h1>–<h6> for headings gives screen readers the context they need.
- Poor practice: Using <div> and <span> for everything, with no semantic meaning, leaves screen readers with nothing meaningful to announce.
For example, a screen reader encountering a properly marked-up button will announce: 'Submit, button.' A sighted user clicking a styled <div> that looks like a button has the same experience, but a screen reader user hears nothing useful, or worse, hears 'Submit' with no indication it is interactive.
Images and Alternative Text
Screen readers cannot interpret images visually. Instead, they read the alt attribute of the <img> element. This makes alternative text, or alt text, one of the most critical accessibility features on any webpage.
Here is how screen readers handle different image scenarios:
1. Meaningful image with alt text: The screen reader announces the alt text, e.g., 'Photo of a woman using a laptop in a coffee shop.'
2. Decorative image with empty alt (alt=""): The screen reader skips the image entirely which is the correct behavior for images that add no informational value.
3. Image with no alt attribute: The screen reader may announce the file name, e.g., 'img_0042.jpg' completely unhelpful and confusing for the user.
4. Image used as a link with no alt text: The screen reader has no way to describe where the link goes, creating a navigation dead end.
Writing good alt text means describing the purpose or content of the image in a concise, informative way not stuffing it with keywords or repeating the surrounding caption.
Links and Their Descriptions
Screen reader users frequently navigate pages by pulling up a list of all links. When your links are labeled 'Click here,' 'Read more,' or 'Learn more,' that list becomes meaningless — a screen reader user hears the same phrase repeated over and over with no context.
Descriptive link text is essential. Instead of:
- Avoid: Click here to read our accessibility guide.
- Use instead: Read our complete web accessibility guide.
If a link must open in a new tab or window, that behavior should be communicated in the link text or through an ARIA label so users are not caught off guard.
Forms and Interactive Elements
Forms are among the most challenging web components for screen reader users. Every input field must have a programmatically associated label not just a visual label sitting nearby, but one connected through the for/id relationship or wrapped in a <label> element.
Common form accessibility failures include:
- Placeholder text used as a label: Placeholder text disappears when the user starts typing, leaving them with no reminder of what the field requires.
- Error messages not announced: If form validation errors are shown visually but not associated with the relevant field or announced via ARIA live regions, screen reader users may have no idea what went wrong.
- CAPTCHA with no audio alternative: Visual CAPTCHAs are completely inaccessible without an audio option or alternative verification method.
- Custom dropdowns and date pickers built without ARIA roles: These may appear interactive visually but be completely non-functional for keyboard and screen reader users.
ARIA: Enhancing Accessibility Beyond HTML
When native HTML semantics are not sufficient, particularly for complex UI components like carousels, modal dialogs, tabs, and accordions, ARIA (Accessible Rich Internet Applications) attributes can bridge the gap.
ARIA attributes add roles, states, and properties to elements that screen readers can interpret. For example:
- role="dialog" tells a screen reader that a pop-up is a dialog box, prompting it to announce the dialog title and manage focus correctly.
- aria-expanded="true" or "false" tells a screen reader whether a dropdown or accordion panel is currently open or closed.
- aria-live="polite" designates a region of the page where dynamic content updates, such as a notification or search result will be automatically announced.
Important note: ARIA should supplement HTML, not replace it. The first rule of ARIA is: do not use ARIA if a native HTML element can do the job.
Testing Your Website with a Screen Reader
The best way to understand the screen reader experience is to use one yourself. Here is a simple process to get started:
- Enable VoiceOver on a Mac (Command + F5) or NVDA on Windows (free download from nvaccess.org).
- Turn off your monitor or close your eyes.
- Navigate your own website using only the keyboard and screen reader output.
- Try to complete core tasks: find information, fill out a form, follow a link, and understand page structure.
- Note every moment of confusion or dead end, those are your accessibility gaps.
Automated tools like axe, WAVE, or Lighthouse can catch many technical issues, but nothing replaces manual testing with an actual screen reader to understand the real user experience.
Conclusion
Screen readers are powerful tools, but they depend entirely on well-structured, semantically rich HTML to do their job. When websites are built with accessibility in mind with proper headings, meaningful alt text, descriptive links, labeled forms, and appropriate ARIA, screen reader users can navigate them with confidence and independence.
Understanding how screen readers interact with your website is not about accommodating a niche audience. It is about building a web that works for everyone, regardless of how they access it.

.png)