On second thought, IE8 will default to full Web standards
Should Microsoft choose for IE8 to follow the standards developers want or the ones they use? It's been a tough call, and late yesterday, the company reversed that call.
In a complete reversal of policy that will probably be reflected in later builds sent to private beta testers, the team building Microsoft's Internet Explorer 8 has decided to make its Web standards-compliant mode -- the one reported to have passed the Acid2 standards compliance test -- the browser's default operating mode. The team made this choice apparently knowing full well that some existing Web pages -- those designed to work well with the majority browser rather than with written W3C standards -- may break.
"The technical challenge here is how can IE determine whether a site's content expects IE8's Standards mode or IE7's Standards mode?" wrote IE8 general manager Dean Hachamovitch this morning. "Given how many sites offer IE very different content today, which should IE8 default to?"
The problem is that IE8 will try harder, to borrow a phrase from Avis Rent-a-car, to comply with certain standards than did IE7; but at the same time, Web developers will typically write their sites to conform with the majority of deployed Web browsers, rather than some predetermined protocol.
Back in January, the IE8 team announced its decision at that time was to keep the Web as stable as possible. As platform architect Chris Wilson wrote then, the lesson his team had learned during the transition from IE6 to IE7 was "that 'Don't Break the Web' should really be translated to 'Don't change what developers expect IE to do for current pages that are already deployed."'
But since that time, Microsoft published a set of interoperability principles which it unilaterally pledged to follow for the development of all its software. Those principles actually do not mandate that Microsoft must follow any particular industry standard; the company remains free to deploy whatever standards it chooses. But they do say that when the company makes a choice to implement a standard in a "high-volume product," it will openly reveal to developers how it has chosen to do so.
And although Internet Explorer is not listed as one of the company's "high-volume products," Windows Vista and Windows Server are.
"Microsoft supports many standards promulgated by standards bodies in its products today," reads the latest Interoperability Principles document, published two weeks ago. "We will rely upon customer advice emerging from our Interoperability Executive Customer Council and our ongoing community and customer engagement efforts to help us prioritize which standards we should support in any given product release."
"In light of the Interoperability Principles, as well as feedback from the community, we're choosing differently," Hachamovitch wrote this morning. "Now, IE8 will show pages requesting 'Standards' mode in IE8's Standards mode."
For a page to explicitly request IE7's standards mode, Hachamovitch suggests that developers use a specific declaration of <META> tag, as explained by developer Aaron Gustafson in an article for A List Apart last January. Gustafson advises against use of the DOCTYPE attribute; instead, he offers an alternate attribute, which for the purposes Hachamovitch advises would be phrased like this: <meta http-equiv="X-UA-Compatible" content="IE=7" />