RealTime IT News

Passing The Acid2 Test

A Web browser that's in step with all World Wide Web Consortium's (W3C) standards doesn't exist, but the noticeable shortcomings of one has led to grumbling in the Web development space.

The recent admission by Microsoft's Internet Explorer 7 development team that the browser would not pass the Acid2 test was met with disappointment from developers and competitors alike.

Why is it so important for IE 7 to pass this test, to cause such grumblings among the Web developer community?

It's very easy to tell to what extent a browser has incorporated W3C Web recommendations, or standards, and that's by visiting the Web Standards Project's (WaSP) Acid2 test page.

If you get a grinning yellow face outlined in black with green bug-eyes and the words "Hello World!" on top, your browser passed the test; if not, depending on the degree of standards compliance, you'll see something that looks like it's been run through a blender.

A successful test.

There are only three browsers today that have actually passed WaSP's notoriously difficult browser test -- Safari, iCab and Konqueror -- but most of the others are getting close.

While it would seem that getting your browser to display the grinning face is simple, getting it to pass the Acid2 test is anything but. Currently there are 90 recommendations within the W3C, ranging from Cascading Style Sheets 2 (CSS 2) and HTML 4.01 to XML-binary Optimized Packaging.

WaSP's test doesn't try to incorporate all 90 recommendations, just the ones the group believes should be in all browsers based on Web developer input. It looks for basic support of HTML 4, CSS 1, data URLs and Portable Network Graphics (PNG), as well as particular implementations from these and other specifications.

The goal of the test is to get browsers to implement the Web standards tested in a consistent fashion, so what the Web surfers see using IE is the same as what another views in Safari, for example.

Hakon Lie, Opera's CTO and the man who proposed the concept of CSS in 1994 while working at the W3C, said the company hopes to have a public version of the browser that passes the Acid2 test by the end of the year.

The difficulty, he said, lies not with the standards themselves but how they interact with each other. For example, data URLs, which are mentioned in the HTML 4 specification, are not specified to support PNG images. While neither specification acknowledges the other, they still need to work together, Lie said.

"They're meant to be used independently, but if you are to create a Web site, you need to do all these things and you need to rely [on the fact] that they work together," he said.

The Opera test.

What makes the test even harder is when the standards tested aren't acting much like standards. Allan Jensen, a developer on the Konqueror browser, relates one of the problems his group had with the CSS 2 implementation. The specification was recently replaced by CSS 2.1 and dropped back to "working draft" status, he said, because of a large update.

"It is hard to aim at a moving target, and it is hard to implement something even the authors disagree on what it means," he noted in an e-mail interview.

Jensen also said the de facto implementations from major browsers, like IE and Firefox, force them to incorporate the same code, full of mistakes or not, in the name of compatibility.

Despite the difficulties, why haven't the developers of the four major browsers -- IE, Firefox, Opera and Netscape -- gotten around to passing the Acid2 test? Collectively, the four hold the majority in browser usage but have been trumped by their less-used competitors.

While Web standards inclusion is a goal for every browser developer, they have to juggle concerns like new user features and security on a huge customer base. That, coupled with the fact the Acid2 test has only been around since April, means it will take some browser developers longer than others.

While officials from the Mozilla Foundation were not available for comment on their Acid2 test progress, Lie said the Firefox team has been making great strides to include more standards in its browser.

Firefox is based on the Netscape code donated by AOL in July 2003, which used the Gecko layout engine first developed in 1997. The previous Netscape engine didn't support CSS and HTML in a standards-compliant fashion, and Mozilla has had to play catch-up with the Gecko engine.

IE 7, while it incorporates more CSS capabilities than the previous version, is focused primarily on the security and bug issues that have plagued the browser since the release of IE 6.

Microsoft officials on the team look at the Acid2 test as important and useful to the development team, but passing the test isn't a priority. The company, however, is making more of an outreach effort this time around than in the past.

Meryl Evans, a WaSP member, said the group is working with Microsoft to increase Web standards support within its product line.

"So far, the partnership has made progress and the lines of communication are wide open between team members," Evans said in an e-mail.

Lie believes Microsoft needs to make more of an effort and take any extra time needed to pass the test.

"It's very hard to understand why Microsoft doesn't want to take the extra time required to implement support for this test," he said. "Given their recent browser history, chances are there won't be a new IE for some years to come, and if that's the case, we really need for IE to support the standards."