[Skip navigation links]
Login

CSS and text content Screen reader compatibility

Last updated: September 22, 2021

Screen reader compatibility for CSS and text, showing how failures and techniques work in specific screen reader / browser combinations.

The results include two types of test:

Reliability by user agent

The solid area in the graph shows percentage of tests that pass in all tested interaction modes. The cross hatched area shows partial passes that only work in some interaction modes. An example of a partial pass is when form labels are read when tabbing, but ignored in browse mode.

ComboVersionsReliabilityTest Changes
JAWS ChromeJAWS 2019.1912.1 with Chrome 79100%
JAWS IEJAWS 2019.1912.1 with IE1150%
JAWS FirefoxJAWS 2019.1912.1 with FF6850%
NVDA ChromeNVDA 2019.2 with Chrome 79100%
NVDA IENVDA 2019.2 with IE1150%
NVDA FirefoxNVDA 2019.2 with FF6850%
VoiceOver MacVoiceOver macOS 10.15 with Safari 14.150%
VoiceOver iOSVoiceOver iOS 14.7 with Safari iOS 14.750%
WindowEyes IEWindowEyes 9.2 with IE11 
Dolphin IEDolphin SR 15.05 with IE11 
SaToGo IESaToGo 3.4.96.0 with IE11 
Average Including older versions 61%

The average includes all versions, but some browser/AT combinations have tests for multiple versions (NVDA / JAWS / VoiceOver), while others only have tests for a single version (SaToGo and Dolphin).

Reliability trend

100%80%60%40%20%0%201520162017201864%201963%202063%202163%

Works as expected

These tests use conformant HTML or WCAG sufficient techniques, and work in all tested browser / screen reader combinations.

Screen ReaderNVDAJAWSVoiceOver
BrowserIEFFCrIEFFCrMaciOS
Should work. Works in 100% Page with lang set on the html and p elementsGoodGoodGoodGoodGoodGoodGoodGood

Expected to work

These tests use conformant HTML or WCAG sufficient techniques and might be expected to work in screen readers. This doesn't always happen.

Screen ReaderNVDAJAWSVoiceOver
BrowserIEFFCrIEFFCrMaciOS
Should work. Fails in 76% - 100% Page with xml:lang set on the html and p elementsBadBadGoodBadBadGoodBadBad

Expected to fail

These tests use non-conformant HTML or WCAG failures and are expected to fail in screen readers.

Screen ReaderNVDAJAWSVoiceOver
BrowserIEFFCrIEFFCrMaciOS
Should fail. Fails in 26% - 50% CSS content: propertyBadGoodGoodBadBetterGoodGoodGood
Should fail. Fails in 76% - 100% CSS stylesheet link with media=auralBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% CSS stylesheet link with media=speechBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% CSS stylesheet media queries with @media speechBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% CSS stylesheet with @media auralBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% Definition lists with images as bulletsBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% Look alike unicode charsBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% Space separated tablesBadBadBadBadBadBadBadBad
Should fail. Fails in 76% - 100% Space separated wordsBadBadBadBadBadBadBadBad

Key

Tests expected to fail (due to authoring errors) are marked with Expected to Fail.

Test notes

All tests were carried out with screen reader factory settings. JAWS in particular has a wide variety of settings controlling exactly what gets spoken.

Screen readers allow users to interact in different modes, and can produce very different results in each mode. The modes used in these tests are:

In the "What the user hears" column: