A narrative follows the examples. 

The table lists travel expenses at two locations:  San Jose and Seattle, by date, and category (meals, hotels, and transport).  The following image shows how a visual user agent might render the table.

Image of table with 5 columns and 10 rows.

This first example uses th codes appropriately (and even uses caption and summary) but is not accessible because it has two levels of row heading (city and date) but does not use any HTML attributes or tags to reflect this.

Travel Expense Report, 1 of 2
  Meals Hotels Transport subtotals
San Jose    
03-Jan-01 103.02 103.03 103.04
04-Jan-01 104.02 104.03 104.04
subtotals 105.02 105.03 105.04 105.05
06-Jan-01 107.02 107.03 107.04
07-Jan-01 108.02 108.03 108.04
subtotals 109.02 109.03 109.04 109.05
Totals 110.02 110.03 110.04 110.05

This second example adds the id and hearders attributes.  It satisfies the standards for accessible complex data tables. 

Travel Expense Report, 2 of 2
  Meals Hotels Transport subtotals
San Jose    
03-Feb-01 103.02 103.03 103.04
04-Feb-01 104.02 104.03 104.04
subtotals 105.02 105.03 105.04 105.05
06-Feb-01 207.02 207.03 207.04
07-Feb-01 208.02 208.03 208.04
subtotals 209.02 209.03 209.04 209.05
Totals 210.02 210.03 210.04 210.05

The above examples illustrates how to create an accessible “complex” table.  Complex tables are those “data tables that have two or more logical levels of row or column headers”. These samples are adapted from the W3C WAI WCAG Techniques document.  These examples also include rowspan and colspan, but all cells have some content (but for some cell that means a single non-breaking space).  In order to help tracking with a screen reader, the dollar and cents values (which constitute the bulk of the table content) have been changed to reflect table row and column postion (for example, 102.03 would reprectent table one, row two, column three) but the totals and subtotals are no longer accurate.  A similar technique is used for the dates. 

Please note that the example graphic is a highly idealized, as shading and multiple border styles are used to suggest relationships among the rows and columns.  If desired, these visual elements could be achieved with CSS.