Web Devout tidings

IE 8 CSS 2.1 support results

I need to start this post with a giant asterisk: I’ve barely done any regression testing yet. With the exception of one regression a commenter found, my initial results assume that IE 8 doesn’t have any standards support bugs that weren’t in IE 7. This is a big assumption, since IE’s CSS engine was largely (perhaps entirely) rewritten for IE 8. I expect IE 8 to have a number of new bugs which aren’t yet documented in my tables, and those bugs will be discovered and documented over time.

Alright, now that that’s out of the way, let’s get to the current results. IE 8 has fixed almost every single CSS 2.1 compliance bug from IE 7. I’m currently counting a total of 17 “Incomplete” values (7 of which are due to the single regression mentioned above), with everything else being a “Y”.

This is a huge deal. While I can’t yet comment on the CSS 3, HTML, or DOM support, IE 8’s CSS 2.1 support is now right up with the competition. We still have to see how it holds up after more regressions are found, but it is currently ranking as the #1 most CSS 2.1-compliant web browser I’ve tested. This is truly excellent work from the IE team.

In the next version of IE, I would like to see some focus on getting rid of a number of “temporary glitches” I’ve noticed. They appear to be similar to the reflow bugs that plagued Firefox 2, in that merely hovering your mouse over the element or interacting with stuff around the element will often correct the glitch. An example is the tabs in the Webpage test system. I don’t think there’s any neat little box in my tables where I can document these issues; they seem more related to IE just losing track of stuff during painting.

I’m going to do the CSS 3 testing next.

12 Responses to “IE 8 CSS 2.1 support results”

  1. hAl Says:

    98% (from your summaries)
    Quite an achievement if you see the immense difference from IE7 to IE8.
    There might indeed be some regressions bugs that could lead to lowering the conformance by another point but still it is a huge leap to go from the mere 56% support that IE7 has shown.

    Posted using Internet Explorer (Windows) 6.0 on Windows.

  2. Alexander Says:

    IE 8 has problems with the [colspan] attribute.
    Here is an example http://benchfrooser.de/ie8-bug.html

    Posted using Safari 525.27.1 on Macintosh.

  3. Matt Pennig Says:

    Um, why don’t you have Safari 3 or 4 (beta), or even Chrome in your list of tested browsers? Where’s the love for WebKit? :)

    Do you have a test suite available that people like me could use to test with more recent WebKit browsers?

    Posted using Safari 528.16 on Macintosh.

  4. David Hammond Says:

    Matt: When I first started making this site (back when I had much more free time than I now have), WebKit did not yet have as much usage as Opera, and it was not yet readily available on Windows or Linux. As a result, I didn’t include it in the tables.

    WebKit is now easily the third most used engine, and I intend to add it to the tables at some point, but adding new browsers takes much more work than adding new versions of browsers. I just haven’t found time for it yet.

    I don’t use prebuilt test suites. I find that they fail to really get into the nooks and crannies of the browser’s implementation and tend to miss a lot of bugs. Instead, I prefer to pummel the browser with lots and lots of custom test cases, made on the spot (usually in my Webpage test system), in an attempt to “break” the browser and expose its bugs. I treat it more like a fight than a standardized process.

    Posted using Mozilla Firefox 3.0.7 on Linux.

  5. Gérard Talbot Says:

    Regarding IE 8 support for CSS 2.1 in your conformance results page

    1- Incorrect parsing and rendering of font-size when involving system font in IE 8:
    Testcase and bug report accessible from

    2- Font-family must not contain unescaped parenthesis:
    Testcase and bug report accessible from

    3- Font shorthand and inherit keyword are incorrectly parsed in IE 8
    Testcase and bug report accessible from

    4- Media-dependent @import rules fail in IE 8
    Testcase and bug report accessible from

    5- Various other import techniques fail in IE 8

    6- border-width: inherit test which fails in IE 8:

    and I’m sure there are others.

    regards, Gérard

    Posted using Mozilla Firefox 3.0.7 on Windows.

  6. Thomas Says:

    Hi, David. I know you are smothered with work, but will you update the table for Firefox 3.5 in the near future? Comparing IE8 and Fx3.x would be very interesting.

    Posted using Mozilla Firefox on Linux.

  7. Gérard Talbot Says:

    7- border-color: inherit not correctly parsed in IE 8:

    8- Bullet (filled disc) list-markers are misrendered when using MS Sans Serif font or other MS fonts in IE 8; most likely due to • character entity is mismapped in MS fonts but it’s still a CSS 2.1 bug wrt list-style-type[: disc]

    9- rules=”all” unexpectedly triggers border-collapse: collapse in IE 8: this bug may be debattable as the spec could be more explicit, exhaustive:

    10- margin and text-align misrendered for horizontal line in IE 8:

    There are at least 4 cases of hoverability (a:hover) which fail in IE 8: 4 conclusive testcases available.

    regards, Gérard

    Posted using Konqueror 4.2.0 on Windows.

  8. Gérard Talbot Says:

    11- Inherited margin with inherit keyword: the computed parent’s value is not inherited in IE 8:

    regards, Gérard

    Posted using Mozilla Firefox 3.0.7 on Windows.

  9. Gérard Talbot Says:


    You gave a green Yes to vertical-align: middle for IE 7 but, in all fairness, it should be a No since in IE 7, vertical-align: middle always return an inaccurate value due to an incorrect implementation. Many web authors, backed with carefully crafted testcases, claim and state this.

    Your score/evaluation system is also questionable, I must say. You say

    For consistency reasons, it [a tested, evaluated feature] will receive an I [meaning incomplete support... 'Incomplete (I) support for a feature is calculated as a 50% support'!] even if the feature never performs a correct task or always returns an incorrect value, as long as the browser shows that it recognizes the feature and attempts to utilize it.

    Wow… If a tested feature never performs the correct task or always returns an incorrect value, it can nevertheless get a 50% support score in your evaluation system. I hope you will agree with me when saying that such system is not ideal, not perfect and not accurate.

    In my opinion, vertical-align property in IE 7 is so buggy that it should get an N for several of its vertical-align values.

    In IE 7, vertical-align: sub is rendered as vertical-align: super !

    In IE 7, vertical-align: bottom receives an I (incomplete support, which still get a 50% support score nevertheless) in your CSS support table because, according to you, it is “treated as text-top”.

    regards, Gérard

    Posted using Mozilla Firefox 3.0.7 on Windows.

  10. David Hammond Says:

    Alexander: That isn’t really a bug. IE is recognizing that the HTML DTD defines a default value for the colspan and rowspan attributes. As per the CSS 2.1 spec, the attribute selectors match against the attributes in the document tree, which should include these default values. Other browsers don’t do this, but the CSS 2.1 spec says browsers aren’t required to take into account default values from external DTDs.

    Gérard Talbot: Thanks for all of the feedback. I’ll look into those issues.

    Posted using Mozilla Firefox 3.0.8 on Linux.

  11. Gérard Talbot Says:


    12- Inaccurate CSS parsing of cursor: url() declarations
    Testcase and bug report accessible from

    13- Styling list-style-image with universal selector will CRASH the IE 8 application
    Testcase and bug report accessible from

    There are obviously still quite a number of issues with CSS 2.1 in IE 8 that we don’t see or don’t get in other browsers.

    regards, Gérard

    Posted using Konqueror 4.2.0 on Windows.

  12. Vincent Says:

    The CSS property font-weight doesn’t apply to in IE7 or 8. Maybe there are other properties that don’t apply…

    Posted using Internet Explorer (Windows) 8.0 on Windows.