Posting Date: August 08, 2003
Designing with Web Standards -- "There was a time not that long ago when many drivers thought nothing of tossing empty bottles out the windows of their cars. Years later, these same citizens came to realize that littering was not an acceptable way to dispose of their trash. The web design community is now undergoing a similar shift in attitude. Web standards are key to this transformation." (Comments: Thanks Gabriel White!)
Works only if:
- the standards have no major defects. But e.g. the W3C DOM has some big holes - it messes up getting the position of a mouse event and most "compliant" browsers have introduced non-standard ways to access the browser's parser (Mozilla / NS 6 actually has 2 - innerHTML and createContextualFragment). And I often think IE's box-model is more logical than that of the CSS standard.
- browsers all interpret standards the same way and implement them correctly (see the same examples).
- designers don't have to content with different browsers being at different levels for different technologies (for example we all know IE's box-model problems; and until recently Opera has had virtually no DHTML).
- The standards don't actually contradict the facilities offered by the dominant supplier (guess who?)
- No other commercially significant browser besides the dominant one is non-compliant - until the last year or 2 Netscape 4 was everyone's biggest problem.
Oops, I hit "Post" instead of "Preview".
In the real world designers or their clients want an acceptable balance between cost and market penetration, so they will rank target browsers:
- 2 or 3 versions of IE for Win are more important than all other browser / platform combinations.
- browsers which fully and correctly implement standards which have been around long enough to be implemented.
- quite possibly ignore the rest - who knows how many browsers there really are?
If the Web standards bodies want to be taken more seriously than Microsoft is, they need to impress some mega-clients, especially the US Government, which has been a major influence in the standardisation of other technologies including most programming languages. To do this the Web standards bodies need at least to:
- Avoid major errors like those in item 1 of my previous posting.
- Avoid the "standards patchwork" described in item 3 above. So they have to start saying things like
"a level X browser is one which offers complete and correct support for all of HTML version A, CSS version B, DOM version C, etc. and any browser which does not do so is at best a level X-1 browser."
- Produce validation suites to enforce this kind of rule, make it plain that a standard is incomplete without a validation suite and sue anyone who claims to have produced a level X browser if it is not 100% compliant.