Early Look: Acid3

In December, I wrote about Internet Explorer 8's ability to properly render the Acid2 test. Many current or upcoming browser releases are able to successfully process Acid2. However, the bar is about to be raised again. Since April 2007, the Web Standards Project has been designing Acid3 to be the next rendering milestone for modern browsers.

So far, there is not a browser in existence that can perfectly render the part of Acid3 that has been completed, and a significant portion has not even been built yet. I ran my own tests on Ubuntu 7.10 with Firefox 2.0.0.11, Konqueror 3.5.8 and Opera 9.25 -- all standard builds from Ubuntu's repositories. Unlike other tests that have been done on Acid3 with cutting-edge browser releases, I wanted to see how well the current browser releases that I use every day for production work could handle the test.

Firefox did surprisingly well on Acid3, with a score of 61/100 and a rendering that was closest to the reference document. Opera also did fairly well, with a score of 58/100, but the output looked very little like the reference.

Unfortunately, Konqueror completely washed out of the test. It tried to render the test for a few seconds (what it briefly rendered looked similar to the Opera results) but it consistently crashed on every trial run. When I analyzed the bug, I found that the crashes are caused by the way that the DOM3 (Document Object Model Version 3) is implemented during the test in the KHTML rendering engine. Rumor has it that the crashing problem has been fixed in the newer KHTML library that is built into KDE4, which was released several days ago.

By means of a Windows XP virtual machine running on top of Ubuntu, I also subjected Internet Explorer 7 to the Acid3 test. Although IE7 is much improved over its predecessors, the test did not go very well. There were serious rendering problems, more than with any of the other browsers I tested. Ultimately, IE7 ended up with a final score of 23/100.

Acid3 incorporates animation and scripting into the test in addition to proper layout rendering. Acid3 puts much more emphasis on JavaScript and DOM3, while Acid2 was focused more on layout rendering.

During the Acid3 test, a counter will gradually increase from 0/100 up to 100/100, which indicates the number of subtests that have been passed. A full count of 100/100 is required to pass Acid3. The test is supposed to show a series of colored boxes that appear with higher scores.

At this time, it is important to keep in mind that the current results of Acid3 are hardly final as Acid3 itself isn't finished. Also, none of the Acid tests are meant to test a browser's full compliance with Web standards. They merely indicate that a browser complies with at least some of the standards. The Acid tests are more useful to browser developers than anyone else because the tests tend to reveal areas that need improvement in a browser's rendering system.