JAWS has a weird way of recognising data tables

Screen readers have some quirks and odd behaviours, and one that is quite hard to understand is how JAWS determines whether a table is a layout or data table. From Jared Smith’s JAWS ate my tables:

However, JAWS does not consider table headers or any other markup commonly used in data tables to determine the table type.

Instead, JAWS assumes the presence of a data table if it has at least 2 rows and 2 columns AND at least 4 cells in the table are between 200 and 16000 square pixels in size.

Say what? Like Jared says, the presence of a th element makes it virtually guaranteed that the table is a data table. Likewise if the table has a caption element or contains scope or headers attributes.

Sure, there will always be exceptions to the rule, but I have seen very, very few instances of those elements and attributes being used in a layout table.

Posted on December 17, 2009 in Accessibility