Internet Explorer 8: What You Need to Know

Not long ago, Microsoft released Internet Explorer version 8 through the Windows Update facility. Overall, the new browser is similar in appearance to version 7, but under the hood, the software is built with much stronger support for Web standards. This comes as a source of great relief to a development community that's been pushing Microsoft in this direction for a long time.

However, the move to greater support for standards isn't altogether painless. IE8 includes a new feature that's important for people responsible for websites to understand. The quirks of earlier versions of IE often led developers to rely on some very esoteric coding techniques (otherwise known as "hacks") to get pages to display as intended. Greater compliance in IE8 means that those same techniques may now lead to unexpected results. The most likely areas of concern will be the behavior of stylesheets and JavaScript.

IE8 includes a feature known as "compatibility mode" which causes it to display pages as IE7 would have. What makes this interesting is the different ways that compatibility mode can be triggered. First, Microsoft maintains a global list of major sites that are known not to render well in IE8. This list will not be of concern to most of us and the behavior should be fairly transparent.

IE8 Compatibility Mode button highlighted

Second, users can select compatibility mode at any time using a new button on the toolbar (look for a "broken page" icon). If a user finds a page that doesn't seem to be displaying properly, this button may help. However, as a new feature it may take some time for people to understand and comfortably use it. As researcher Jakob Nielsen points out:

"When we actually study real users, we see how slowly they learn about technology and how little their ability to use fancy websites has improved. And, most important, we see how little users care about learning fancy Web techniques. People just want to get in, get their stuff done, and get out. They don't want to learn."

With this in mind, it pays to understand the third method of triggering compatibility mode. Developers can preemptively specify the desired rendering mode by setting a custom HTTP response header for IE8. This can be done at the server, site or page level. Where setting these headers isn't feasible, it's also possible to set this preference in the metadata for a page.

A drawback to the user button is that once a site is marked as needing compatibility mode, the browser doesn't automatically know to return to its standards-compliant mode after the underlying issues have been addressed. Fortunately, the header (or metadata) value takes precedence over all other settings, and this works both ways, either setting compatibility mode or enforcing standards. Ultimate control, therefore, is in the hands of website owners, but the first step is understanding how your site performs in IE8. It's better to address rendering issues long before adoption of IE8 is widespread and users begin to complain that a site is "broken."

If you need help assessing your site's performance in any way, CWS is at your service as always.