Grundsätzlich kann man einen Screenreader wie eine zusätzliche Ebene über Webbrowser und der drunterliegenden Seitenstruktur verstehen. Der Browser generiert für den Screenreader einen sogenannten Accessiblility Tree. Der Screenreader arbeitet die meiste Zeit auf diesem Abbild und nicht direkt auf dem Domain Object Model (DOM), wie es die Webbrowser tun. Aria-Elemente aus dem DOM werden immer an den Accessibility Tree weitergegeben, aber nicht jeder Browser geht mit DOM-Objekten gleich um. Auch die Screenreader interpretieren daher das selbe Objekt teils unterschiedlich.
Ähnlich wie bei Browsern kann die Ausgabe von Webinhalten eines Screenreaders daher je nach Browser-& Screenreader-Kombination variieren. Die meistgenutzen Kombinationen sind (Stand: Februar 2023):
- JAWS + Chrome
- NVDA + Firefox
- VoiceOver + Safari
- (Narrator + Edge)
Zum weiteren Grundlagenwissen im Umgang mit Screenreadern gehört deren Aufteilung in zwei distinktive Modi: den Lesemodus und den Formular- bzw. Fokusmodus.
Lesemodus
Im Lesemodus arbeitet ein Screenreader nicht direkt im DOM, d. h. Eingaben in Formularfeldern erfolgen nur im Formularmodus. Zudem werden die Pfeiltasten nicht an den Browser durchgegeben, sondern zur Steuerung des Screenreaders genutzt. Dementsprechend werden eventuelle Überschreibungen durch JavaScript, welche sich auf die Pfeiltasten (oder andere Funktionstasten des Screenreaders) beziehen, ignoriert. Dies betrifft weitere Tasten wie:
- Escape
- Enter
- Tab
- Leertaste
Je nach Screenreader können weitere Tasten durch diesen belegt sein, bspw. H für Navigation über die Heading-Elemente und F für die Navigation über Formulare in JAWS.

Formular-/Fokusmodus
Im Formular- bzw. Fokusmodus (der Name wechselt abhängig des genutzten Screenreaders) entfällt die Navigation des Screenreaders über das "virtuelle DOM". Stattdessen wird über die Tab-Taste der Fokus des Screenreaders über das DOM gelenkt, wodurch bspw. Formular-Elemente direkt angesprochen und gesteuert/gefüllt werden können. Somit wird es auch möglich, Funktionen, welche via JavaScript auf verschiedene Tasten gelegt wurden, zu bedienen.