Data tables should be defined by TABLE tag  
Section 508 1194.22(g); WAI / WCAG 1.0 checkpoint 5.1
 
 
Issue Description

The page includes a PRE tag with pre-formatted tabular data. If the PRE tag is used to present data, convert it to a TABLE tag.

 
 
How to check

If you're using the PRE tag to arrange and present data in a tabular format, format the data in a table using the TABLE, TR, TH, TD tags with appropriate attributes (ID, HEADERS, SCOPE).

In addition:

  • TH tags should have an ID attribute for identification
  • TD tags should have a HEADERS attribute that refers to the appropriate TH tags

Alternatively, the TH tag may have a SCOPE='col' or SCOPE='row' attribute, meaning that the header refers to the entire column or row, respectively.

It might be a good idea to use the ABBR attribute in the TH tag to provide a more concise description of the header to be repeated over and over by specialized browsers.

 
 
Issue Explanation

Data tables are used to convey information in a bidirectional medium, which often is not available for certain users. Consider the following examples:

  • A textual browser may not align rows and columns correctly because, for example, the content of a cell wraps
  • A reading browser sequentially reads the content of the table
  • A braille reader also sequentially scans the table
  • A browser with a very small display (such as a PDA or a cellular phone) shows only a limited portion of the table

In all these cases, the user has to mentally remember the context of the cell (which row and column does it refer to?). This requirement may be too strong, for example, when the table is large, when the user is under stress, or is impatient to find the needed information.

Consider also that in these situations, users might not be able to move directly from one cell of the table to any other. They are constrained to move sequentially, from one cell to its neighbors only (within the same row, for example).