Today is IE8 day - Soon you will now why. And I will start with a short advisory regarding a change in strategy how web standards will be handled in IE8 as default rendering option. But before that I would like to to mention that especially with respect to open web standards compliance IE8 marks another big milestone in the support of those standards such as CSS 2.1. So the IE team needs the feedback of the development community to see if the specs have been implemented flawlessly. Shortly you will have a chance to do so.
Although comprehensive support of web standards is something desirable it can also introduce some issues. In this case it is that pages that were optimized for IE7 rendering will probably not be as expected anymore. To avoid this to render many sites out there useless the IE8 team implemented a IE7 compatibility mode which forces IE8 to render the pages as IE7 used to do.
However unlike announced earlier this will not be the default for the beta release and probably not for the final version. To switch the default from less to more standard conformity for me however was the right step as it puts a little pressure on web developers to create pages as near to the standard as possible and the step taken by the IE team is proof that the announcement of Microsoft becoming more open was not just some empty statement.
In order to enable smooth transition for sites that have optimized markup for IE7 the compatibility mode is still there and can be activated using one of two options.
- Developers can insert the meta tag below into their pages to tell IE8 to render in IE7 compatibility mode
<meta http-equiv="X-UA-Compatible" content="IE=7" />
- Developers can send the following HTTP header in the response of their requests to enable IE7 compatibility
So if you have a site running this is a simple and easy method to ensure correct rendering of your page. No user agent sniffing and separate pages are necessary to have broad IE support with your pages. More details about this can be found in the IE Blog.