Test drive 104 new Professional-grade tests for web standards

The Windows Internet Explorer Platform Preview build marks an important milestone in the development of the next version of Internet Explorer.  A significant part of the platform preview is focused on new or proposed World Wide Web Consortium (W3C) web standards. 

The goal of industry standards is actually “interoperability.”  For HD television standards, that means that multiple TVs can render the same rich content in a consistent way.  In the web case, that means the same HTML, script, and formatting markup work the same across different browsers. Eliminating the need for different code paths for different browsers benefits everyone, and creates more opportunity for developers to innovate on great web content.

Developers have said they want to use the same markup across all modern browsers.  Each proposed standard needs a comprehensive test suite to make this happen.  The test suite helps resolve ambiguities in the specification by testing any implementation (aka browser) built on that specification. 

The test suites also need to thoroughly exercise everything in the specification and not just test a handful of things sampled from various parts of the spec.  During the IE8 project we submitted 7201 test cases to the W3C’s CSS 2.1 Working Group in an effort to help the industry develop a comprehensive test of the CSS 2.1 specification.  It was exciting to see other companies join in and provide additional cases as well.  As a result, the count of CSS 2.1 test cases grew to 8777 as it moved from pre-alpha to Alpha on January 27th, 2010.  This will help every browser vendor build a more consistently behaving browser on which web developers can finally start to depend.  

As we look through the test suites for other web standards working groups, we’re finding areas in which there is a need for more thorough testing.  As a result, we’re expanding the working groups into which Microsoft is submitting test cases.  We also listened to feedback about the volume of test cases and the frequency in which we submit them to the working groups.  In conjunction with our first preview release, we’re submitting 104 test cases across six different proposed or recommended web standards.   These include:


Number of new cases submitted by Microsoft

Test Suite

Test Case Feedback Link

Scalable Vector Graphics (SVG) 1.1 (2nd Edition)


SVG Test Suite

Test Review Wiki

CSS3 Backgrounds and Borders


CSS 3 Backgrounds and Borders Test Suite (no suite yet)

CSS test suite mailing list

CSS3 Selectors


CSS3 Selectors Test Suite

CSS test suite mailing list

DOM Level 2 Core


DOM L2 Core Test Suite

DOM Mail Archives

DOM Level 3 Events


DOM L3 Events Test Suite

DOM Mail Archives

DOM Level 2 Style


DOM L2 Core Test Suite

DOM Mail Archives




Until these all make it through the W3C test publishing process, you can find the cases on the Internet Explorer Testing Center.

I want to thank the members in the W3C working groups that helped us develop these tests, the community members for providing valuable feedback on the tests, as well as the engineers on the IE team that made these possible.

Jason Upton
Test Manager, Internet Explorer

