Crimes against HTML: Best practise and the CMS

I’ve been evalu­at­ing some content-management systems recently. We’ve got a few require­ments that rule out a lot of them straight off: It’s got to be a .net system, be able to run over SSL and be very secure, have decent version­ing, document manage­ment, audit trails and so on. There aren’t many products out there quite fit our needs.

We’re currently working with one (I’m not going to name names here) which has a document manage­ment compon­ent that looks something like this:


It’s a simple tree-view that works very simil­arly to Windows Explorer. Believe it or not, to build that simple box they’ve used twelve nested tables, a div, a span, endless inline styles, javas­cript: URIs and even a made-up HTML attrib­ute (view the full horror). Even if you don’t know HTML, you can see that it’s overkill. Apart from one on the outer-most element, it’s lacking any useful IDs or class-names for me to hook into with my style-sheet.

I know I’m a mark-up purist, but really that’s just taking the piss. Accessibility? Search-engine friend­li­ness? Page load-time optim­isa­tion? Nope, never heard of them. It’s alright though, it does AJAX.

It’s no wonder that so many corpor­ate web-sites have appalling mark-up when this is the state of the default output from the “enter­prise level” CMS products that drive them. If web stand­ards and best practise are going to go truly mainstream, we’re going to have to reach out to the developers of these products and nudge them in the right direction.

I’ll leave you with this exerpt from Bruce Lawson & Patrick Lauke’s talk at the multipack’s Geek in the Park event:

Legal & General… made their site access­ible because they were worried about the legal risk.

And they found as side effects: 30% increase in natural search engine traffic, a signi­fic­ant improve­ment in Google rankings for all their target keywords, a 75% reduc­tion in time for pages to load, access­ible to mobile devices, their time to manage content reduced from an average of five days to half a day per job, they saved £200,000 a year on site mainten­ance, they got a 95% increase in visit­ors getting a life insur­ance quote (which was the purpose of that site), a 90% increase in sales online, and 100% return on invest­ment in 12 months. And that was the side effects of making the site accessible.

14 Responses to “Crimes against HTML: Best practise and the CMS

1. matt

It’s easier for the Programming geeks to add ajax to the system than for them to learn that using tables etc is utterly shite, and to be honest most of the coding will be done by program­mers that only really know how to bodge together webpages in the table stylee.

I find I hand off a design to someone else, all nice and properly (kinda) tagged up and when I see it next all these funny little TDs and TR’s have appeared, usually inside more tables and assor­ted soup.

I know!! Let’s just to everything in JPGs :)


2. Weon

Ha ha ha ha! I know I’m not as much of a stand­ardista as you are but that makes me cringe.

That story about Legal & General is great — it’ll be dead handy when trying to convince clients of the benefits of build­ing proper sites.

3. Olly

Maybe you’re not, but at least you “get it”. These guys have no idea at all.

As if by magic, a new set of .net web controls have just been released and appear to do a much better job. They’re not perfect (e.g. the tree view has some silly alt attrib­utes and the dreaded href="javascript:__doPostBack) but they’re a vast improve­ment over what we’ve got here.

Alas they’re only for net2.0. I guess you can’t have everything.

4. Weon

I think Mr Coote has been using that for a while — he certainly was raving about it.

5. Simon

Can you have a word with the dude who made myspace as well. I’ve done CSS for that with about 6 or 7 td’s in a row etc… its a complete mess. People are just lazy I guess.

6. Olly

I think MySpace is a lost cause.

Besides, it’s not just laziness, it’s lack of knowledge. They just don’t know any better.

7. Gareth Rushgrove

I’m playing with a proper Gartner Enterprise CMS at the moment as well and, although the admin system has similar problems, it is a proper CMS, ie. it manages content and leaves render­ing up to you.

This always winds me up about so called CMS systems, when they mix the manage­ment of the content with the render­ing and end up as more of a portal builder.

8. matt

MySpace was bunged together and was never supposed to be all that popular.. the creat­ors must be pinch­ing themselves (probably with gold plated fingers)

9. Caz Mockett

Gah! That’s horrible.

I get very frustrated when I’ve handed over nicely-semantic and standards-compliant templates to the developers and they go march­ing over them with their table-based hobnail boots.

The few folks I have managed to try to educate, seem to be “getting it” (finally!) and all of a sudden, you can see the light­bulb go on above their head — “oh, yeah, and it’s easier too!”

I’m about to get my fingers dirty with .Net Nuke — but I know this pumps out some fairly lardy tabled-up crap. Hopefully it’s config­ur­able enough to be able to tell it to use a list instead of nested rows of a table… we’ll see.

You may well hear me ranting about it over at my blog in due course.

10. grant

Should I try and guess who’s site it is?

11. Olly

I think you already know.

12. James Chen

I think so.

13. D

That’s not Web500 is it? That was the first .net CMS we looked at several years ago. Promised of ‘Oh yea, this supports CSS’ turned out to actually mean ‘sure, you can change the font with an inline style on an element nested a dozen tables deep’


14. Olly

No, this is altogether more advanced. This one supports CSS, but your front-end styling bleeds over into the admin inter­face and causes havoc back there :D