Acid2 reference image.After looking at how Safari 3.1 handles the Acid2 test, and finding that under some circumstances/platforms it fails the test, I realized: that one line, with the eyes, has been the cause of most regressions in browsers that previously passed the test.

Rows 4-5 test fallback behavior for objects. The idea is that if a page tries to load an external resource, but can’t—the file is missing, the server’s down, the network’s slow, the browser doesn’t have the right plugin, etc.—the page can provide alternate content. And it can be nested, so you can try, say, a video clip that falls back to an SVG image that falls back to a PNG that falls back to text. Continue reading

With internal builds of IE8 passing Acid2, a lot of people are looking at the Acid2 test with browsers that are supposed to comply… but don’t.

It looks like there’s a server error on, and I’m trying to report it—but emailing them is just kicking back “user unknown” errors, and the spam protection on their blog refuses to let me comment, claiming that my user-agent has changed since I read the post. Um, no, I may have looked at it with more than one browser, but the one that loaded it is the one that’s submitting it.

So, Web Standards People, you want to fix your test?

Fix your 404 page.

Rows 4-5 test nested <object> support. The intent of the spec is that if a remote object cannot be retrieved, the browser will instead display the content inside it, on the HTML page itself.

One of the objects is trying to load content from Normally this fails, and the browser displays the fallback content — the eyes on the happy face. Right now that page is returning an HTTP status code of “200 OK” instead of “404 Not Found” — so the browsers, including Opera 9, Safari 3, Konqueror 3 and Firefox 3 beta, are all dutifully showing the content of that page in a tiny rectangle with scrollbars.

Update: Thanks to several Slashdot posters for pointing out that the test author, Ian Hickson, has a second copy of the test that points to a different URL for the <object> fallback test, and currently works as expected.

Internet Explorer.Okay, this will mean nothing to most people out there, but to web developers, particularly those who use standards-based design to maximize compatibility with different browsers, this is monumental.

An internal build of Internet Explorer 8 has passed Acid2.

The Acid2 test was released in April 2005 to test a number of pieces of the HTML and CSS standards that, at the time, no modern browser handled according to spec. The purpose of the test was to prod browser developers into improving their products, and to do so consistently, so that developers would have more tools available for cross-browser sites.

At the time, Microsoft dismissed its its importance entirely. Even though they were working on rendering improvements for IE7, they stated that Acid2 was not one of their goals. Meanwhile Opera and Firefox were both in the wrong phase of their development cycles to make sweeping changes, so Safari jumped on it and became the first browser to pass. (Every once in a while I see someone say Opera was the first, and I have to wonder where they were.) Opera followed with version 9, and the Firefox 3 betas pass it as well.

With Gecko (Firefox), WebKit (Safari), Opera and IE accounting for the four biggest web browsers and the most popular minor browsers (Flock, Camino, Shiira, etc., plus IE shells like Maxthon), this shows unprecedented convergence among clients. It will be much easier to develop a cross-browser website that runs on IE8, Firefox 3, Opera 9+ and Safari 3+.

There are, of course, many aspects of the specs that aren’t covered by Acid2. And there are emerging standards like HTML5 and CSS3. And there are plenty of other bugs, quirks, and extensions among various browsers (IE’s bizarre concept of having layout, for instance, trips up all kinds of weird issues). And then there’s waiting for IE8 to be released, and moving people up from IE7, not to mention all the people we still have to move up from IE6. Full benefit is probably at least 3 or 4 years away. *sigh*

(via WaSP Buzz)

Opera BrowserOperaWatch reports that this week’s development build of Opera passes the Acid2 test. This makes Opera the first browser for Windows to pass! Previous browsers included Safari (Mac only), iCab (Mac only), and Konqueror (Linux/Unix). I’m sure you could get Konqueror to run on Windows under Cygwin, but it seems like a lot of effort just to run a web browser.

Opera cautioned that upcoming development builds could regress, but we can expect the final version of Opera 9 to pass the test.

Neither Internet Explorer 7 nor Firefox 2 will make any attempt to pass Acid2, but Mozilla is working on Acid2 fixes in the next version of their rendering engine, Gecko 1.9, which will likely appear in Firefox 3.

So who’s next? Well, Opera 9 beta 1 is very close—there’s a pair of red squares that should be black, but that’s it. Neither IE7 nor Firefox 1.5 will have much in the way of Acid2-related fixes, though the trunk builds of Firefox show improvement, so 2.0 has a chance 3.0 might make it will pass (since 2.0 will use the same engine as 1.5).