Mittwoch, 23. Januar 2008

On X-UA-Compatible

This decision seems to have stricken a chord on many a harp. I for one think Microsoft have considered the options, and chosen the only viable one where they can actually move onwards with implementing standards.


The main priority in releasing a browser is that it renders the majority of the web. The majority of the web today has either a quirks mode or a standards mode triggering doctype - about half of the top sites use standards mode. These standards mode sites generally rely on Mozilla, Safari and Opera to all render them to the best of their standards compliancy. However, they at the same time rely on Internet Explorer to render them the way IE6 and/or IE7 render them. They rely on the HTML parsing, CSS and DOM to behave like it does in IE6/7. They rely on bugs or sometimes a lack of features in IE6/7. In other words, Microsoft can’t fix some bugs or implement new features in Standards Mode because too much live content would break if they did. Also, none of these sites that rely on the bugs and lack of implementation of features have some specific code opting out of getting the newest and best standards support, so if Microsoft makes improvements in standards support, these sites must not be affected.


Microsoft had the choices of either having some opt-in to improved standards support, or not improving standards at all. An opt-out wasn’t an option, because live content isn’t using that opt-out. Now, every angry and disappointed web developer out there, if you look at it that way, which one would you prefer? Standards with an opt-in or no standards at all? Sure, there’s Jeremy’s argument that “Unless you explicitly declare that you want IE8 to behave as IE8, it will behave as IE7.”. I’d argue that this was the only solution that was acceptable for Microsoft, and the reason for that is not that Microsoft is trying to make web developer’s lives harder or anything. The reason for that is that most of the live content is coded for Internet Explorer to behave like IE7 does. Do you have any idea how much breakage the web would take if IE8, say, fixed the implementation of getElementById in it’s default mode? Or how much breakage of the web would happen if they fixed their events model to match the W3C DOM2Events spec?


Having to opt-in to the best rendering mode of IE8 is a cheap cost for web developers. And even that opt-in can be eliminated in a few ways. For example, you won’t be locked down to the IE7 handling of your document if you use the HTML5 doctype. Whether that means the HTML5 doctype will be treated as IE-edge or IE8, that remains to be seen, but I’m just saying: this is not a bad choice by Microsoft.


0 Kommentare:

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]

<< Startseite