On CSS Tables

Recently, a very intelligent and talented designer/author named Rachel Andrew wrote an article for Digital Web Magazine called Everything You Know About CSS Is Wrong. It’s an informative, well-written article, complete with figures and examples. To open the article, she states, “When released, Internet Explorer 8 will support many new values for the CSS display property, including the table-related values: table, table-row, and table-cell—and it’s the last major browser to come on board with this support.”

For web-standards crusaders like me, this is great news. It means that we can—in one way or another—return to the mid-1990′s, table-based layouts and spare ourselves the headaches of position-ing, float-ing, etc. in CSS.

Or does it?

The very next line in Rachel’s article reads, “This event will mark the end of complex CSS layout techniques, and will be the final nail in the coffin of using HTML tables for layout. Finally, producing table-like grid layouts using CSS will be quick and easy.” Hold on a minute, Ms. Andrew. Rachel is calling for the “end of complex CSS layout techniques.” Well, let’s look back to the turn of the century (always wanted to say that) and see why we all migrated to CSS in the first
place.

As any informed CSS designer will agree, the table-based layout technique was abandoned for several key reasons. First, tables are not meant for layout. They are meant for tabular data (think grammar school multiplication tables). Second, CSS is a more accessible manner of displaying content, in that it can be adapted or removed completely by browsers and devices. Third, CSS promotes better cross-browser compatibility (believe it or not) and allows page content to be much more flexible and scalable
than tables.

A point of clarification. Ms. Andrew is not suggesting that we all ditch our web-standards soap boxes and regress by 10 years. I get it. She is pointing out that there is finally a legitimate, widely-accepted method of combining these two practices… best of both worlds.

However, I still beg to differ. There is only one major reason why CSS tables aren’t currently widely used: Internet Explorer. IE6 and IE7 both lack proper support of CSS tables and therefore, using them for Firefox, Safari, etc., and then cleaning up the mess left by IE becomes more of a hassle than it’s worth.

Well, I submit that just because Redman, WA finally got their act together on CSS tables for IE8 does not “mark the end of complex CSS layout techniques.” Releasing a new—albeit improved—browser won’t instantly eliminate the age-old problem of old, faulty browsers. The only solution to this problem, and solution to so many CSS-related problems, is to rid the planet of every instance of IE6 (and probably 7) once and for all.

And man oh man, am I looking forward to that day.