Internet Explorer 8 to Make Standards Mode Default

Tagged:  

If you haven't heard yet Microsoft has announced that Internet Explorer 8 will ship with standards mode as the default method to interpret web sites, instead of quirks mode. They have also announced that IE 8 will have a better standards mode than IE 7. The move is quite an interesting one for Microsoft who has historically had a thought of we are smarter than you, so we will make your web site render how we think it should.

Below is an excerpt from the announcement:

Microsoft's Interoperability Principles and IE8

We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously.


Why Change?


Microsoft recently published a set of Interoperability Principles. Thinking about IE8’s behavior with these principles in mind, interpreting web content in the most standards compliant way possible is a better thing to do.

We think that acting in accordance with principles is important, and IE8’s default is a demonstration of the interoperability principles in action. While we do not believe any current legal requirements would dictate which rendering mode a browser must use, this step clearly removes this question as a potential legal and regulatory issue. As stated above, we think it’s the better choice.


The rest of this blog post provides context around the different modes, the technical challenge, and what it means going forward.


Modes


Clear terminology around the different modes in IE8 (as well as other browsers) is crucial for the discussion. Wikipedia, as usual, offers a good starting point. The article about “Quirks mode” describes how modern browsers (like IE, Firefox, Safari, and Opera) all have different modes for interpreting the content of a web page: Quirks and Standards. (The article also covers “Almost Standards;” let’s set that one aside for the purpose of this discussion.)


Basically, all the browsers have a “Quirks” mode, call it “Quirks mode", and use it to offer compatibility with pages that pre-date modern standards. All browsers have a “Standards” mode, call it “Standards mode,” and use it to offer a browser’s best implementation of web standards. Each version of each browser has its own Standards mode, because each version of each browser improves on its web standards support. There’s Safari 3’s Standards mode, Firefox 2’s Standards mode, IE6’s Standards mode, and IE7’s Standards mode, and they’re all different. We want to make IE8’s Standards mode much, much better than IE7’s Standards mode.


The Wikipedia article’s explanation of why browsers have modes to begin with is worth looking at closely in this context:

"...the large body of legacy documents which rely on the quirks of older browsers represents an obstacle for browser developers, who wish to improve their support for standardized HTML and CSS, but also wish to maintain backward compatibility with older, non-standardized pages.… To maintain compatibility with the greatest possible number of web pages, modern web browsers are generally developed with multiple rendering modes: in "standards mode" pages are rendered according to the HTML and CSS specifications, while in "quirks mode" attempts are made to emulate the behavior of older browsers."


We decided to keep IE7’s Standards mode available in IE8. Our thinking was that this facility would be helpful as the web moves gradually from the large quantity of legacy content authored around IE7’s behaviors to a new era of much more interoperable and web standards compliant browsers. We based the decision to have an additional mode in IE8 on our experience with feedback from IE7. Specifically, during the transition from IE6 to IE7, many end-users found pages authored for the previous IE version’s Standards mode didn’t work well with the new version’s Standards mode.


The Technical Challenge


One issue we heard repeatedly during the IE7 beta concerned sites that looked fine in IE6 but looked bad in IE7. The reason was that the sites had worked around IE6 issues with content that – when viewed with IE7’s improved Standards mode – looked bad.


As we started work on IE8, we thought that the same thing would happen in the short term: when a site hands IE8 content and asks for Standards mode, that content would expect IE7’s Standards mode and not appear or function correctly. 


In other words, the technical challenge here is how can IE determine whether a site’s content expects IE8’s Standards mode or IE7’s Standards mode? Given how many sites offer IE very different content today, which should IE8 default to?

Our initial thinking for IE8 involved showing pages requesting “Standards” mode in an IE7’s “Standards” mode, and requiring developers to ask for IE8’s actual “Standards” mode separately. We made this decision, informed by discussions with some leading web experts, with compatibility at the top of mind.


In light of the Interoperability Principles, as well as feedback from the community, we’re choosing differently. Now, IE8 will show pages requesting “Standards” mode in IE8’s Standards mode. Developers who want their pages shown using IE8’s “IE7 Standards mode” will need to request that explicitly (using the http header/meta tag approach described here).

You can read the full anouncement here.

It will be interesting to see how well IE 8 and Firefox 3 compare. Of course if you are like me you remember being promised a lot of things in IE 7, such as better JavaScript error detection, which never materialized. Hopefully this move will help IE 8 become closer to Firefox in how it forces better coding practices (we will see).

IE8 is better then the older Browser its comaratively good like Firefox I think

Let's hope that with IE8 they have finally brought out a complaint browser, CSS support has always been shakey at best and it would be nice to do away with hacks and other untidy methods to ensure cross browser compatibility.

[...] Standards Mode default in IE 8 [...]

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <div> <blockquote> <object> <embed> <img> <param>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Copy the characters (respecting upper/lower case) from the image.