Layout tables may create accessibility problems, especially for people using older browsers and/or older assistive technologies. For example, Web designers often use tables to lay out text in side-by-side columns. Older screen readers handled these columns poorly, reading horizontally across the table one line at a time instead of reading the contents of one cell followed by the contents of the next cell. The results were usually unintelligible or hilarious or both. This problem has been largely resolved now, and contemporary screen readers usually "linearize" the text appropriately. That is, they read the contents of the cell at row 1, column 1 before moving on to row 1, column 2, and so on.
But linearization can create problems of its own, especially when nested tables are used as we saw in Chapter 7 when we stumbled over the reading order of the text on the Metropolitan Museum's highlights pages. For example, suppose you've set up a table such that the contents of a <td> element at row 1, column 2 is another <table> element, which in turn has several rows and columns. Assistive technologies will read the contents of the cell at row 1, column 1; then, when they come to the <table> element embedded in the next cell, the assistive technology will read that entire table including any additional tables that may be nested inside it from left to right and top to bottom, before returning to the cell at row 1, column 3 of the first table. If you found the last couple of sentences confusing, just imagine what listening to a set of tables inside tables inside tables might be like!
In fact, the key to creating accessible tables, other than the markup you will learn in this chapter, is to think about the order in which the information will be aurally presented to the user. Remember that people using screen readers cannot use visual cues to figure out where to focus their attention. Rather, they must wait to make their choices as information is delivered in the order we've described. As we saw in Chapter 7, the WAVE accessibility checker (Figure 11-1) can be a very useful tool when you need help visualizing the order in which people using screen readers and talking browsers will hear the material on your pages. Authors can also use a browser called Opera to test reading order (and a number of other things as well). Opera can be configured to ignore tables; this forces it to "linearize" the contents and so reveals any problems with reading order.
Figure 11-1. Screen shot of the WAVE, an accessibility evaluation tool that is helpful for understanding the order in which elements on a Web page will be read by screen readers and talking browsers. Accessed September 10, 2001, at http://www.temple.edu/inst_disabilities/piat/wave/. Used with permission.