Tables Screen reader compatibility

Last updated: October 16, 2016

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

The results include two types of test:

Note: Screen readers attempt to detect layout tables using heuristics, which vary widely between screen readers. When a layout table is detected, a screen reader linearizes the cells into a series of paragraphs, which prevents the table data being understood as a grid. This causes serious problems when a data table is wrongly identified as a layout table. For example, consider trying to understand the Periodic Table of the Elements as a long series of element names without the columns.

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.

ComboVersionsReliability
JAWS IEJAWS 17.0.2619 with IE11100%
JAWS FirefoxJAWS 17.0.2619 with FF48100%
NVDA IENVDA 2016.2 with IE1160%
NVDA FirefoxNVDA 2016.2 with FF4880%
VoiceOver MacVoiceOver OSX 10.11 with Safari 9.1.260%
VoiceOver iOSVoiceOver iOS 9.1 with Safari iOS 9.160%
WindowEyes IEWindowEyes 9.2 with IE11100%
Dolphin IEDolphin SR 15.05 with IE11100%
SaToGo IESaToGo 3.4.96.0 with IE11100%
Average Including older versions 75%

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%201348%201481%201580%201680%

Sometimes works

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

Screen ReaderNVDAJAWSVoiceOverWin-EyesDolphinSaToGo
BrowserIEFFIEFFMaciOSIEIEIE
Should work. Fails in 1% - 25% Data table with CAPTION and THGoodGoodBetterBetterGoodGoodGoodGood
Should work. Fails in 1% - 25% Data table with SUMMARY and THGoodGoodBetterBetterGoodGoodGoodGood
Should work. Fails in 26% - 50% Data table with TD HEADERS attributeBadGoodBetterBetterBadBadGood
Should work. Fails in 1% - 25% Data table with TH cell headersGoodGoodBetterGoodGoodBetterGoodGoodGood
Should work. Fails in 51% - 75% Data table with TH row/columns headers with SCOPEBadBadGoodGoodBadBadBetter
Should work. Fails in 26% - 50% Data table with role gridBetterGoodBetterBetterBetterBetterGoodGoodBad
Should work. Fails in 51% - 75% Data table with role rowheader headers but no THBadBadGoodGoodBadBadGoodBadGood
Should work. Fails in 1% - 25% Layout table with role presentationGoodGoodGoodGoodGoodGoodBetterGoodBad
Should work. Fails in 1% - 25% Layout table with single cellGoodGoodGoodGoodGoodGoodGoodGoodBad

Expected to fail

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

Screen ReaderNVDAJAWSVoiceOverWin-EyesDolphinSaToGo
BrowserIEFFIEFFMaciOSIEIEIE
Should fail. Fails in 76% - 100% Data table with CAPTION but no THBadBadBadBadBadBadGoodBadGood
Should fail. Fails in 76% - 100% Data table with SUMMARY but no THBadBadBadBadBadBadGoodBadGood
Should fail. Fails in 51% - 75% Data table with TH row/columns headers without SCOPEBadBadBetterBetterBadBadWorse
Should fail. Fails in 51% - 75% Data table with THEAD, TFOOT but no THBadBadBadBadGoodBetterGoodGoodGood
Should fail. Fails in 76% - 100% Data table with no TH elementsBadBadBadBadBadBadGoodBadGood
Should fail. Fails in 76% - 100% Data table with null SUMMARY but no THBadBadBadBadBadBadGoodBadGood
Should fail. Fails in 51% - 75% Data table with role noteBetterBadBadBadBadBadWorseGoodGood
Should fail. Fails in 76% - 100% Data table with role presentationBadBadBadBadBadBadWorseGoodGood

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: