Screen Reader Compatibility Blog Posts

Layout table vs data table detection

Jun 26, 2020

Summary The table element in HTML is not always treated as a table by assistive technology. Historically HTML tables have been misused for layout. Before the introduction of CSS Grid in 2017 there was no reliable CSS method to layout HTML on a grid, so tables were often used instead (and some legacy browsers still don’t support CSS Grid). This means there are two types of table: Data tables containing data where rows and columns have meaning (e.

Screen reader tests - January 2020

Jan 11, 2020

We’ve just released a new batch of screen reader test results. We started testing screen reader support for accessibility features in 2012. Since then we’ve run over 10,000 individual tests covering 54 browser and screen reader combinations. New tests in this release cover: NVDA 2019 with Chrome, Firefox and IE11 JAWS 2019 with Chrome, Firefox and IE11 VoiceOver with Safari on macOS 10.14 and iOS 12 This is the first release with tests results for Chrome.

Screen reader tests - April 2019


A new batch of screen reader test results is now available. New tests in this release cover: NVDA 2018 with Firefox and IE11 JAWS 2018 with Firefox and IE11 VoiceOver with Safari on macOS 10.13 and iOS 11 A key finding is aria-label no longer works when reading links in JAWS 2018 with Firefox 60, but did work in previous versions of JAWS and Firefox as far back as 2012.

Table cell header calculation for AT

Feb 14, 2016

Summary This post describes how table cell headers for screen-readers are calculated. TH with SCOPE=ROW or SCOPE=COL is unambiguous and widely supported TD with SCOPE is non-conforming in HTML 5, and is ignored as a header on some browsers (works in Apple WebKit, but ignored in Chromium WebKit). On tables with headers in the top row, or first column, TH without SCOPE usually works. TD HEADERS is problematic because it assumes a single list of headers for each cell, but accessibility APIs expose row and column headers as separate properties On any other table, TH without SCOPE produces wildly varying results.