I started writing this entry as a comment on Dave Carabetta’s blog but it got a little long so I decided to explain myself in full here.
Dave posted that he had decided to try moving the HTML coding his company is doing to “standards-based” or table-less layout. After fighting with some cross-browser CSS problems for an inordinate amount of time he posted his thoughts on the issue in CSS “Standard”? More of a Suggestion…
Fact is, the CSS and HTML specifications published by the W3C are not standards or even suggestions. They are in fact “working drafts” until they become “recommendations”, and that pretty much sums the issue up – they are not “standards” in the ISO sense of the word. “Standards-compliant” is merely a conveniently descriptive term, one that helps convey their importance if we ever hope to repair the damage to web developers’ sanity caused by the Netscape VS Internet Explorer wars of the 1990’s. As for suggesting that the so-called standard “isn’t much of one” because browser support is not yet 100%, that doesn’t make sense to me – surely that would be the fault of the browsers and not the standard?
Despite all the disclaimers, cross-browser CSS-based layouts are definitely possible and take no more time than traditional table-based layouts. Maintenance and upgrades to CSS-layouts are also much quicker and easier. And accessibility becomes that much less of a hassle with a standards-compliant base to work from.
As many of the comments on Dave’s blog reiterated, there’s a learning curve and different mindset associated with CSS layouts. But once you’re over the “hump”, so to speak, it gets ridiculously easy – PerthWeb hasn’t put out a table layout in nearly three years, and it takes us no more time than old-school table layouts took, despite the fact that we’re now officially supporting far more browsers than we used to. Many, many companies are doing the same thing, because as a web professional it’s your duty to be up to date with the latest best practises in your industry.
It’s also not something you’d want to do all by yourself – help is definitely required. For anyone contemplating making the move, my recommendations are:
- Check out Jeffrey Zeldman’s book Designing with Web Standards. It’s an easy read, packed full of useful information that’s a mix of how and why.
- Check out the Web Standards Group and css-discuss. Both are frequented by some very smart and helpful people and neither tolerate off-topic posts so the signal to noise ratio is excellent. A small warning: css-discuss has a quite high traffic.
- Make use of prebuilt existing layouts rather than re-inventing the wheel. There’s some good ones out there. A good place to start is the css-discuss wiki page on css layouts.
I’m expecting some negative comments here from those who don’t think CSS layouts are worth the effort to learn, but I’m not posting this to debate the benefits, I just want to clear up some points for those who might be interested.