Anne van Kesteren

Rendering Modes

In Almost Target Eric Meyer brings up “almost standards mode” (limited quirks mode in HTML 5) and compares it with the stuff Internet Explorer 8 brings us. It is true that the browsers not named Internet Explorer have four modes: quirks, almost standards, and standards mode for text/html content and the XML mode for XML content. However, contrary to what Microsoft proposes these modes have a small set of specific differences, mostly visible in CSS parsing and CSS layout. This means that all of these modes evolve. The new HTML 5 canvas element works in all of them. Selectors Level 3 works in all of these modes. These modes are all but stagnating the Web. They are historical accidents due to the right way of doing standardization for the Web wasn’t entirely figured out just yet. (That came later starting with CSS 2.1.) Again, they are vastly different from the anti-competitive measures Internet Explorer 8 introduces.

Henri Sivonen goes into some more detail on the “almost standards mode” issue in Almost Precedent.

Comments

  1. Henri's solution is the most sensible thing I've heard yet (the competition has, admittedly, not been stiff).

    1. IE 8 should ship as a Standards-Compliant browser, with a new version-string (not containing "MSIE"). This new engine will be treated like any other Standards-compliant browser on the open web.
    2. MS should ship a frozen IE7-compatible engine for legacy intranet content.

    At some point, they are going to have to make a break with the mistakes of the past. Shipping an ever-increasing number of frozen engines in their flagship browser is not a viable long-term strategy.

    The only question is whether they do it now, with IE8, or later, with IE11. That, in turn, depends on whether IE8 is really intended to be Standards-compliant, or yet another half-assed approximation thereof. If the former, then now is the time to make the inevitable break with the past.

    Posted by Jacques Distler at

  2. IE 8 should ship as a Standards-Compliant browser, with a new version-string (not containing "MSIE"). This new engine will be treated like any other Standards-compliant browser on the open web.

    Try using a browser like Safari or Opera — even browsers of their size are blocked from a lot of sites that sniff for either MSIE or Firefox. Any new name for MSIE would have the same issues, which is why they are reluctant to do that.

    Posted by Geoffrey Sneddon at

  3. Tweaking a site's browser-sniffing code is not like revamping the markup of the entire site (per Eric Meyer's 2002 example).

    I suspect that browser-sniffing code that excluded IE8 (with whatever version string it shipped with) would be a rather short-lived phenomenon.

    Even if it weren't, shipping with the IE7 engine embedded would allow one to offer the user an easy option to re-enter the offending site in IE7 mode. This would have the advantage that

    But, as I said, I am hard-pressed to imagine sites unwilling to update their browser-sniffing code to accomodate the latest version of the world's most popular browser.

    Posted by Jacques Distler at

  4. Try using a browser like Safari or Opera — even browsers of their size are blocked from a lot of sites that sniff for either MSIE or Firefox. Any new name for MSIE would have the same issues, which is why they are reluctant to do that.

    Opera is the only agent I've used for five years almost to the day, now. Even back in the O7 days I only occasionally encountered problems with sniffers not liking "Opera/" as the agent identity. Today, since an honest identity has become the default in Opera 9, I never encounter trouble.

    Granted, there are sniffers that are so badly designed they break when faced with unknown versions of known agents (and Opera cheats), but I dare say the problem is rather overstated more often than not.

    Posted by J. King at