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:
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
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:
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:
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.
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:
April | May | June | |
---|---|---|---|
Chicago Sales | Up 2% | Down 3% | Up 4% |
Pensacola Sales | Up 4% | Up 7% | Up 12% |