Dave Shea has written a great post about his misunderstanding of when to use (or not use) tables in his post Too Far. For those of you unfamiliar with Dave, he has provided a wealth of information and tools to the Web community (in addition to the CSS Zen Garden, and his book, The Zen of CSS design, there are many posts on this site that point to entries on Mezzoblue). He has taught many in the community about good design, and proper use of CSS, but he made the same mistake that many of us have – taking dogma too far by eliminating the use of tables throughout the site. The freedom and power of Cascading Style Sheets introduced a loathing for tables-based design within the community, and many, myself included, eliminated tables from our sites as quickly as we could figure out how to create multi-column designs in CSS.
Like Dave, I hit a point a while back where I realized that I was attempting to use CSS, Divs, Lists and the like to present tabular data, instead of utilizing the semantically correct table tags. For me, it was one of those “Ah ha!” moments – tables are not bad, they are actually very useful, but like any tool, they can, and have been mis-used within our community. The backlash is understandable, but a sizable portion of the community has since realized that the pendulum swung too far, and are now doing it the right way. This is due in large part to the work of Dave and many others like him.