Jaa


Why Isn't IE8 Passing Acid2?

Acid2 Smiley Face

Although we said that IE8 Beta 1 passes the ACID2 test, some of you may be seeing results like the image above; we thought we should explain what’s going on. IE8 passes the official ACID2 test hosted on https://www.webstandards.org/files/acid2/test.html. (Note, this seems to be a popular destination at the moment. You may have trouble reaching the site.)There are also a number of copies of this test around the net. One popular copy that I’ve seen of late is https://acid2.acidtests.org/

IE8 fails the copies of ACID2 due to the cross domain security checks IE performs for ActiveX controls.  Since IE does not natively handle HTML content in the OBJECT tag, but rather uses IE’s rendering engine as an ActiveX to display this HTML content, the same cross domain security checks also apply.

Given that, let’s take a look at how the acidtests.org copy from above relies on OBJECT fallback to render the eyes. Here’s the snippet of the test for the eyes:

<object data="data:application/x-unknown,ERROR">

<object data="https://www.damowmow.com/404/" type="text/html">

                <object data=”data:*the eyes DATAURI* …>

</object>

</object>

IE stops the OBJECT fallback process at the highlighted line above.  The team and I involved in this work decided that this is the right thing to do because IE would have to allow navigation to this cross domain content in order to determine if the failed resource is a 404 HTTP error code or any of the other failed resource indicators that are part of the standard.  To maintain compatibility and be secure by default we didn’t want to invoke fallback either, as original web authors might not have intended this behavior.  We started with the most secure solution and are now looking into whether we can safely loosen this restriction in a future beta. 
With all that said let’s also take a look at the official ACID2 page hosted by www.webstandards.org:

We see:

<object data="data:application/x-unknown,ERROR">

<object data="https://www.webstandards.org/404/" type="text/html">

     <object data="data:*the eyes DATAURI *>

</object>

</object>

Note that we see the same domain as the test, so everything works fine.  It’s worth mentioning that although most sites allow navigation like https://webstandards.org (note: the no www) this is also considered a cross domain access as www.webstandards.org != webstandards.org.  This will also cause us to fail the ACID2 test and render the picture that you see above. So please type www.webstandards.org!

Phil Nachreiner
Internet Explorer Developer

Edit: Added a space in first paragraph

