Many web developers breathed a sigh of relief yesterday, myself included, when Microsoft announced that the new version of Internet Explorer would adhere to current web standards by default. Originally, the idea was to make IE8 more backward-compatible, using IE7's "standards" mode by default, and forcing web programmers who wanted to use IE8's "standards" mode to specify that in a page's HTML code. With yesterday's decision, IE8 will default instead to its own "standards" mode.
Why is this important? Doesn't it mean a lot of work to update and add code to older web pages? Probably. All current browsers have two main rendering modes: "quirks" and "standards." When a browser is asked to load a web page that requests a current DOCTYPE in its code, the browser uses its own standards mode to render the page. Older or improperly-formed web pages, that either reference older standards or have no specific reference to a standard, are rendered using "quirks" mode, where the browser tries to emulate an older version in order to display the page.
The problem is standards change over time, as new technology creates needs for browsers to handle content they didn't need to before. Plus each browser has its own way of implementing "standards," so you can see the dilemma web developers are faced with when creating web pages.
When Microsoft released IE7 in October 2006, some web pages that had rendered correctly in IE6 looked bad in the new browser. This was due to changes in the "standards" mode between the two versions, which also exposed some workarounds developers had used during the five years IE6 was the dominant Windows-based browser to get it to render certain objects properly. One example was the incomplete support for alpha-channel transparency in PNG images in IE6 and earlier. Developers had to use code that determined which version of which browser the site visitor was using, and apply a workaround if IE6 or earlier was detected.
When three out of four computer users are viewing web pages in a browser made by Microsoft, whatever decision Microsoft makes carries a lot of weight. Microsoft's original decision to set IE7 "standards" by default, while understandable from a compatibility standpoint, would have crippled future development of web technology by tying standards to the older, IE7-era.
Dean Hachamovich, Microsoft's General Manager for Internet Explorer, summarized the company's decision this way:
"Long term, we believe this is the right thing for the web. Shorter term, leading up not just to IE8’s release but broader IE8 adoption, this choice creates a clear call to action to site developers to make sure their web content works well in IE."
It may mean some short-term pain for web developers who have to upgrade older pages, but Microsoft's announcement yesterday that IE8 will embrace current web standards by default, whether prompted by pending litigation or a newfound love of open standards, means the future development of the web will be looking forward instead of backward. In the long run, that's good for both users and web professionals.