Representing tabular data in XML is awkward enough without also adding accessibility features. Tables seem straightforward when they are just rows that each have the same number of columns, but real-world tables have cells that span rows and/or columns, table head rows, and table cells that act as headers for other cells in the same row or in following rows. Imagine trying to make sense of all of those when you can’t see the formatted table.

In this contrived example table (shamelessly borrowed from HTML 5.3 [TH]), the bold text (which you might not be able to see) acts as a header for cells below and/or to the right of the header cell:

Table 4. Measurement of legs and tails in Cats and English speakers

ID Measurement Average Maximum
93 Legs 3.5 4
10 Tails 1 1
English speakers
32 Legs 2.67 4
35 Tails 0.33 1

The following figure shows the relationships:

Figure 3. Scope in sample table

Scope in sample table