Cell of data table should refer to headers |
Section 508 1194.22(g); WAI / WCAG 1.0 checkpoint 5.1
Issue Description The page includes a table that has TH tags without ID or SCOPE attributes. If the table is used to present data, provide header information.
How to check If the table is used to present data, make sure that each row and column has appropriate headers defined by TH tags. 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 Tables can be used to present data such as a bus schedule, a comparison of regional sales figures, or a listing of employee contact information. Cells in data tables like these are related to each other and usually must be perceived as a group. Tables can also be used to lay out images and text on a page. Each cell in a layout table like this is normally independent and can be viewed on its own.

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).

Layout tables, on the other hand, are not used to convey information and therefore they do not need to be accessible. Note however that W3C suggests using styles to lay out the content of a page. For more information, see http://www.w3.org/TR/WCAG10-CSS-TECHS/#style-alignment.