SEO Blog

Tuesday, January 22, 2008

IE8 And Web Standards: New Meta Tag To Target Browser Versions

Posted by Colin Cochrane @ 2:24 pm
Bookmark & Share:
del.icio.us  |  digg.com  |  Reddit  |  StumbleUpon  |  Sphinn  |  Slashdot  |  Technorati  |  ISEdb Scoop  |  Google  |  My Yahoo  |  Windows Live  |  Ask

“Don’t Break the Web” is a rule that the Internet Explorer development team has been applied to six major versions of IE over the past decade, with each of these versions seeing the application of this rule in a different way. It is a rule may appear ironic for some, given that IE has been the source of many problems for web developers since the wide-spread adoption of CSS, and with the more recent popularization of standards compliant web pages. It is also a rule that represents the balance that the IE development team attempts to find between backwards-compatibility and interoperability (web standards), and a new post on the IE Blog this morning shows that the IE8 development team may have found the way to achieve this balance.

The Root Cause

Well aware of the problems that IE6 and IE7 created for web developers, the IE8 development team took a hard look at the root causes of these problems. Unsurprisingly the core group of issues began with IE6; more specifically with the introduction of the DOCTYPE switch. The DOCTYPE switch was a method used by IE to alter the box model that is used in calculating the dimension and relative position of elements in a web document, depending on whether the page declared a DOCTYPE. If a web page declared a valid DOCTYPE it would be rendered in “standards mode” using the box model outlined in the CSS2 specification, otherwise the page would use the rather creative interpretation of the CSS2 specification employed by IE5.5. The intention of this behaviour was to avoid breaking the countless sites that were designed for IE5.5 (yes, it’s interpretation of CSS2 was that creative), while allowing developers to “opt-in” to the new standards mode.

Non-Standard Standards

The standards mode introduced in IE6 brought Internet Explorer’s implementation of CSS2 closer to the actual W3C specification, but introduced a new class of CSS peculiarities, many of which were hard to identify and would often result in drastic inconsistencies in web pages when compared to other browsers such as Firefox, Opera and Safari. This rose to a multitude of well-documented IE6 “CSS hacks” and the trend of creating a distinct IE6-only style-sheet which led to popular, somewhat tongue-in-cheek, belief that one had to design a web page twice: once for IE6 and once for everything else. IE6 had tipped the balance in favour of backwards compatibility.

Breaking Changes

When IE7 came along the use of CSS had become the norm and the adoption of web standards was continuing to spread, so IE7 was developed with more standards-centric approach, resulting in the first version of Internet Explorer that was in reaching distance of true standards compliance. However, this improved support came with a price, as many of the web pages that utilized the IE6-specific CSS workarounds were suddenly broken in this latest version of IE. Now the balance was tipped towards interoperability, at the expense of backwards-compatibility.

The Perfect Balance?

With IE8 well into development, things are looking good for this next major version of Microsoft’s flagship browser. With Internet Explorer 8 recently passing the Acid2 test, the IE8 development team proved that they mean business when it comes to improving IE’s standard’s compliance. They also learned from the problems that arose from the last two releases of Internet Explorer, and working together with The Web Standards Project, have come up with as solution that could provide that perfect balance between backwards-compatibility and interoperability with web standards.

The solution comes in the form of an IE8 specific meta declaration that allows a web developer to specify what rendering engine IE8 should use for a given page. This declaration will specify the exact version of Internet Explorer that the page is targeting, and IE8 will display the page using the rendering engine from that version.

meta http-equiv="X-UA-Compatible" content="IE=8" />
The immediate benefit of this to the average web developer, is that they don’t have to rework their site to be compatible with IE8’s new rendering engine. If their page works perfectly in IE7, then they can simply declare:
meta http-equiv="X-UA-Compatible" content="IE=7" />
And their page will play nice with IE8, giving them the freedom to update it to standards compliance at their convenience (if they so desire).

If this meta declaration does end up working as alleged, then IE8 could be an important step to Internet Explorer getting back in the good graces of web developers and proponents of web standards.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Find it!


January 2008
S M T W T F S
« Dec   Feb »
 12345
6789101112
13141516171819
20212223242526
2728293031