Removing tables from HTML
Coffee spurts everywhere. “What!”, I can hear you choking, “Are you crazy?”.
I agree. Tables are great. They provide a implementation that is pretty much identical across all browsers. Not to mention they are pretty kick-ass at presenting tabular data. So why is it then that people feel the need to eradicate them altogether?
“Eh?” example number 1
A couple of days ago I stumbled across an article written by Antonio Lupetti called “FORM elements design using CSS and list (ul and dl)”. Antonio has developed a HTML list based form, all in the name of standards. Although forms are a series of labels and inputs they do not belong in a list—a list is for a number of items which fully relate to each other. So what does this really mean? Well, quite clearly it is not semantic markup. It’s like using a div tag instead of p tags, you just don’t do it.
“Eh?” example number 2
This one is a real brain teaser. I can see why Rob Glazebrook has marked up the HTML the way he has, but the implementation is really, really… wrong. I give you “A Semantic List-Based CSS Calendar”.
Lets break this into a series of why this is incorrect:
- A calendar is tabular data. No escaping that one.
- There is no day-of-the-week. Funny, because that is the only section which should be put in a list.
- Styling a list to look and feel like a table is using the wrong element. You'll want to use the table for that, strangely enough.
- What happens when someone with CSS disabled comes along? They will no longer see what you want them to see. You don't get that with a table.
This is an increasing trend
Sorry to say it, but lists are becoming the new table. Lists need to stay to what they are intended for, listing things, just as tables should be used for that they are intended for, tabular data. Just remember that it isn’t always about what looks right—people do browse with screenreaders which will tell the user what is coming up. They will not expect a form to be in a list, for example.

1 George Swan wrote
26th June, 2008
Ever since CSS took off people have been abusing CSS, making it do things that it was never ever meant to achieve. This is just a few examples of hundreds which exist in the jungle that is the WWW.