Comments

  • Anonymous
    March 05, 2008
    In the same webpage you can see an Acid3 test http://www.webstandards.org/action/acid3

  • Anonymous
    March 05, 2008
    Here's the result: http://img218.imageshack.us/img218/4772/lameoc4.jpg

  • Anonymous
    March 05, 2008
    But if it's failing -- for whatever reason, cross-domain or not -- you should fallback. Hence the current behaviour is still a bug. :-) (BTW why would it be a cross-domain problem? This should be exactly the same as an iframe, which can cross domains fine.)

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    IE8 scored a 17/100 for me at Acid3. Hey, it did over 3 times better than what IE7 did, and we're in beta, so it's bound to rise up a couple more points.

  • Anonymous
    March 05, 2008
    IE6 scores 12/100 in Acid3 in my tests (no IE7 to test where I am). It stops at 5 and after a short break it jumps up to 12. Firefox 2 scored 50/100.

  • Anonymous
    March 05, 2008
    Microsoft explica en su blog que sí pasan el test acid2, un test acid 2 concreto, el de www.webstandards.org con las 3w!!!

  • Anonymous
    March 05, 2008
    why arent openDns short cuts not working ie7 or 8?

  • Anonymous
    March 05, 2008
    Re:Ian Hicksoan I think the relevant point is that IE8 "uses IE’s rendering engine as an ActiveX to display this HTML content, the same cross domain security checks also apply." E.g. it's picking up the standard security measures that apply to embedded ActiveX controls. Presumably IFRAMES are not rendered in this way, and so don't suffer from the problem. I agree though that if IE can't render the contents, for security reasons or whatever, then it should fallback. How can this not be what the web developer intended? If they've supplied a resource to embed and a fallback, and IE isn't able to embed the resource, then it should display the fallback. Seems logical to me.

  • Anonymous
    March 05, 2008
    Well done! Even with this small detail, I appreciate the colossal progress since IE7. This is great for both users and Web developers, and I can only hope the development will not stop there.

  • Anonymous
    March 05, 2008
    The idea is to get the Acid2 working... and it pretty much is. If it was to be release that way it would already be a huge improvement on IE7.

  • Anonymous
    March 05, 2008
    Will nightly or weekly builds be available so that we can see progress as it happens?

  • Anonymous
    March 05, 2008
    Wow, I'm impressed by the fact that it's rendering the acid2 correctly. I'm sure you guys will work out appropriate fallbacks / implementations!

  • Anonymous
    March 05, 2008
    For IE7 and ACID3 I got: 14/100 The rendering was seriously messed up (boxes and off-color elements everywhere). For IE8B1 and ACID3 I got 17/100. The rendering was much better. The blocks showed up and appeared to be pretty correct size but were all black and gray (no color).

  • Anonymous
    March 05, 2008
    Well done.  I think you guys are accomplishhing great things.

  • Anonymous
    March 05, 2008
    I understood why you didn't include SVG support in IE7.  There was too much to fix and too many things more important to fix.  But I find it astounding that the IE team has still failed to provide support for SVG. IE is the only mainstream browser left that doesn't support this standard and you're holding back the entire web development community. Please provide us with some indication of when we can expect SVG support.  Will it be sometime this decade?

  • Anonymous
    March 05, 2008
    Wouldn't it make more sense, if IE decides to block loading a resource, to use the fallback behavior?  After all, that's what fallback is for! It provides alternate content in the event that the preferred content cannot be displayed for some reason.

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    I almost completely agree with you on this one, but shouldn't it inform the user in some way that an attempt was made to perform cross-site scripting? It would be a lot more useful to have the equivalent of the media bar drop down and inform the user that they might be viewing an insecure page. There just falling back is "ok", but misleading - a novice web author is unlikely to realize that the reason their fallback (if any) is displaying is because of security issues, not a lack of innate support for the object in question. A simple permission-request would be greatly superior here, in addition to falling back.

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    I agree with the opinion that the cross-site navigation should trigger fallback, but must point out that the fact that there is a cross-site navigation only on the copies makes them semantically different than the "official" test.  IE8 passes the "official" Acid2 test on www.webstandards.org *, and hopefully the fallback issue will be fixed so that the copies pass as well. *except for a minor issue where the bottom section of the nose doesn't seem to trigger hover

  • Anonymous
    March 05, 2008
    "To maintain compatibility and be secure by default we didn’t want to invoke fallback either, as original web authors might not have intended this behavior." How do you reason that? In what scenarios are fallback provided but not intended to be used?

  • Anonymous
    March 05, 2008
    Considering the problem and why IE8 'fails' on the copies of the test, I'd say the IE team is right to consider it at least a partial success: had the Acid2 designers created the test in a way to look for any sort of 404 error, then the original URL wouldn't have been http://www.webstandards.org. However, and this is where I think the IE security model is harming the implementation, since the content of the OBJECT tag can't be retrieved (whether it's a 404 error or a 'rendering fails' error), IE should fallback - and display the eyes in any case. Let's get real, other browsers also look for cross-site scripting possibilities and yet don't fail the test.

  • Anonymous
    March 05, 2008
    Strange... It did pass ACID2 for me without any changes at all. Almost fresh an installation of XP SP3 in VirtualPC. Just installed IE8 over and reboot and visit ACID2 tests..

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    Sorry, it's not strange. I didn't read this completely :)

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    I really hoped you would drop the flawed, ActiveX insecurity model in favour of something more useful and less annoying. Data URIs don't work as expected either.  Although they work when used within, e.g., <img src="data:...">, they don't work when entered into the address bar.

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    Internet Explorer 8 Beta 1 finalmente disponibile per il download

  • Anonymous
    March 05, 2008
    Using the URL that you gave, making IE full-screen messes it up.

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    The comment has been removed

  • Anonymous
    March 05, 2008
    It passes acid2 at http://www.webstandards.org/files/acid2/test.html#top but what about the last version of acid2 test at : http://www.webstandards.org/files/acid2/test_1-3.html#top ?

  • Anonymous
    March 05, 2008
    It's all just another Microsoft cover-up, They cover up their tracks for everything. and it's not as if the public will ever get to find out!

  • Anonymous
    March 05, 2008
    I would like to make a suggestion for the address bar. Ie8 highlights a portion of the address. I would suggestion to also highligh the subdomain. i.e. not only msdn.com but blogs.msdn.com. This part is often very relevant, think about blogspot pages <name>.blogspot.com or connect.microsoft.com. The subdomain should be highlighted as well. You could decide to make an exception when the subdomain is www. then default to the current behavior.

  • Anonymous
    March 05, 2008
    @ Highway of Life IE8 passes the OFFICIAL test in my freshly installed copy of IE8 beta operating with default settings. If it doesn't pass for you, then you are either not using the official test at www.webstandards.org , or you have IE8 running in IE7 Emulation mode.

  • Anonymous
    March 05, 2008
    You've been kicked (a good thing) - Trackback from DotNetKicks.com

  • Anonymous
    March 05, 2008
    Sweet. . .Yes we're behind you 100% ;-)

  • Anonymous
    March 05, 2008
    @ Ryster Please read Ian Hicksoan reply in this post. He clearly says that it's still buggy (one of the creators of this test): "But if it's failing -- for whatever reason, cross-domain or not -- you should fallback. Hence the current behaviour is still a bug. :-)" MS should throw away their ActiveX quirks and support standards natively. For example XHR is not a native Javascript object in IE7 (I have not checked IE8 on this).

  • Anonymous
    March 05, 2008
    it is still preaty buggy hope to see new features like: -SVG -spellcheck and performance tweaks on javascript etc... performance is poor when comparing to latest Safari 3.1 (from ADC Apple) or with Opera 9.5 There is still a long way to go until we see a good browser from Microsoft. but this is just my opinion of course there are problems on other browsers too so keep up with what the community wants to see in the next version. Good Luck!

  • Anonymous
    March 05, 2008
    Mix08 初日! Welcome to Microsoft Internet Explorer 8

  • Anonymous
    March 06, 2008
    Quant au test Acid2, il para�t qu'il y aurait quelques soucis (pas trop m�chants) sur sa r�ussite par la version 8.

  • Anonymous
    March 06, 2008
    IE 8 fails the Acid3 test, clearly. It scores a 17/100. A screenshot over here - http://rutsum.com/internet-explorer-8-beta-fails-the-acid2-and-acid3-test

  • Anonymous
    March 06, 2008
    SVG Support Please Please Support SVG Support SVG Please Please SVG Support

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    Hmmm.... nice explanation. A very good result for the first beta.

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    Great job! But please, fix the PNG gamma correction. Also, add support for SVG.

  • Anonymous
    March 06, 2008
    this excuse sounds suspiciously like "we fixed it to only work on this official page"

  • Anonymous
    March 06, 2008
    Just go to Tools>Internet Options>Security>Custom Level and change the "Access data source across domains" setting.

  • Anonymous
    March 06, 2008
    I noticed getElementById reads name attributes in IE8 Beta 1. Are there plans to update this to so that getElementByID only reads id attributes?

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    Stu: IE8 got 17/100, while the WIP version of other browsers are roughly between 60/100 and 90/100. I don't think that's just "a little better", they're in a totally different league. Sure, the Acid3 only tests 100 specific points, but still, it gives a good idea of how good browsers are when it comes to standards compliance. But yeah, tests are interesting, but they don't cover everything. For example, look at IE8... It (almost) passes Acid2 now, but that doesn't make it more standards-compliant than Firefox 2 (which doesn't pass the test). Actually, IE8 can't even compete with good old Firefox 1 on the other compliance tests (Acid3, CSS3 selectors, etc). Anyway, it's only the first beta of IE8, and it's obviously going to get better... We'll soon find out how much better.

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    It seems they have just hardcoded a reference image for the test on http://www.webstandards.org  and show it instead of real rendering, since their browser show such a looser standard compliance :)

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    What is the turnaround time to find out if I am elite enough to submit bugs to the IE Feedback site? I think this approach is not working out.  Many talented developers are waiting to submit bugs but have not been approved yet. Thanks.

  • Anonymous
    March 06, 2008
    xp+IE8 DPI setting:120 DPI ok,what do you see?

  • Anonymous
    March 06, 2008
    Nevermind Acid2, how about that when I installed IE8, a single click anywhere in the application caused it to crash.

  • Anonymous
    March 06, 2008
    @Jorgie: "ACID3 is based on a PRE-STANDARD that will still change. You cannot ding something for not following standards when the thing you are talking about IS NOT A STANDARD." Are you sure about that? AFAIK, only Candidate Recommendations up to 2004 are used in Acid3, which means IE (considering the 17 score) is still years behind.

  • Anonymous
    March 06, 2008
    My mistake. Ian Hicksoan ( http://ian.hixie.ch/ ) who developed the test works for Google, another Microsoft loving company, who coincidentally use Webkit (the Safari engine) in their upcoming phone.

  • Anonymous
    March 06, 2008
    @Unhappy: Did you try starting IE without addons?  http://www.enhanceie.com/ie/troubleshoot.asp @Will Peavy: For Standards/Strict mode pages, the behavior of getElementById was made standards-compliant.  For Quirks mode pages, it was left compatible. @bungle: XMLHTTPRequest is a "native" Javascript object in IE7 and IE8. @Jan: Stay tuned to the IEBlog for further discussion of the domain-highlighting feature. @Lachlan Hunt: DataURLs are deliberately restricted for security purposes.  Other browsers have had to patch to close some of their implementation holes. We'll discuss this issue further in a later post on the IEBlog.

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 06, 2008
    @bugs - I think I see the same as you (XP + 120dpi) - every single image on every page horribly scaled up.

  • Anonymous
    March 06, 2008
    My advice on the cross domain problem is to fallback. I believe this is what most web developers would expect. Of course if you find that the cross domain loading is safe to do, I'm also fine with that. But the behaviour should always be to render the content or to do the fallback, but never to fail silently. After all this is what the fallback was intended for (to provide alternative rendering in case of errors). Also if the standard is not clear on certain issues, you should at least try to find an implementation that is consistent with the other major browsers/engines (mozilla, webkit, etc.), so that us web developers doesn't have to remember all the different implementation details for every browser. If you're still not sure involve the community BEFORE you make a decision. It is great that you do seem to listen on feedback now, but I think a lot of negative feedback on this blog in the past could have been avoided if you involved the community earlier in decision making process. Anyway, so far I'm very proud of the IE team for finally making some real progress. P.S.: Please add SVG support...

  • Anonymous
    March 06, 2008
    If this plus that plus something else makes IE8 work correctly. How about you just make it work for once eh?!

  • Anonymous
    March 06, 2008
    fallback is logical. no fallback is illogical sense you aren't loading the resource

  • Anonymous
    March 06, 2008
    IE Tem announced Internet Explorer 8 Beta 1 for developers and designers. Release notes can be downloaded

  • Anonymous
    March 06, 2008
    I use WebKit Nightly Build as my primary browser (yes, much better than IE7). Of course, it is a beta, but a very stable beta I should add. And at this point it scores 89/100 in the Acid3 test. The stable Safari 3 also scores around 39/100, which is already better than IE8 Beta 1. Both Safari 3 and WebKit renders 100% correctly ACID2 test as well. You DO have a very very long way to catch up.

  • Anonymous
    March 06, 2008
    Has anyone else noticed bugs in the IE 7 emulation mode?  If I'm not mistaken, IE 8 in IE 7 emulation mode renders Acid2 and Acid3 more poorly than IE 7.  Actually, instead of an "emulation mode," I'd rather see IE 8 ship with both the IE 7 and IE 8 versions of Trident and the ability to change rendering engines on the fly, similar to how Netscape 8 used both Trident and Gecko and was able to switch engines on the fly.

  • Anonymous
    March 06, 2008
    I think I have to agree with the decision of the IE Team to put higher priority on ActiveX control security rules. Furthermore:    <object data="http://www.damowmow.com/404/" type="text/html">                <object data=”data:the eyes DATAURI …>    </object>

  1. This code has a workaround (use a valid domain name).
  2. I do not see myself using that piece of code for a critical CSS design DOH!!!
  3. Domain Access security rule is fair and more important.
  • Anonymous
    March 06, 2008
    How about we work on Acid3 now.

  • Anonymous
    March 06, 2008
    Microsoft drop IE and embedded Firefox into your OS and make this world a better place.

  • Anonymous
    March 06, 2008
    The comment has been removed

  • Anonymous
    March 07, 2008
    The comment has been removed

  • Anonymous
    March 07, 2008
    Ok so how long must the web community wait until we get vector imaging support (via SVG)? We have been stuck with raster images long enough!!!!

  • Anonymous
    March 07, 2008
    The comment has been removed

  • Anonymous
    March 07, 2008
    The comment has been removed

  • Anonymous
    March 07, 2008
    IE 8 does not pass acid2 when you resize the window down to a smaller size you start getting a block out of place as in Sagi's screenshot : http://geeks.netindonesia.net/blogs/sagiarsyad/archive/2008/03/06/internet-explorer-8-beta-1.aspx When you resize down further so that part of the face is 'below the fold' you don't get scrollbars to be able to scroll to see the rest of the face. FF3 handles the scrolling ok. Still as a web dev I'm estatic to see MS finally get back into the standards game and I'm sure these nitpicky things will be fixed by final.

  • Anonymous
    March 07, 2008
    I've tested my homepage on IE8, and found that a png background whose gamma chunk has been removed is displayed with no gamma correctly, but the background color with that png image is gamma-corrected so that the background seems darker than the image. The former behaviour of IE6/IE7 was that background is not gamma-corrected, I remember. I think the gamma correction of background color should follow its background image's setting. If current behavior of IE8 still continues at final release, web designers who uses png as background images will have to make two versions of png. I hope you fix this problem. (But I wonder that if multiple png backgrounds which have different gamma settings for a single element as specified in CSS3's multiple background is applied to IE or other browsers, what settings it should follow.)

  • Anonymous
    March 07, 2008
    The comment has been removed

  • Anonymous
    March 07, 2008
    Stu: IE8 got 17/100, while the WIP version of other browsers are roughly between 60/100 and 90/100. I don't think that's just "a little better", they're in a totally different league. Sure, the Acid3 only tests 100 specific points, but still, it gives a good idea of how good browsers are when it comes to standards compliance. But yeah, tests are interesting, but they don't cover everything. For example, look at IE8... It (almost) passes Acid2 now, but that doesn't make it more standards-compliant than Firefox 2 (which doesn't pass the test). Actually, IE8 can't even compete with good old Firefox 1 on the other compliance tests (Acid3, CSS3 selectors, etc). Anyway, it's only the first beta of IE8, and it's obviously going to get better... We'll soon find out how much better.

  • Anonymous
    March 08, 2008
    The comment has been removed

  • Anonymous
    March 10, 2008
    “Who cares if that one site uses it (SVG)?” Sorry to say but it seems that you miss the point my friend. It is NOT one site; it is W3C that supports SVG. Do you enjoy HTML and XML, if yes then you have to thank W3C for it.   I think that W3C Members have at least the moral obligation to support and not undermine the decisions of the consortium. After all Microsoft joined forces with the rest of W3C in an effort to build a vector format that betrayed later. Vector graphics must find their way to the web and Microsoft is the only obstacle.   Just inspect the DOM of the routing services of Live Search, Google Maps and Yahoo Maps. The lines you see are VML in IE and SVG in all other browsers because none else supports VML, and this is a tiny application of what web-maps can provide. Now imagine yourself in the position of web-mapping developer and you will, hopefully, understand what we are talking about. If you can’t or you just didn’t had the time to understand what SVG means please be more careful with your comments. Take care.

  • Anonymous
    March 10, 2008
    Vector graphics already finded their way to the "Microsoft web". It's Silverlight ;)

  • Anonymous
    March 11, 2008
    The comment has been removed

  • Anonymous
    March 13, 2008
    The comment has been removed

  • Anonymous
    March 16, 2008
    Why no listing of these results? http://slashdot.org/article.pl?sid=08/03/09/2136242 And, yes, I expect companies to provide their customers for support of patent and royalty free formats like Ogg Vorbis and Ogg Theora.  It would be so much easier if you people would just play nice.

  • Anonymous
    March 17, 2008
    "Do you enjoy HTML and XML, if yes then you have to thank W3C for it." How about thanking IBM, who designed GML and SGML (Generalized Markup Language and Standardized GML) for the word-processing program called Script, many, many years ago? XML looks very much like an outgrowth of GML to me, and I think that has been officially acknowledged.

  • Anonymous
    March 17, 2008
    I don’t disagree with that. Definitely GML (probably from: "Goldfarb, Mosher and Lorie") and SGML (I think the nick name was "Sounds Good Maybe Later") qualify as the "grandfathers" of Markup Languages but the true realization happened with HTML, XML and W3C.

  • Anonymous
    March 19, 2008
    The comment has been removed

  • Anonymous
    April 10, 2008
    With the release of IE8 Beta 1, I'm pleased to be able to talk about the first round of improved standards