Does IE8 Really Pass Acid2? [Updated]
thevirtualcat found some inconsistencies in IE8's Acid2 results that made him wonder what's going on. Can anyone replicate these results or, better yet, explain them?
Update: 03/22 23:54 GMT by KD : Several readers pointed out this has to do with cross-site scripting prevention, as described here.
Update: 03/22 23:54 GMT by KD : Several readers pointed out this has to do with cross-site scripting prevention, as described here.
As TFA mentions (at the very end!) this is explained here.
Summary: cross-site security means that if you move the test off the original domain, the test changes. In fact IE8 does the wrong (nonstandard) thing in these cases, but according to them it's more secure (it fails earlier). They're considering making it more standards compliant once they're convinced it's secure enough.
Problems with IE8's Acid2 results stem from cross site scripting issues which they're still working on. Rendering is done just fine, but the cross site scripting is posing a problem.
I heard the exact details about this over at MIX but I don't remember them now.
Viable Slashdot alternatives: https://pipedot.org/ and http://soylentnews.org/
The reason you're seeing the result is due to an "overly secure" default for beta 1 when it comes to cross-domain embedded objects.
:)
Here's the explanation:
http://blogs.msdn.com/ie/archive/2008/03/05/why-isn-t-ie8-passing-acid2.aspx
Google is your friend next time...
Comment removed based on user account deletion
Did anyone else find it intriguing that a day or two Microsoft announces that they passed Acid2 with IE8, The Web Standard Project announces Acid3 which IE8 epically fails?
Dude, you forgot to mask out your IP address in one of your screens.
SD
Film at 11.
The Acid tests are test cases used to assess a browser's web standards support.
Yet, in the explanation of the incorrect rendering at the IE blog, AciveX is invoked, with some excuse about cross-domain security.
ActiveX has absolutely nothing to do with Web Standards.
This leads me to believe that MS plans to keep playing the Internet game by their rules for a while yet.
n/t
"Be light, stinging, insolent and melancholy"
Microsoft is right to turn cross-domain restrictions on by default. Cross-domain is the same as cross-site, and we all know the pain XSS vulnerabilities can bring. The failure of "copies" of acid2 to render correctly in IE8 are actually due to the "copies" of acid2 being "copied" incorrectly. To copy the acid2 test, you have to make slight modifications to the test contents itself to update the test for the domain it is being hosted on. Them are the breaks of complex tests. Acid2 is a complex test and cannot simply be copied carte blanche.
...make sure you copy all the files the test depends on, and make hard-coded links such as http://www.webstandards.org/404/ to point to your copy. Not rocket science.
IE8 has a problem initiating fallback content when a resource can not be acquired. This is exactly what this particular part of the acid2 test is meant to test, fallback code. The fact is, that IE8's fallback behavior works correctly in some cases, but not in others. Specifically, the fallback code works if the failed to acquire resource is supposed to be on the same domain as the acid2 test, whereas if they are on different domains, IE8's code fails to behave properly.
The fact that the blog writer mentions security is a red herring. While it is true that this does have something to do with security code, the real problem is that the fallback behavior is poor.
Write your own Choose Your Own Adventure. http://www.freegameengines.org/gamebook-engine/
I was kind of hoping that IE8 would at least be more compatible with CSS as I possess only basic HTML skills and find it a huge pain to try and make things look similar in multiple browsers by using javascript hacks and other crap.
But even the most basic CSS like
margin-left: auto;
margin-right: auto;
to center a DIV doesn't work in IE8 while it works great in Firefox.
Maybe I just read the wrong HTML/CSS tutorial sites but it would be nice if they rendered things consistently.
http://blogs.msdn.com/ie/archive/2008/03/05/why-isn-t-ie8-passing-acid2.aspx This has long since been addressed already.
No, it does not pass.
There is no cross-domain insecurity in <object> as defined by the HTML specification. There is a problem in IE8's broken implementation.
If object can't be displayed, browser should ignore it. Ignored <object> isn't any more dangerous than <div>. In such case there's only one document, with one DOM, all within same domain.
But apparently IE8 can't ignore undisplayable <object> properly, so they've hacked around the problem by spawning new IE8 instance that pretends to be a plug-in that handles the invalid <object> (an <iframe> effectively). And when you do stupid things like that, of course you've got a security problem!
No Acid2-passing browser has any problems with displaying same-origin fallback to cross-domain object.
I 3 Firefox and all, but it's not standards compliant. Tried Acid 3?
Umm, misinformation a bit?
Acid3 was recently released so that people have new standards to meet. Nobody is 100% Acid3 compliant as of yet, and not everyone is Acid 2 compliant. This has been discussed to death in a million threads.
Firefox is and will likely continually be one of the more compliant browsers, as opposed to IE, which will continually be one of the less compliant browsers. That's just how it is. Not "the best" or "the worst".
"more" compliant? Either you're compliant or you're not and neither Firefox nor IE are.
Well firefox is better don't matter. My blog http://scenewarez.blogspot.com/
I think the Acid 2 test is great in all as a way to test if a browser supports CSS well. But it seems as though IE is now targeted at Acid 2... What I mean by that is that, from the few days of playing with IE8 I've noticed a great deal of problems with some really basic CSS (like padding) when in "standards mode". Sites that function perfectly in all modern browsers fall apart in IE8 (Google Maps come to mind). And, it might be just me, but it seems as though the IE team worked very hard to pass Acid 2, not to build a browser that renders CSS correctly and as a result passes Acid2.
Developer of Heap CRM and Torch Project Management (WBP SYSTEMS)
Internet Explorer is losing ground to Firefox, so they come out with a new version and claim that it meets standards and works better. Nope, it's just more of their marketing spin.
The real problem is that Microsoft has lost sight of the goal. They're supposed to be producing software that meets the needs and desires of their customers, but they're busily producing software that's only intended to further their goal of "world domination". Their marketing department is busy trying to make that pig look like a swan, but it's not working.
Too bad that Linux distributions aren't quite "there" yet - close, but not yet. This is a golden opportunity for a real competitor...
That would be true in situations like horseshoes and hand grenades, but not here where mostly compliant is very good and not very compliant sucks and causes headaches. Where browsers like Firefox, Opera and Safari fail are largely (unfortunately not exclusively) obscure test cases that don't show up in the real world. I would like it to be that an even slight failure to meet the standards would set a browser apart from everyone else. But that just isn't true.
Its just a bit strange to me to have Microsoft acknowledge the problem, yet be so nonchalant about the fact that its because objects are handled by Active X. Okay back up. Last I checked Active X isn't a standard. Its just so lame the fact that things may look like they render correctly or have engineers trying to make one test pass (though crookedly). Its not standards compliant. Nuff said.
* A world imprisoned screams with pain There are no leaders you can blame Your avarice destroyed your sphere And the
Acid3 isn't a standard, it's a set of tests for specifications that have already existed for years. Acid3 didn't make Firefox less compliant, it merely pointed out ways in which Firefox was already non-compliant.
Bogtha Bogtha Bogtha
No, that's exactly wrong. If an <object> element can't be rendered, its content should be rendered instead.
Bogtha Bogtha Bogtha
If you go to the appropriate wikipedia page you will see a long list of CSS 2 and 3 features.
Beside this list is all the major browsers and how they implement each feature (fully, partially, broken, not implemented, etc...).
Voila! Partial compliance.
...even if it's a shame it's taken this long to get there. Pre-releases of Safari and Konqueror passed this almost exactly 3 years ago, and Opera's Presto engine wasn't far behind. The fact that Gecko has taken nearly as long to catch up as IE/Trident is disturbing, but they had their own self-inflicted issues to fix (XPCOM? ewww).
All of this can only mean web developers sleep more soundly at night, and more real work gets done. The IE developers can give themselves a big pat on the back for achieving something useful that will make everyone's lives better, like they used to do with IE3 and 4 and initial CSS1 support. Shame the management decided to slack off on IE development so long. Microsoft: intelligent geeks, ruined by management.
Now, on to Acid 3. IE8 is still clearly trailing everyone else by some distance and is probably going to play catchup for a while yet until they implement native SVG (think about the possibilities for Explorer and Office, that Apple, KDE and friends are just beginning to explore).
As an aside, think how good MS Office might be if they had this level of competition due to having to implement a proper Open Document standard not specified by them. Everyone would get more work done, would be fitter, happier, healthier and better, and Microsoft would probably still have the lion's share of the market. OOXML needs to die now, for everyone's sake, including Microsoft's.
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. As we all know, developers (developers, developers, developers) NEVER intend for a fallback resource to be utilized when primary resources fail. Microsoft has once again taken the initiative to embrace the developer community as a loving parent and save us from our own incompetent, foolish selves.
"What does 'It's not a bug, it's a feature' mean, daddy?"
"I'll tell you when you're older."
CAn'T CompreHend SARcaSm?
One must ask, does IE 8 only fail on cross site objects of type text/html, or are other cross site objects affected? (e.g. flash, embedded youtube videos, quicktime, etc)...
Come as you are, do what you must, be who you will.
Aren't horeshoes and hand grenades two situations where close does count (as you're attempting to claim browser compliance is as well)?
Actually, the nightly build of WebKit (OS X) is already at 95/100. The latest Safari isn't nearly as high.
Not like it matters. By the time anyone trys something that is in the ACID3 test there will be an ACID4 that nobody can get to 100 with
-nick
In terms of web standards I think IE8 has moved dramatically forward, and its a great thing to see. The biggest issue with IE8 which I am surprised no one has mentioned, is the performance. My PC (AMD XP1600+, ATI x700 and 1.4gb of ram), STRUGGLES to render anything! For example, if I go to slashdot, the menu on the left chugs and chugs and has huge delays in when the containers register hover effects. And don't even get me started on scrolling.
All ACID tests are attempts at benchmarking the ability of a browser to apply standards (W3C standards, to be specific) correctly. Unless your browser showed you the image exactly as it appears here http://acid3.acidtests.org/reference.html, your browser did not pass the ACID3 test.
I do not see any "'t's in reversed yellow boxes" in the reference document, so I am going to go out on a limb and suggest your browser does not pass the ACID3 test.
Meanwhile Acid3 test anyone? lol!
Safari 3.1 got to 75 (out of 100?) on my 733mhz G4 Mac, better than the 25 3.0 got
Reload the page and watch Safari 3.1 fail on Windows and Mac.
Indeed, it's not even open source. And everybody knows they copied gecko/webkit/... code out there.
possibly a newbie HTML question but, when you go to http://www.webstandards.org/files/acid2/test.html it shows one bit of text, and when you go to http://www.webstandards.org/files/acid2/test.html#top it shows another. How did they do that? I can't figure it out.
rtfm.
The Acid3 test is a NEW test that uses/tests the NEW feature that the CSS3 intoduces.
CSS3 intoduces many changes, that right now, non existent browser has implemented, so it is obviously that all current browser will fail. So, dont cry for your poor browser, firefox.
Btw, for some reason, it seems that opera can handdle better the Acid3 test. The animation reach the 46/100, and the appearence looks really close to the reference (in comparison with firefox).
Some of us, subscribers seeing the "story in future" alerted Slashdot about it (msdn link) before it made to front page. As you can see from some comments, people (who knows to develop) aren't so satisfied from MS explanation so it could be the right thing that story wasn't pulled.
Let's do exactly what you suggest, and "RTFM". From the Acid3 page at webstandards.org, with links to the specifications and dates added by me:
As you can see, the majority of the Acid3 test is comprised of behaviour described in specifications published years ago, with a substantial portion of them over five years old and some over a decade old.
Actually, CSS 3 is not a single specification, but a group of
Bogtha Bogtha Bogtha
That's what I had in mind - ignore the tag, but not its content.
Nice work with the dates. Just to give one more hint, most of these specifications are in "Candidate Recommendation" state, and not yet in "Web Standard".
I'm sorry, that's not true either. I count eleven Recommendations, one ECMA standard, five Candidate Recommendations and two RFCs.
Candidate Recommendation is the stage when browsers are supposed to implement them. They don't reach final Recommendation status ("Web Standard") until after there are two interoperable implementations.
So of the nineteen specifications listed, over half have final Recommendation status and all have reached the stage where they should be implemented. So again, the Acid3 test is primarily a test of things browsers should have had years ago.
Bogtha Bogtha Bogtha
You know, I needn't have gone to the bother of checking the dates. Here it is, straight from Ian Hickson's weblog:
Here's another quote to confirm it after the Acid3 test was finished:
Acid3 was designed to only test behaviour that browser vendors have had at least three years to implement, straight from the horse's mouth. It's not new stuff.
Bogtha Bogtha Bogtha
So this was moderated Flamebait? Why? Because you can't accept the original post is misinformed, late and is not reflecting reality?
I think I meant to type "pool and sniper rifles".
Seriously, maybe this will teach me not to use cliched analogies in situations where they are clearly unnecessary anyway.