Microsoft Reverse Versioning Decision in IE8
Microsoft recently announced a reversal in Internet Explorer (IE) 8′s expected default rendering behaviour.
Instead of IE8 automatically implementing IE7’s rendering when showing pages requesting “Standards” mode, it will now use its own (IE8) Standards mode. Developers who want their pages shown IE7 Standards mode will need to request this explicitly.
The Background
Back when IE6 was Microsoft’s flagship browser, we all knew that it was “broken” when it came to rendering pages in line with web standards. But workarounds were found and everyone remained reasonably happy (although many developers seemed to suffer from pronounced hair loss during any design phase).
Then Internet Explorer 7 was released.
Although far from perfect, IE7 has improved support for standards compared to IE6, so anyone who had already been developing with web standards in mind became a bit happier. However, many (as in “thousands of”) sites that were not standards-compliant but built specifically to look good in IE6 suddenly “broke” in IE7. Solid proof that browser-specific hacks can, and do, bite back.
For some time after the IE7 roll out, it wasn’t unusual to come across sites that were “down for maintenance
” or sporting messages apologising for how bad they looked in IE7.
The resulting outcry was sufficient for Microsoft to realise that they needed to address the versioning problem very carefully before IE8 (which, reputedly, will further improve on IE7′s standard support) was released. Initially, they announced that IE8 would behave as IE7 by default. If this wasn’t the behaviour that individual developers wanted, Microsoft proposed that developers used “version targeting” to force IE8 to act like IE8.
Version Targeting
Version targeting is achieved by adding a meta tag to the head of a web document which indicates which rendering behaviour is required. For example, it was originally suggested that, to force IE8 to abandon its default IE7 mode and behave like itself, you should add:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
to the head of your pages.
Why Suggest IE7′s Mode As The Default?
The idea behind the default IE7 rendering seems to have been that developers who were savvy enough to use web standards would also be savvy enough to insert the right meta-tag. Those designers who wouldn’t know a web standard if it hit them over the head could continue designing for IE7 in blissful ignorance and without raising a finger.
Potentially practical as that might have been, it caused a veritable hue and cry from the savvy developers. And possibly quite rightly so. No matter what method is used, we know that some sites and developers are likely to be hit when IE8 is released. There’s no chance of a “win:win” situation here. But rolling out a new browser that, by default, supports poorer standards compliance is sending out the wrong message. Especially from a company whose own Interoperability Principles recognises the “the standards-based nature of the Internet
” and incorporates “Support for Key Standards
”
The Reversal
On March 3rd, Microsoft announced a reversal of it’s previous proposal with regard to IE8′s default rendering behaviour. They’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can giving “using methods that give top priority to Web standards interoperability
“.
Version targeting is still an option but now developers who want their pages shown using “IE7 Standards mode” will need to request that explicitly using:
<meta http-equiv="X-UA-Compatible" content="IE=7" />
Why The Reversal?
A number of factors have been proposed as the background to this decision including:
- Pressure from developers who support web standards
- Recent legal decisions which have made Microsoft more cautious about openly ignoring standards and keen to avoid any potential legal disputes in the future
- A falling share within the browser market – mainly due the rising popularity of more openly standards compliant browsers such as Firefox
Personally, I doubt that the Factor 1 was really significant – no matter how much we’d like to think that we had some clout. Microsoft’s primary focus is likely to be the consumer (user) – not the developer. A combination of Factors 2 and 3 seem most likely but, at the end of the day, does it really matter? It seems to be a step in the right direction and that’s all that will eventually count.
The Current Situation
Whilst I applaud Microsoft’s decision reversal, I’m still going to wait until IE8 is released before opening the champagne and cancelling the hair replacement appointments. As IE8 is still in beta form, we don’t know, as yet, just how good its final standards support will be.
But in terms of defining future policy and laying down the groundwork for ongoing development of IE, this new decision has to be a Good Thing tm. In my not so humble opinion…