Tutorials from WAC. Click or press ALT+T to return to the Tutorials main page.

Understanding and Applying
Section 508 Standards


divider

Data Table Headers:

(g) Row and column headers shall be identified for data tables and (h) Markup shall be used to associate data cells and header cells for data tables that have two or more logical levels of row or column headers.

Large tables of data can be difficult to interpret if a person is using a non-visual means of accessing the web. Users of screen readers can easily get "lost" inside a table because it may be impossible to associate a particular cell that a screen reader is reading with the corresponding column headings and row names.

For instance, assume that a salary table includes the salaries for federal employees by grade and step. Each row in the table may represent a grade scale and each column may represent a step. Thus, finding the salary corresponding to a grade 9, step 5 may involve finding the cell in the ninth row and the fifth column. For a salary chart of 15 grade scales and 10 steps, the table will have at least 150 cells. Without a method to associate the headings with each cell, it is easy to imagine the difficulty a user of assistive technology may encounter with the table.

Here is a table with both row and column headers:

Student

Academic Level

Current Program

Lori Badia

M.A. completed

Ph.D. English

Susan Bailey

B.S. completed

M.B.A.

Alicia Baker

B.A., in progress

Dept. of Education

Here is the code used to define this table, including headers:

<table width="90%" border="2" id="datatable" summary="This table contains information on student programs. Each row lists the student name, academic level completed to date, and current program enrolled.">
<tr>
<th scope="col"><p>Student</p></th>
<th scope="col"><p>Academic Level</p></th>
<th scope="col"><p>Current Program</p></th>
</tr>
<tr class="smallertxt">
<th scope="row"><p>Lori Badia</p></th>
<td><p>M.A. completed</p></td>
<td><p>Ph.D. English</p></td>
</tr>
<tr class="smallertxt">
<th scope="row"><p>Susan Bailey</p></th>
<td><p>B.S. completed</p></td>
<td><p>M.B.A.</p></td>
</tr>
<tr class="smallertxt">
<th scope="row"><p>Alicia Baker</p></th>
<td><p>B.A., in progress</p></td>
<td><p>Dept. of Education</p></td>
</tr>
</table>

As a screen-reader, like JAWS, reads this table, each data cell can be identified by either row or column header. For instance, when reading across row two, JAWS reads the row header:

"Student Lori Badia, academic level, M.A. completed; current program, Ph.D. English."

When reading down, JAWS reads the row header for each cell. For instance, when reading column three:

"Lori Badia, Ph.D. English; Susan Bailey, M.B.A., Alicia Baker, Dept. of English."

Row and column headers help insure that data tables can be understood.

Next  Link and graphic of hand pointing to the next page.

divider

(a) Alternate Descriptions for Non-Text Elements | (b) Synchronization with Multimedia | (c) Use Color for Design, not Context | (d) Using Style Sheets | (e) Server-Side Image Maps | (f) Client-side Image Maps | (g & h) Data Table Headers | (i) Using Frames | (j) Flashing or Flickering Elements | (k) Updating Text-Only Versions | (l) Using Scripts to Create Dynamic Pages | (m) Using Applets and Plug-Ins | (n) Using Online Forms | (o) Skip Navigation Link | (p) Using Time Out Scripts | 508 Checklist | Testing for 508 Compliance |

Return to Start of Section 508 Tutorial

Information in this tutorial adapted from the Section 508 web site: http://www.section508.gov and the Access Board's Guide to the Section 508 Standards for Electronic and Information Technology.