Standard storm

23 January 2008

First read this (although you probably have already):

Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8

Then take a look at these:

Broken (If you only read one of these, make it this one)
From Switches to Targets: A Standardista’s Journey
Has Internet Explorer Just Shot Itself in the Foot?
Predicting the Past
Not your father’s standards switch
The versioning switch is not a browser detect
Code Happy
Best Standards Support
In defense of version targeting
Standards mode is the new quirks mode
The Internet Explorer lock-in
Who loses out to X-UA-Compatible?
IE8 and the future of the web
Versioning, Compatibility and Standards (from the Safari/WebKit devs)

Needless to say I’m not sure if this concept of version targeting has gone down too well.

I’m firmly on the side of those saying this is a bad idea. It strikes me that this is Microsoft trying to push something that solves a problem specific to them (namely that IE6 was so bad that when IE7 came out lots of things broke) onto the shoulders of web developers. While it’s not particularly pragmatic to say, I think this is really not our problem and the proposed solution has all sorts of downsides; it breaks the concept of progressive enhancement, bloats rendering engines and slows the adoption of new html/css features in the IE userbase.

I also have the feeling that like the the strict doctype before it, in practice this won’t work anyway. Like all good developers, Microsoft are proposing a loophole in the form of setting the X-UA-Compatible tag to ‘IE=edge’, which means you just get the latest version of the IE engine (like you would right now). I can’t see anyone not using this, outside the Microsoft-only devs that got pissed off with IE7, so the whole concept becomes a bit of a red herring. In fact, one of the ways that this could be improved would be if it defaulted to this setting, so the default behaviour isn’t being changed – as Jeremy points out, it’s crazy that unless you tell IE8 to behave like IE8, it’ll behave like IE7; surely that’s not the default behaviour we want?

All that said, there is the kernel of a problem trying to be solved here; namely how to write CSS code (and we are talking just CSS, not HTML, as this discussion is all about presentation) that doesn’t break when newer browsers come out.

Here’s what I’m thinking would be a good way of fixing it: Firstly, with the release of IE8 bring in either a new doctype (‘Standard’?) or a meta tag that announces that this page is expecting a standard compliant renderer. IE8 apparently passes the ACID2 test so should hopefully be on par with the other major browsers, and this flag will prevent IE8 ‘breaking the web’ again from Microsoft’s point of view.

Next, we need to have some way going forward of coping with new advancements to CSS without effecting older browsers. I see two ways of tackling this (possibly in combination): 1) Add a ‘version’ attribute to the CSS link tag, and then browsers can alter their rendering based on this (which is a similar solution to the X-UA-Compatible one, but seems a more appropriate place to do it). 2) Add conditionals to CSS that can detect what features a browser has available. I see this second one working roughly like this:

/* if( text-shadow ) {
p {
text-shadow: 1px 1px 2px black;
color: white;
} */

You could then supply different CSS to browsers based on whether they supported a specific feature, and using the cascade supply ones that didn’t something else. I’ve wrapped it in comment tags so that any older browser that doesn’t understand the conditional will just ignore it; this is quite purposely like the IE-specific conditional comments tags, which I think are also a good solution to this problem (which already exist!) and would be good to have adopted by the other browser manufacturers.

Here’s hoping that this loud reaction will give Microsoft some pause in rolling this out; they look like they’re moving in the right direction with IE8 so I hope that don’t screw up on an issue like this.

Further reading:

Don't try this in Los Angeles

It’s well known that LA is a car town, but it doesn’t really hit you quite what that means until you get there. To someone from Europe well versed in how cities can sprawl – or not – you think “sure, everyone drives in LA, I get it”. But you...


As I write it is 9pm the night before the first day of school.

It's sort of fascinating how that feeling that was drilled into you as a child lingers on well into adulthood, isn't it? I have a good, fun job that I enjoy immensely but yet here I am,...

Same As It Ever Was

I am on a bus. The air is clammy. Condensation drips down the windows. Directly in front of me two teenagers are watching a video on an oversized smartphone. The volume is loud – no headphones involved, obviously – and the track is terrible (it’ll probably place highly in the...


Picture the scene: I’m at a dinner party (I don’t really go to dinner parties, but let’s ignore that). There’s a lull in the natural flow of the conversation; a silence creeps across the table.

“So what do you do again?”

I reply with my standard response of working for a record...

Sex, data and rock and roll

It’s not all sex, drugs and rock and roll this music lark, you know. I’m not sure exactly which of those it replaces - pessimistically probably both the first two - but if you’re talking music in 2014 there’s also data to think about as well.

I’m typically not fond of...