JAWS and RegularTables

Even if a table is NOT coded with table header tags <th> JAWS assumes the first row and column contain row and column headers. This can be both good and bad; good if the table markup is lacking, confusing if the table only contains one or the other of row and column headers. Take a look at the following two examples:

Regular Table with Both Row and Column Headers

TV Listings with Both Column and Row Headers

8:00 PM 8:30 PM 9:00 PM 9:30 PM 10:00 PM 10:30 PM
ABC Scrubs Better Off Ted Lost The Unusuals
CBS The New Adventures of Old Christine Gary Unmarried Criminal Minds CSI: NY
FOX Bones American Idol Fox 5 News at 10
NBC Law & Order Law & Order: Special Victims Unit Law & Order

A JAWS user with the virtual cursor in row three, column three, hears the following information when they use the keystroke to read the current cell (CTRL+ALT+NUM PAD 5):

8:30 PM, CBS, Gary Unmarried

When a JAWS user is navigating left and right across a row, JAWS automatically reads the information in row one as a column header, followed by the cell contents where the virtual cursor is located. When a JAWS user is navigating up and down through a column, JAWS automatically reads the information in column one as a row header, followed by the cell contents where the virtual cursor is located.

In the table above, when a JAWS user is moving down column three, she hears the following:
ABC, Better Off Ted
CBS, Gary Unmarried
FOX, Bones
NBC, Law & Order

When a JAWS user is navigating across row four, she hears the following:
8:00 PM, Bones
9:00 PM, American Idol
10:00 PM, Fox 5 News at 10

Regular Table with Only Column Headers

As previously mentioned, JAWS assumes the first column and first row are headers, even if they are not properly marked up. In the following table the first row contains column headers but column one does NOT contain row headers:

TV Listings with Only Column Headers

8:00 PM 8:30 PM 9:00 PM 9:30 PM 10:00 PM 10:30 PM
Scrubs Better Off Ted Lost The Unusuals
The New Adventures of Old Christine Gary Unmarried Criminal Minds CSI: NY
Bones American Idol Fox 5 News at 10
Law & Order Law & Order: Special Victims Unit Law & Order

In the table above when the JAWS user navigates down column three she hears the following:
Scrubs, Lost
The New Adventures of Old Christine, Criminal Minds
Bones, American Idol
Law & Order, Law & Order: Special Victims Unit

Clearly this is confusing. The JAWS user can change JAWS settings if she knows how, but many do not know how. The steps are:

  1. Press INSERT+V to open the Adjust JAWS Options dialog box.
  2. Press T until you find "Table Titles Announce - Both Row and Column."
  3. Press SPACEBAR to change this to "Table Titles Announce - Only Marked Headers."
  4. Press ENTER to close the Adjust JAWS Options dialog box.

Clearly, this is not an optimal solution, since it causes the JAWS user confusion in the first place, or forces her to try to change her screen reader settings.

Table Using Colspan Instead of Caption

In the following table the author used the colspan attribute instead of a caption. The result is that the whole first row looks like a caption, but of course, it is not.

NOTE: JAWS does NOT treat the text in a row that spans all columns of the table as a header for the columns below. This is by default, because it could be too verbose.


Second Quarter Results
April May June
Chicago Sales Up 2% Down 3% Up 4%
Pensacola Sales Up 4% Up 7% Up 12%

It is better to use the caption tag for the table above as follows:

Second Quarter Results

April May June
Chicago Sales Up 2% Down 3% Up 4%
Pensacola Sales Up 4% Up 7% Up 12%

Prior page

Next page