Mat (re: “47”:http://alistapart.com/comments/multicolumnlists?page=5#47 ), tables might seem to be a solution at first, but let’s think it through. For a three-column table, are you proposing a table with 3 columns and N rows? Table cells are read across and then down, so if your table consisted of these nine cells:
a | d | g
b | e | h
c | f | i
...then your data sequence in the markup would be a,d,g,b,e,h,c,f,i. Put that in your screen-reader and smoke it! I think that’s sacrificing the integrity of the data in order to use table markup to get things to align properly.
Another way to use a table for list-wrapping is to create one cell per column, so cell 1 would contain the first part of the list:
cell 2 would contain the next part:
and so on. This splits the list into several sub-lists, which falls short of the ideal single semantic list, and uses the table purely for layout and not for its semantic structure.
For me, another philosophical & practical disadvantage of using tables is that the markup controls the column-wrapping, which I consider presentational.
Please let me know if I’m overlooking a table-based solution that preserves the sequence of the original list and uses the table as a semantically-meaningful structure and not merely a visual layout tool.