Comments (28)

  1. Anonymous says:

    Your article was very good, I like to visit you want to empty

  2. Anonymous says:


    Just ignore the Firefox/Opera/Apple fanboys.

    Nobody cares about them.

  3. Anonymous says:

    Just ignore @Hans Nobody cares about him – MSFT fanboys are worse than those that try to push openness and standards.

  4. Anonymous says:

    Ok well done microsoft for bringing a browser that appears a lot closer to the rest out there.

    But please ease up on the B**l s**t, save it for marketing. The people who read this blog are developers interested in helping make the new IE a good browser, do not insult their intelligence.

  5. SamIAm says:

    Thank you very much. Why not name it something like a Base test (more useful than an Acid test and just as chemically interesting as acid). Can you let us know how IE8 fared in the test? I don’t imagine well. I am looking forward to testing this.

  6. @Jason Upton [MSFT]

    2 spelling mistakes in DOM 3 events tests:

    The link

    "Event object property: preventDefault"

    should be

    "Event object attribute: defaultPrevented"

    because this is how the attribute being tested is spelled:


    2- It’s stopPropagation, not stopPropogation

    See "Event object method: stopPropogation"

    regards, Gérard Talbot

  7. @Jason Upton [MSFT]

    There is more problems with some of the testcases.

    Let’s see




    is just plain invalid markup attribute.

    Second, (a more serious error)

    this code

       <script type="text/javascript">

           if(testDiv.style.borderTopWidth == "")


               document.getElementById("testresult").innerHTML = "Pass";



    actually fires back. Microsoft Internet Explorer does in fact id attribute pollution in the global scope. Id-ed elements can not and should not bein the global scope. I remember very well the person (under the pseudonym "dhtml": Garrett Smith: "Global Variable Object Polluted with Element IDs / Implement [[Put]] on global object") who filed this bug at connect IE beta feedback.

    The code should and must use getElementById to get script access to such tested "testDiv"

    element. You just can not, just like that, use its id attribute value to script-access its style object property.

    So, that testcase is incorrect.

    And guess what: Firefox 3.5.8 Error console reported both errors:

    Parsing error for border-top-width


    testDiv is not defined (line 18)

    The code of that testcase is wrong, incorrect, invalid.

    regards, Gérard Talbot

  8. Paulo says:

    Chrome Frame is the answer for the future, we will have to push it for Windows XP users anyway, that will be using IE6/7/8 for another decade.


    Microsoft want to waste time creating another broken browser, Chrome Frame fixes it. Real HTML5 and already working CSS3, hassle free. Install as quick as installing flash.

  9. Matt says:

    @read: If you read the Opera post, you’ll see that they don’t disagree with the fact that they fail the tests. Microsoft clearly states what they’re testing and what the results are.

    @SamIAm: as IE8 doesn’t try to support these features, i’d assume that ie8 fails them all.

  10. Damian says:

    I think this is fantastic work. The work work you did with CSS 2.1 was fantastic and I think SVG sorely needs something simmilar.

    I think it’s a little premature to be comparing just your tests which you just published to other browsers, let’s have a more holistic comparison please!

  11. @Jason Upton [MSFT]

    Same mistake with

    "Syntax for backgroundRepeat" testcase


    "testDiv is not defined Line 19" (error reported in Error Console report from Firefox 3.5.8)

    because this way of accessing the node is not valid.

    if(window.getComputedStyle(testDiv, "").getPropertyValue("background-repeat") == "repeat-x")

    getComputedStyle takes 2 arguments: 1st, a valid node reference and 2nd, the pseudo-element if any.



    elt of type Element

       The element whose style is to be computed. This parameter cannot be null.

    pseudoElt of type DOMString

       The pseudo-element or null if none.



    So, this line

           if(window.getComputedStyle(testDiv, "").getPropertyValue("background-repeat") == "repeat-x")

    { … }

    should have been instead

    if(document.defaultView.getComputedStyle(document.getElementById("testDiv"), null).getPropertyValue("background-repeat") == "repeat-x")

    { … }

    regards, Gérard Talbot

  12. Keith says:

    Thanks. Keep up the good work 🙂

  13. @Jason Upton [MSFT]

    Another test which is very debattable:

    @import inside of @media


    Now, it’s true that section 7.2.1


    states that "At-rules inside @media are invalid in CSS2.1."

    So, the fetching of testStyle1.css

       <style type="text/css">

           @media screen { @import url(testStyle1.css); }


    should not even occur, should not even be attempted.

    Then the script code queries the number of loaded CSS rules from the first loaded stylesheet with

       <script type="text/javascript">    

           if (document.styleSheets[0].cssRules.length != 1)


               document.getElementById("testresult").innerHTML = "Pass";



    but, you see, if no stylesheet, not even one, was fetched, then

    typeof document.styleSheets[0] must (and will) return undefined


    document.styleSheets.length must return 0.

    I do not think this testcase is accurate.

    Firefox 3.6’s Error console checks out the correct values for

    typeof document.styleSheets[0] -> undefined

    document.styleSheets.length == 0

    If document.styleSheets[0] is not an object, the tested condition can not succeed.

    Safari 4.0.5 reports

    typeof document.styleSheets[0] -> object

    document.styleSheets.length == 1

    document.styleSheets[0].cssRules.length returns 0 ! but… testStyle1.css has 2. So, even Safari 4.0.5 does not load the testStyle1.css but its  document.styleSheets.length == 1 suggests it loads 1.

    regards, Gérard Talbot

  14. sane says:


    It’s throwing out stuff like that that does nothing other than harm productive discussion. Haavard makes a poor point and it only serves to create more places for people to bash Microsoft instead of actually contributing to the industry wide conversation.

    Microsoft explicitly said the page "provide[s] details and links to each of the tests we submitted." Anyone with even a rudimentary understanding of testing would also recognize the handful of tests there doesn’t cover every last part of a particular standard, and Microsoft didn’t even make that claim! What the page DOES reveal is the current state of IE9 versus the other browsers, in the context of those tests. What will happen next is other browser vendors will pick up on these tests and all browsers will eventually pass 100% of these tests. This is GOOD for the industry, GOOD for users. Results from other tests/test suites are surely coming, and thinking that just because they haven’t been shown yet is some sortof evil master plan is, frankly, childish.

    So many people lose sight of the fact that Microsoft is made up of developers just like us. If the IE team members publishing this information had to account for every possible criticism, they’d end up never publishing anything.

    Microsoft can’t win. If they don’t show they’re helping contribute to testing of standards and refusing to show where IE9 is, people will say "you’re ignoring us, what are you doing with IE9." Then the minute all the existing hard work on IE9 is shown to pass *new* tests Microsoft/W3C developed (and contributed to the community), suddenly it’s "Microsoft is evil, they’re lying again, this is just marketing FUD." IE9 isn’t even out yet! Complain all you want but Microsoft is engaging developers RIGHT NOW in the IE9 development process. Why any of this should be viewed as a bad thing, I sure as hell don’t know.

    The level of noise contributed by Microsoft bashers is absolutely tiresome. IE isn’t going anywhere, and it shouldn’t. The legitimate concerns over some of Microsoft’s decisions are much tougher to tease out amongst all the noise. I feel bad for the IE team members that are tasked with this, especially on this blog.

  15. hAl says:

    There are several possible other issues with some of these tests.

    I came across this list


    It seems mostly interpretation (as usual W3C standards have room for some interpretation)

  16. Acid vs web standard tests says:

    The reason people pay so much attention to Acid is because it’s very easy to see if a browser passes and it’s easy to compare browsers (score and image rendering). If you want to make your case that the W3C testcases are more important to test if a browser is standards complient, create your own test based on the W3C testcases.

    The webpage should go over all the current W3C testcases and show a score and an image ( something like this maybe: http://www.codedread.com/svg-support.php ). This way browsers are competing to really implement webstandards, instead of passing Acid3.

    The test could be updated every 3 months or so to include new W3C testcases.

  17. Don’t forget about text-shadow property…

    Don’t forget about memory-eat by IE…

    Don’t forget about fix fade bugs of effects using jquery… (PNG IMAGES)

    well i think is that, good luck.

  18. Jason [MSFT] says:

    @Gérard Talbot

    This is great feedback.  Can you please start the case-by-case feedback as threads at the appropriate W3C mailing lists though?  That’s why I provided links.  Having debates among the membership in the official forum is the right place to discuss any syntax issues or test assertions.  Thanks!  

  19. @sane

    > What the page DOES reveal is the current state of IE9 versus the other browsers, in the context of those tests.

    Personally, I think that

    – providing such a small batch of testcases (104)

    – spread over, scattered in 6 different specs

    – with 3 of them still not CR, "proposed web standards" dixit Jason Upton

    definitely does not reveal the current state of IE9 versus other browsers.

    Even if you absolutely want to consider only those 104 testcases, there are still problems…

    Both Mozilla (Firefox, Seamonkey, Camino, etc) browsers and Safari 4 browser support border-radius (and have been supporting border-radius for quite some time) but with the vendor-prefix version. So why list all the red cell "Fail", then count the score and then add a small asterisk (*) saying that they do not support the non-prefixed version?

    3 testcases in "DOM Level 2

    Style" are wrong. Period.

    Any testcase which does not declare a strict DTD and has validation markup errors is not "Professional-grade".


    The goal of industry standards is actually “interoperability.” (…)  In the web case, that means the same HTML, script, and formatting markup work the same across different browsers.


    That’s only true for valid markup code, valid CSS code and ECMAScript and DOM compliant code. As soon as the markup is not valid, then there is no reliability, no certainty on the rendered layout.


    So many people lose sight of the fact that Microsoft is made up of developers just like us.



    reports 1086 markup errors


    reports 331 errors

    Microsoft should start practising what it preaches in those IE blog posts and in all other Microsoft-controlled websites.

    regards, Gérard

  20. @sane

    > Complain all you want but Microsoft is engaging developers RIGHT NOW in the IE9 development process. Why any of this should be viewed as a bad thing, I sure as hell don’t know.

    You are missing one important detail here. Microsoft is engaging *_non-XP_* (Vista & 7 only) developers RIGHT NOW in the IE9 development process. And a lot of people are complaining right now precisely about that.

    > IE9 is shown to pass *new* tests Microsoft/W3C developed (and contributed to the community), suddenly it’s "Microsoft is evil, they’re lying again, this is just marketing FUD."

    Microsoft has in the past over-excessively exaggerated its browser version 8 in many MSDN webpages, marketing webpages, declarations in IE blog. You will not see anymore IE Team people saying that IE 8 fully complies with CSS 2.1 spec these days. Dean Hachamovitch is now saying "IE8 delivered a high-quality CSS 2.1 implementation" which is a lot more fair, balanced, I’d say.

    A lot of people are demanding right now support for Ogg Theora and Vorbis in IE9.

    I want openess, interoperability, web-standards-compliance: that was true 10 years ago and that will be true in 10 years from now wrt any web-aware softwares.

    regards, Gérard

  21. Will Peavy says:

    The DOM 3 event support in IE9 is awesome. I hope you guys keep mouseenter/mouseleave in IE even if those events get axed from the DOM 3 candidate rec.

  22. Paul says:

    @ Gerard

    If you’re trying to help, why not consolidate your information and send it? If you’re not trying to help, then why are you here again?

  23. Number of customers doesn't count? says:

    Just wanted to let Microsoft know that not supporting Windows XP is a big mistake they are making. XP is a legendary OS, one that’s seen the most success ever than any Windows operating system will see and is as of 2010 as old as it might be, the world’s most popular operating system. It’s shameful really that the OS maker is the first to drop support for its most successful Windows product when there are millions using it. You can’t ignore the truth that XP as of 2010 is your most used and popular OS and one that is going to remain the most popular until at least 2012-13. You might as well support one last revision of IE which has critcal improvements to web standards rendering on your most popular OS ever. I swear as an XP user, even if I do upgrade my OS ever to Windows 7, I will not use IE.

  24. PhistucK says:

    Everyone – you can spread the word.

    The unofficial public tracker for Internet Explorer is now up and running at GoogleCode.


    I am posting this comment twice – one for this post and one for the newest post.

    Note that if it does not receive the proper attention after a certain amount of time, I will cease to maintain it.

  25. Marcelo says:

    Hi Jason, are you planning to move to XP also?? as a web developer, I would love to test my pages in IE9, but it-s impossible for me to upgrade to vista/7.