KillerSites Blog

Web Standards are for web browsers and not web designers.

December 30, 2005

INTRODUCTION

The title of this article is controversial … the truth often is.

In my effort to reveal (what I consider to be) a huge disservice to the web design world, I continue to hammer home the fact that the web standards movement has gone too far – it has promoted bad practices and bad web design.

WEB STANDARDS ARE GOOD … WHEN USED AT THE RIGHT TIME.

Before I go on, I want to stress that I believe web standards are a good thing – it makes sense that browser makers agree on how things should work … it makes web design and web application development much easier and cheaper

That said, let’s try to remember that web design is not a mathematical equation to be balanced (or validated,) it is about creating effective websites that work today!

A LITTLE BACKGROUND.

I was building websites in 1994 back when the W3C was formed. For those of you who may not know, the W3C is an organization put together to define the specifications for web technologies like:

  • HTML
  • XHTML
  • CSS

The web standards were created for browser manufacturers to implement and not for web designers. Well … at least not until the browser makers can get their act together and properly support the web standards. 

It makes no sense for web designers to try and force web standards based code to work in browsers that don’t support web standards properly.

WEB STANDARDS-CART BEFORE THE BROWSER-HORSE

Those who lead the web standards movement, must have forgotten the wise old proverb: ‘Don’t put the cart before the horse.’

In the context of web design, this means that you shouldn’t try to use technology/techniques and code that is NOT YET supported in the majority of browsers being used. Unfortunately, the web standards movement has done just that, and now there is a cost a lot of people are paying.

THE COST OF ZEALOUS ADHEARENCE TO WEB STANDARDS 

In a reality where (currently supported) CSS is not well suited for page-level layouts and buggy/inconsistent implementation between the major browsers (Internet Explorer FireFox,) are a fact of life, designing web sites following the now popular web standard zealot practices, has wasted countless hours for no real benefit.

Consider these facts:

  1. CSS for layout is not intuitive at all. Since when is: ‘margin:0px auto’ intuitive for creating center aligned layout.
  2. CSS is buggy and inconsistent between browsers.
  3. The only true advantage of CSS based layouts is the separation of structure from formatting. This translates into the cross-device compatibility. A questionable need for most websites at this time …

CSS code for page layout stinks in terms of intuitiveness … it is the worst technology for page or user interface layout I’ve ever seen.   Anyone who has designed screens with Java or VB knows this. Actually, anyone who has used HTML tables for page layout knows this!

For example:

Creating a center aligned fixed or fluid layout, where the height expands perfectly in all browsers (without the need for hacks) is trivial and intuitive with an HTML table. With CSS, it is a tricky thing that requires hacks.

In fact, a whole culture of ‘hackery’ has developed because of this flaw in the thinking of the web standards zealots – the foolish practice of ‘putting the cart before the horse.’

TROUBLE WITH CSS HACKS

Because of the aforementioned problems with CSS and the browser bugs, hacks have been created to shoe-horn web standards based web sites into working with the browsers. At first glance the hacks seem like a viable solution … but they aren’t.

In fact, hacks should be avoided because CSS hacks rely on ‘broken’ aspects of browsers … things that can get fixed. Any programmer (with just a little experience) knows that basing your work on a broken technology is a recipe for disaster … because things get fixed.

THE DISASTER HAS OCCURED – IE7 WILL BREAK MANY WEBSITES THAT USE THE PROMOTED HACKS

One of the major arguments the web standards movement has used to convince people to ignore reality (the reality that CSS based layouts suck in many ways,) is the famous (infamous) forward-compatibility argument.

The myth of forward compatibility in a nutshell:  if you build your sites to standards, they are guaranteed to work in the future.

As it turns out, the first time this argument was put to the test (IE7) it failed miserably.  IE7 will be web standards compliant – so much so in fact, that many commonly used CSS hacks will break in IE7, forcing many well meaning web designers to have to go back and change their code – who’s going to pay for that time?

Some web standards zealots might argue that hacks are not ‘really’ promoted by the movement … this simply not true. Every web standards book, every web standards guru mentions, uses and promotes hacks. It too bad, since many web design books published in the last 3 years will have to be trashed since they teach techniques that will break in IE7.

THE SOLUTION

The key to this whole mess is found in common sense and a little experience:

Don’t leverage specifications until they are supported in the browsers.

Ok, how about making things work in both IE and Mozilla based browsers? The best solution is to use IE conditional comments. This is one example where thinking outside the web standards box makes perfect sense.

Stefan Mischook (a.k.a.: the web design heretic)