Does IE8 Really Pass Acid2? [Updated] 174
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.
The answer... (Score:5, Informative)
As TFA mentions (at the very end!) this is explained here [msdn.com].
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.
Comment removed (Score:2, Informative)
Re:On another note... Acid3 (Score:5, Informative)
Re:I smell bullshit at the IE blog (Score:5, Informative)
Re:Yes, that's true. (Score:1, Informative)
Re:The answer... (Score:5, Informative)
Actually, Microsoft is not correct. The browser is supposed to be unable to load the object that is tripping IE's cross-domain security features. Regardless of whether the object fails to load because of security policies or because the resource flat out doesn't exist, the test is constructed so that the browser will display the fallback content for the object, which IE does not do.
Re:Simple stuff like CSS (Score:2, Informative)
Re:just use firefox (Score:2, Informative)
Re:Simple stuff like CSS (Score:5, Informative)
Auto margins failing to centre block elements is a hallmark of quirks mode, which means that you aren't using a doctype, which means that you are writing invalid code, which means that you aren't in any position to criticise others for not following the specifications.
Re:The answer... (Score:5, Informative)
However they then ignore the fall back content hence the problem.
The standard says that if there is a problem with the object tag then the html inside the html tag should be shown.
IE8 has a problem with the object tag and then ignores the fallback completely.
Why does it work on the official site?
Because its not cross scripting anymore, instead it fetches the page and gets a 404.
It then uses the fallback content.
In summary: Microsoft is making their own standard as per usual.
Re:It's a massive improvement... (Score:3, Informative)
The Webkit nightly is up to 95/100 on Acid 3. Anyone run Gecko nightly lately?
Re:The answer... (Score:5, Informative)
No, that is not the case. IE8 is trying to prevent exploitation of their own, proprietary ActiveX API, and simply needs to make some minor corrections to make sure that they do it in such a way that does not violate the standards. The standards don't need to be revised since nobody else implements the swiss cheese that is ActiveX.
Re:This is not a security problem, per se. (Score:2, Informative)
The portion of the acid2 test that is at issue with IE8 here works like this:
1. The test has markup that points to an object at http://www.webstandards.org/404/ [webstandards.org]; basically, the object's not there, on purpose.
2. The test has subsequent markup that contains a data: URI with embedded replacement/fallback content.
What should happen?
Two claims:
1. MS IE team: Because the lark document resides on a different domain if you run the test from another site, they feel it's insecure to check some other domain's content like that.
2. Rest of us: We acknowledge that it is in fact nice of them to be security minded in this way, BUT the fallback content is still there, embedded in the test, and they should go ahead and render it if they aren't able to get the first-ordered content because of a 404 OR because they are paranoid.
It's content designed to be used in the place of the real content if for whatever reason (offline browsing? paranoia? maybe the original content was eaten by a grue?)
Re:Yes, that's true. (Score:3, Informative)
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
Reverse yellow boxes.... (Score:2, Informative)
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.
Re:The answer... (Score:3, Informative)
The spec says you must try to render the fallback if an object is not processed because the browser is configured not to render it. I quoted the relevant section in my last post.
Re:Yes, that's true. (Score:5, Informative)
Let's do exactly what you suggest, and "RTFM". From the Acid3 page at webstandards.org [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