January 25th, 2011
Mythbusting: Why Firefox 4 won’t score 100 on Acid3
…and why that’s a good thing
Acid3 was a test written by Ian Hickson in 2008 that tests a limited selection of web browser features, and assigns a score from 0 to 100, depending on which features are supported.
Every once in a while — especially around the time of an upcoming new release — people argue that Firefox isn’t standards compliant, since it doesn’t score 100 on this test, but has been scoring 97 for quite a while, and will probably never implement what’s required to reach a score of 100.
Here’s why, explained by Mozilla engineer Boris Zbarsky, from a comment on Slashdot, and reposted with permission — emphasis added by me:
Those remaining 3 points are SVG Fonts.
Opera and Webkit implemented (very brokenly, in at least Opera’s case) a small subset of SVG 1.1 Fonts; basically just enough to pass Acid3.
We don’t particularly want to do that small subset in Gecko, since it gives no benefits to authors or users over the existing downloadable font support (beyond the brownie points on Acid3).
On the other hand, support for the full specification in a UA that also supports HTML is… very difficult. SVG fonts are just not designed with integration with HTML in mind. Once you put an
<iframe>in a glyph, all sorts of issues arise — both in terms of the spec being underdefined and in terms of the behavior being very difficult to implement, no matter what the spec said.
At this point, the SVG working group has decided that SVG Fonts will no longer be a core part of SVG but will be a separate specification, and that it might need some serious work if anyone is ever to implement it in full.
Related, Robert O’Callahan has a post on why not implementing features is hard, and why it’s sometimes even important. In other words, the WOFF font standard is more appropriate, works in more browsers, and is a better way to handle custom font support in browsers. Implementing just enough of the standard to pass a test is disingenious, and has nothing to do with standards compliance. Acid3 was useful at the time to give the general public a way to see where some of the browsers were falling down expressed as a simple numerical rating, but nearly three years later, with all the major browsers supporting these features (if you count IE9, currently in beta) it’s not really relevant anymore.
The next time someone posts a comment about how Firefox still doesn’t score 100 on Acid3, please link them to this article. I wrote this post since there isn’t a highly ranked piece on this if you search for “Firefox Acid3,” and there should be. Hopefully my site’s search engine ranking can be useful for something.