Wednesday, March 26th, 2008
It appears that Opera has passed Acid 3:
Since the test was officially announced recently, our Core developers have been hard at work fixing bugs and adding the missing standards support.
Today we reached a 100% pass rate for the first time! There are some remaining issues yet to be fixed, but we hope to have those sorted out shortly.
We will release a technical preview version on labs.opera.com within the next week or so. For now, the screenshot above shows the Acid3 test as rendered in our latest WinGogi Desktop build. WinGogi is the Windows version of our reference builds used for the internal testing of Opera’s platform independent Core.
At the same time, Ian Hickson posted about changes to the test and Anne has commented that Opera is passing the latest and greatest:
“The updates from Ian have been done since the release of the test. Opera gets 100/100 on the latest version of the test.”
- Sub-pixel testing: It turns out that the original test accidentally required that browsers implement sub-pixel positioning and layout (and in fact the reference rendering got it wrong too, and relied on the same kind of rounding as Firefox does), which is somewhat dubious. I’ve changed the test to not rely on sub-pixel layout. However, it is very likely that this will be tested in Acid4, if we can get the specs to be clearer on this.
- Surrogate pairs in SVG APIs: One of the submitted tests assumed that SVG APIs worked on Unicode codepoints, but the SVG spec changed to work on UTF-16 codepoints, like the rest of the DOM API, so the test was changed there. (The test changed a couple of times, because I originally got the fix wrong.)
click()method: The test originally assumed that the
click()method was reentrant, but the specs were vague on this and someone suggested making it fail if calls to it were nested, so I removed this part of the test (the spec hasn’t been updated yet). I replaced it with an attribute test (the new second part of subtest 64).
- The Performance Test: I made the loop counter in the performance test (a part of subtest 63) less complicated and shorter, to make it at least plausible that browsers could be fixed to pass that test quickly enough that it wouldn’t always feel jerky. At the same time, I updated the test’s infrastructure to report more details about pass and fail conditions and how long each subtest takes to run.
- Namespace bug: Someone noticed that
http://www.w3.org/1998/XML/namespaceshould have been
http://www.w3.org/XML/1998/namespacein one of the subtests.
- Linktest timeout
I made the linktest more resilient to slow network conditions. However, the test is still going to give you major issues if you are on a network with multi-second latency, or if the acidtests.org site is being slow.
Congrats to the Opera team!
Oh, and Safari is at 95/100 and will close in on 100 shortly.
Hixie has another update:
Just as Reddit is celebrating Opera reaching 100/100, with the misleading headline Opera the first browser to pass the Acid3 test (hey, submitter: it wouldn’t hurt to read the Opera blog post before submitting it to Reddit), the Apple guys track me down and point out that there’s yet another bug in the test. With heycam’s help, we have now fixed the test. Again. This presumably means Opera is now at 99/100… the race continues!
I have to say, by the way, that the relevant parts of the SVG spec are truly worthless. Where are the UA conformance criteria? You’d think a spec that was so verbose and detailed would actually tell you stuff, instead of just rambling on without actually saying what the requirements were…