2.10 Do not use structural mark-up to format information laid out using tables
WAI checkpoint 5.4
Full WAI text: "If a table is used for layout, do not use any structural mark-up for the purpose of visual formatting." A table is an HTML element which can be used to present information in tabular format or to control the visual presentation of a web page. Do not define information contained in table cells as structural elements purely to achieve a visual effect if the table is used to control the layout a page.
Defining the text content of a table cell as a column heading so it displays as bold text is an example of misusing structural mark-up to achieve a visual effect.
People who can visually scan a page that is laid out with tables can determine the structure of information by visually identifying and comparing structural elements - row and column headers, headings and subheadings. However, people who use a text-only browser or who can't see the page rely on an accurate description of structural elements to gain an understanding of it's structure.
If content items are incorrectly identified as structural elements in the underlying HTML, the page structure will not make sense when it is presented by a text only browser or screen reader.
Directions and Techniques
Separate structure and presentation
Design the structure of documents or web pages before thinking about how they will be presented to the user. Consider how the page will be read by a screen reader or with tables linearised. Refer to WAI Recommended Techniques for separating structure and presentation
How you could check for this:
Read tables in a text-only browser
A text only browser, such as Lynx will show you how the page renders when the table is linearised. Opera is a web browser which allows you to linearise tables and this can also be used. Read the content of the table to see if it makes sense when linearised.
Test the table with a screen reader
Some screen readers don't cope well with tables and it is best to read the content of the table with one of these to see how the content reads when the table is linearised.