A week ago I stumbled upon this article from Stuart Brown, which actually even got a fair amount of Diggs. As soon as I read it, I felt obliged to reply extensively to it, as I think it mostly represent everything which is wrong in the current web design trends (or should I say all time web design trends?).
Something that really annoyed me about the article, was the lack of serious points and the abundance of useless words like “some standards evangelist”, “Obsessing over semantically correct markup”, “a few standards zealots”, “zealotry accomplishes nothing but a collection of smug faces and a collection of ‘XHTML 1.1 Compliant’ bylines”. Those were only fruitless diversions and not real arguments.
The authors gets one thing right, though, and it’s that
your users don’t care about XHTML, they care about how your site appears.
If you can satisfy the usability needs of 100% of your users, yet your code doesn’t validate, then arguably you need do no more.
I’m really strong about my disagreement here. Validation serves a purpose: that is to minimize differences when rendering the website in different browsers. A well validated page doesn’t need any guess-based correction by the browser. And Stuart talks about usability, whereas a website that doesn’t validate will have a harder time in meeting usability requirements for impaired persons. On February 2006 there was a story about Target (a retailer), being sued because its pages were unaccessible by visually impaired users. The retailer was accused of violating the California Unruh Civil Rights Act, the California Disabled Persons Act and the Americans with Disabilities Act. Needless to say, the website still doesn’t validate (it doesn’t even have a DOCTYPE).
So, why else standards (and especially web standards) are needed?
Standards make it easier for your browsers to render the pages.
HTML or CSS are, in a way, standards. I.e. a set of rule, meant as a markup language specification, to be followed in order to design a web page. On top of these specifications, people who write browsers have done their work. Unfortunately, though, not all developers are able to, or care to, be strict regarding standards. That means that the browsers must have a way to correctly interpret some code even though it’s fundamentally incorrect. What’s the result of this? Browsers developers have to waste time into taking care of correcting the mistakes of web developers. This, in turn, gives web developers the chance to relax and write worse and worse code. And this makes browsers developers’ life worse, and their work slower. In the end the users get nothing but worse
Standards make life easier for users.
We can take this off the Web Standards examples, and move to some “real life” cases. Ironically enough, the other day I was staring at my toilet seat for a while, and noticed that the holes in the toilet in which you can screw your seat in, are at a fixed distance, and just slightly larger than longer, so to give a little margin: i.e. if you want to buy a new toilet seat, the distance between the screws with which you attach it to the toilet must be between X and X+1 cm. So, when I went to the shop to get a new toilet seat, I didn’t have to worry about the size. Vendors of toilets and vendors of seat had just agreed on a standard size. The result? No hassle for the user (me).
Search engines like standards.
Search engines don’t like finding errors. If they have trouble parsing your pages, they may not get to your carefully chosen keywords, won’t be able to find all those tightly focused meta tags. Your site will be crippled on any search engine results page. This is not good. A well designed website creates a clear channel, a road map, for search engines, so they know to go exactly where you want them to go and see exactly what you want them to see.
End of the list? Yes. This is all that matters, in the end, to the final user. He doesn’t care how, but in the end he gets better products. Of course there are lots of side effects, e.g.:
- Standards minimize the differences in the way your pages appear in different browsers.
- Standards improve the quality of your code, hence the quality of your product.
- Code that adheres to standards is easier to maintain.
- Validating your code during the development process eases the discovery of flaws and mistakes.
- Standards increase your value.
Before anyone could say that nobody needs a new article about web standards, let me remind you that the following websites won’t validate:
This means that the standards-aware developer are just a tiny minority. The rest, obviously, don’t think that quality is a good asset for their websites. Writing non-validating code is a big step backwards, on the path of perfection.