I’m guessing that the web developer community, like me, is excited to hear that IE8 will pass the Acid2 test. But there has been concern expressed about the various “modes” that IE8 will support.
The basic problem is that web developers write their code to work around (or take advantage of) bugs in the various IE versions. When Microsoft fixes these bugs in subsequent releases, the effect may be to break existing sites. And in the case of Internet Explorer, we could be talking about breaking millions of sites. Web browsers, including non-Microsoft ones, have dealt with this via a method known as doctype switching, where the browser will render the page in one of three modes (quirks, standards, and super-standards) depending upon the DOCTYPE value. When developing IE8, however, Microsoft realized that doctype switching was insufficient for their purposes. Assuming that each new browser release would have unique bugs and quirks, they needed some way of informing future releases of IE that the web page had been coded against a specific version. So they came up with a new method that uses a META tag to determine which browser mode to use.
The META tag, which is described in the linked article, will specify the highest browser version against which the web page was coded. Thus if you set it to IE8, for example, when IE9 (or IE10, or IE11) comes out, you can be assured that your page will still be rendered as if the browser were IE8. Each subsequent version of IE will be capable of rendering the older versions with all their bugs, based on the META tag. If the META tag does not exist, then the current IE7 doctype switching method will be used.
Update: After a significant amount of web community uproar, Microsoft has changed its mind and decided to use the latest standards mode by default. Thus IE7’s standard mode is no longer the default.