War 2

Guideline 5. Create tables that transform gracefully.

"Ensure that tables have necessary markup to be transformed by accessible browsers and other user agents."

Link to original article

Tables should not be used for layout anymore. This is a very outdated and inefficient way to build and also poses major challenges for screen readers and other user agents.

If you are going to use tables, then they should be used for tabular information. A restuarant menu would be an appropiate use of tables. A navigation bar would be an inappropriate use of tables because navigating such a table would be very difficult for anyone who relies on a screen reader or other user agent.

To make appropriatte tables usable, follow proper markup beginning with tables headers. The HTML for this is 'th'. By building a table correctly and labeling the table with descriptive table headers you make it much easier for disable users to navigate the table. If table headers are vague or non-existant, then users will have a terrible time understanding the table content and finding the information they need.

There is a handful of elements that deal with table layout. This guideline summarizes them in this way, "For data tables that have two or more logical levels of row or column headers, use markup to associate data cells and header cells. [Priority 1]
For example, in HTML, use THEAD, TFOOT, and TBODY to group rows, COL and COLGROUP to group columns, and the "axis", "scope", and "headers" attributes, to describe more complex relationships among data."

Although CSS has totally eliminated the need for table layout, using tables is still a very effective way to organize data.

Good example of this guideline