Acid3: Difference between revisions
→Browsers which pass: reference to Safari 4 passing Acid3 |
→Browsers which pass: Refactoring design to make "passing test" less ambiguous |
||
Line 185: | Line 185: | ||
==Browsers which pass== |
==Browsers which pass== |
||
<!-- the version numbers should indicate the first (oldest) stable release that passed --> |
<!-- the version numbers should indicate the first (oldest) stable release that passed --> |
||
<!-- please list all one or more references needed to prove that the browser passes next to the browser's name --> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
<!-- Opera 10 does not pass the performance aspect of Acid3 (see talk page) --> |
|||
{{WebSlice-begin|id=1|title=Acid3 compliance updates}} |
|||
{|class="wikitable unsortable" style="width:auto;table-layout:fixed;text-align:center" |
|||
|- |
|||
! Browser |
|||
! Score 100/100 |
|||
! Pixel-perfect rendering |
|||
! Performance |
|||
|- |
|||
⚫ | |||
| Yes |
|||
| Yes |
|||
| Yes |
|||
|- |
|||
| [[Opera (web browser)|Opera]] 10.00 (1 September 2009) <ref>{{cite web | url = http://www.opera.com/press/releases/2009/09/01/ | title = Turbocharge your Web experience with Opera 10 | accessdate = 2009-09-04}}</ref> |
|||
| Yes |
|||
| Yes |
|||
| No {{fact}} |
|||
|- |
|||
|}{{WebSlice-end}} |
|||
⚫ | |||
Note: For mobile browsers it is not possible to consider the "performance" portion of the test, as mobile browsers cannot be run on the reference hardware. |
|||
{{WebSlice-begin|id=1|title=Acid3 compliance updates}} |
|||
⚫ | |||
{|class="wikitable unsortable" style="width:auto;table-layout:fixed;text-align:center" |
|||
⚫ | |||
|- |
|||
! Browser |
|||
! Score 100/100 |
|||
! Pixel-perfect rendering |
|||
|- |
|||
⚫ | |||
| Yes |
|||
| Yes |
|||
|- |
|||
|}{{WebSlice-end}} |
|||
==Browsers which do not pass== |
==Browsers which do not pass== |
Revision as of 15:34, 4 September 2009
Type of site | Web standards test |
---|---|
Available in | English language |
Owner | The Web Standards Project |
Created by | Ian Hickson |
URL | http://acid3.acidtests.org |
Acid3 is a test page from the Web Standards Project that checks how well a web browser follows certain web standards, especially relating to the Document Object Model and JavaScript.
When successful, the Acid3 test displays a gradually increasing percentage counter with colored rectangles in the background. The percentage displayed is based on the number of subtests passed. It does not represent an actual percentage of conformance as the test does not keep track of how many of the subtests were actually started (100 is assumed). In addition to these the browser also has to render the page exactly like the reference page is rendered in the same browser. Like the text of the Acid2 test, the text of the Acid3 reference rendering is not a bitmap, in order to allow for certain differences in font rendering.
Acid3 was in development from April 2007,[1] and released on 3 March 2008.[2] The main developer was Ian Hickson, who also wrote the Acid2 test. Acid2 focused primarily on Cascading Style Sheets, but this third Acid test focuses also on technologies used on modern, highly interactive websites characteristic of Web 2.0, such as ECMAScript and DOM Level 2. A few subtests also concern Scalable Vector Graphics (SVG), XML, and data URIs. Controversially, it includes several elements from the CSS2 recommendation that were later removed in CSS2.1 but reintroduced in W3C CSS3 working drafts that have not made it to candidate recommendations yet.
The test
The main part of Acid3 is written in ECMAScript (JavaScript) and consists of 100 subtests in six groups called “buckets”, including four special subtests (0, 97, 98, and 99).[3]
- Bucket 1: DOM Traversal, DOM Range, HTTP
- Bucket 2: DOM2 Core and DOM2 Events
- Bucket 3: DOM2 Views, DOM2 Style, CSS 3 selectors and Media Queries
- Bucket 4: Behavior of HTML tables and forms when manipulated by script and DOM2 HTML
- Bucket 5: Tests from the Acid3 Competition (SVG,[4] HTML, SMIL, Unicode, ...)
- Bucket 6: ECMAScript
The compliance criteria requires that the test is run with a browser's default settings. The final rendering must have a 100/100 score and must be pixel-identical with the reference rendering. On browsers designed for personal computers, the animation has to be smooth (taking no more than 33 ms for each subtest on reference hardware equivalent to a top-of-the-line Apple laptop) as well,[5] though slower performance on a slow device does not imply non-conformance.[6]
To pass the test the browser must also display a generic favicon in the browser toolbar, not the favicon image from the Acid3 web server. The Acid3 server when asked for favicon.ico
gives a 404 response code but with image data in the body. This tests that the web browser correctly handles the 404 error code when fetching the favicon, by treating this as a failure and displaying the generic icon instead.[7]
As the test is run, rectangles are added to the rendered image; the color of the rectangles is decided by the number of subtests passed in the bucket. If all subtests fail in a particular bucket, its associated rendered rectangle will be invisible. If some subtests are cleared the color will change in four steps:
- 1-5 subtests passed: Black rectangle.
- 6-10 subtests passed: Grey rectangle.
- 11-15 subtests passed: Silver rectangle.
- All 16 subtests passed: Colored rectangle (red, orange, yellow, lime, blue, purple — for each of the six rectangles, respectively).
After the Acid3 test page is completely rendered, the capital A in the word Acid3 can be clicked to see an alert (or Shift-Click for a new window) explaining exactly which subtests have failed, and what the error message was.
In order to render the test correctly, user agents need to implement the CSS 3 Text Shadows and the CSS 2.x Downloadable Fonts specifications, which are currently under consideration by W3C to be standardized. This is required as the test uses a custom TrueType font, called "AcidAhemTest" to cover up a 20x20 red square. The glyph, when rendered by the downloaded font, is just a square, made white with CSS, and thus invisible.[8]
In addition, the test also uses Base64 encoded images, some more advanced selectors, CSS 3 color values (HSLA) as well as bogus selectors and values that should be ignored.
Development and impact
Ian Hickson started working on the test in April 2007, but development progressed slowly. In December 2007, work restarted and the project received public attention on 10 January 2008, when it was mentioned in blogs by Anne van Kesteren[9]. At the time the project resided at a URL clearly showing its experimental nature: "http://www.hixie.ch/tests/evil/acid/003/NOT_READY_PLEASE_DO_NOT_USE.html" That did not stop the test from receiving widespread attention within the web development community. At that time only 84 subtests were done, and on 14 January Ian Hickson announced a competition to develop the missing 16.[10]
The following developers contributed to the final test through this competition:
- Sylvain Pasche. Subtest 66–67 (DOM).
- David Chan. Subtest 68 (UTF-16/UCS-2).
- Simon Pieters (Opera) and Anne van Kesteren (Opera). Subtest 71: HTML parsing.
- Jonas Sicking (Mozilla) and Garrett Smith. Subtest 72: dynamic modification of style blocks' text nodes.
- Jonas Sicking (Mozilla). Subtest 73: Nested events.
- Erik Dahlström (Opera). Subtest 74–78: SVG and SMIL.
- Cameron McCormack (Batik SVG library). Subtest 79: SVG fonts.
Even before its official release, Acid3's impact on browser development was dramatic. WebKit in particular made progress; in less than a month their score rose from 60 to 87.[11]
The test was officially released on 3 March 2008.[2] A guide and commentary was expected to follow within a few months[11], however, as of May 2009 it has not yet been released. The announcement that the test is complete means only that it is to be considered "stable enough" for actual use; if problems and bugs are found, it will still be modified to fix it. The test has already been modified to fix several issues including issues relating to sub-pixel positioning, SVG surrogate pairs and performance.[12] On 26 March 2008—the day both Opera and WebKit teams announced a 100/100 score—developers of WebKit contacted main Acid3 developer Ian Hickson about a critical bug in the Acid3 that presumably may have forced a violation of the SVG 1.1 standard to pass. Hickson proceeded to fix it with the help of Cameron McCormack, member of W3C's SVG Working Group.[13][14]
By the end of March 2008, early development versions of the Presto and WebKit layout engines scored 100/100 on the test and rendered the test page correctly.[14][15][16] At the time, no browser using the Presto or WebKit layout engines passed the performance aspect of the test.
On 22 April 2008, Hickson again fixed a bug in the Acid3 test discovered by a Mozilla developer. This change possibly invalidated the previously reported scores of 100/100 for development versions of Presto and WebKit.[17]
On 25 September 2008, a development version of Safari was the first browser to produce a smooth animation on the reference hardware, and thus was the first to fully pass the Acid3 test.[18][19] Opera, having its own issues with smooth-animation Acid3 performance, has not yet passed.[20]
Firefox developers had been preparing for the imminent release of Firefox 3, focusing more on stability than Acid3 success. The resulting 3.0 release consequently gained a score of 71.[21] The performance of Firefox has been improved in version 3.5, which scores 93/100. The current trunk builds of Firefox score 94/100 with the default configuration and 96/100 with svg.smil.enabled set to true.
Microsoft, developers of the Internet Explorer browser, said that Acid3 does not map to the goal of Internet Explorer 8 and that IE8 would improve only some of the standards being tested by Acid3.[22] IE8 scores 20/100, which is still much worse than all relevant competitors in their versions from the tests release, and has some problems with rendering the Acid3 test page.
On 29 September 2008, David Baron raised an issue with the CSS Working Group concerning media queries that might cause the test to change again.[23]
On 24 February 2009, Safari 4 was the first fully functional build browser to pass Acid3.[24]
On 14 March 2009, Iris Browser 1.1.4 was the first public release of a mobile browser to display a score of 100/100.[25]
On 21 May 2009, Google Chrome 2 was the first official release version of a desktop browser to display a score of 100/100 though a "LINKTEST FAILED" was still visible.
On 7 June 2009, iCab 4.6 for Mac OS X was unofficially stated as the first official release version of a desktop browser to display a score of 100/100 and pass the Acid3 test.
On 8 June, 2009 Safari 4 was the first official release version of a desktop browser to display a score of 100/100 and pass the Acid3 test.
On 9 June, 2009 Opera Mobile 9.7 beta was the second public release of a mobile browser to display a score of 100/100.
On 1 September, 2009 Opera 10 Final was released that displays a score of 100/100 on Acid3 test.
Standards tested
The following standards are tested by Acid3:
- DOM Level 2 Traversal (subtests 1-6)
- DOM Level 2 Range (subtests 7-11)
- Content-Type: image/png; text/plain (subtest 14, 15)
- <object> handling and HTTP status codes (subtest 16)
- DOM Level 2 Core (subtests 17, 21)
- DOM Level 2 Events (subtests 17, 30-32)
- CSS Selectors (subtests 33-40)
- DOM Level 2 Style (subtest 45)
- DOM Level 2 HTML (subtest 60)
- DOM Level 2 Views
- ECMAScript GC (subtests 26-27)
- Unicode 5.0 UTF-16 (subtest 68)
- Unicode 5.0 UTF-8 (subtest 70)
- HTML 4.0 Transitional (subtest 71)
- HTML 4.01 Strict
- SVG 1.1 (subtests 74, 78)
- SVG 1.1 Fonts (subtests 77, 79)
- SMIL 2.1 (subtests 75-76)
- ECMAScript Conformance (subtests 81-96)
- Data URI scheme (subtest 97)
- XHTML 1.0 Strict (subtest 98)
- HTTP 1.1 Protocol
Passing conditions
A passing score is only considered valid if the browser's default settings were used.
The following browser settings and user actions may invalidate the test:
- Zooming in or out
- Disabling images
- Applying custom fonts, colors, styles, etc.
Also User JavaScript or Greasemonkey scripts may invalidate the test.
Browsers which pass
Desktop browsers
Browser | Score 100/100 | Pixel-perfect rendering | Performance |
---|---|---|---|
Safari 4.0 (24 February 2009) [26] | Yes | Yes | Yes |
Opera 10.00 (1 September 2009) [27] | Yes | Yes | No [citation needed] |
Mobile browsers
Note: For mobile browsers it is not possible to consider the "performance" portion of the test, as mobile browsers cannot be run on the reference hardware.
Browser | Score 100/100 | Pixel-perfect rendering |
---|---|---|
Iris Browser 1.1.4 (14 March 2009) [28] | Yes | Yes |
Browsers which do not pass
Acid3 was deliberately written in such a way that every web browser failed the test at the time of its release. Many of the browser teams are actively working to improve test results.
Desktop browsers
Browser | Screenshot of latest releaseat time of Acid3 release | Screenshot of current release | Screenshot of preview release |
---|---|---|---|
Google Chrome | None | 100/100 (linktest failed) Google Chrome 2.0.172.43 (WebKit 530.5) | 100/100 Chromium |
Opera | 46/100 Opera 9.27 | 100/100 Opera 10.00 Opera 10 does not pass the performance aspect of the test.[citation needed] | None |
Mozilla Firefox | 52/100 Mozilla Firefox 2.0.0.12 | 93/100 Mozilla Firefox 3.5.2 | 94/100 Mozilla Firefox[29][30] |
Konqueror | 61/100 Konqueror 4.0.2 | 89/100 Konqueror 4.3.0 | 89/100 Konqueror[31] |
Internet Explorer | 14/100 Internet Explorer 7.0 | 20/100 Internet Explorer 8.0 | None |
Mobile browsers
Layout engine | Major browsers | Screenshot of latest releaseat time of Acid3 release | Screenshot of current release | Screenshot of preview release |
---|---|---|---|---|
WebKit | Mobile Safari | 40/100 Mobile Safari 3.0 |
File:Mobile safari 4.0.png 97/100 Mobile Safari 4.0 (WebKit 528.18) |
100/100 iPhone OS X v3.1 Beta1 (Non-Passing) |
Android browser | None | 93/100 Android 1.5 |
None | |
Nokia Mini Map Browser | 47/100 S60 5th Edition |
None | ||
webOS browser | None | 1/100 webOS 1.0.4 |
None | |
Presto | Opera Mobile | 2/100 Opera Mobile 8.65 |
2/100 Opera Mobile 8.65 |
100/100 Opera Mobile 9.7b1[32] |
Opera Mini | 80/100 Opera Mini 4.1.1.11320 |
None | ||
Gecko | Fennec | None | None | 94/100 Fennec[33] |
BlackBerry | BlackBerry Browser | 54/100 |
None | |
NetFront | PSP Browser | 11/100 NetFront 3.5 |
None |
See also
References
- ^ "HTML5 IRC logs: freenode / #whatwg / 20070422". Retrieved 2007-12-28.
- ^ a b "Acid3: Putting Browser Makers on Notice, Again. (WaSP Press Release)". Retrieved 2007-03-04.
- ^ Hickson, Ian. "Comments in the source code of the test page". Retrieved 2008-02-16.
- ^ Dahlström, Erik (2008-01-22). "Getting to the core of the web". Retrieved 2008-02-16.
- ^ Ian Hickson (2008-04-01). "The performance aspect of Acid3". Retrieved 2008-04-03.
- ^ Acid3 Browser Test - The Web Standards Project. Accessed on 2009-07-21.
- ^ Maciej Stachowiak (2008-09-26). "comment to 'Full pass of Acid3'". Retrieved 2009-04-29.
- ^ Hickson, Ian (2008-03-29). "The antialiasing controversy in Acid3". Retrieved 2009-04-30.
- ^ van Kesteren, Anne (2008-01-10). "Acid3". Retrieved 2008-03-04.
- ^ Hickson, Ian (2008-01-14). "The competition for you to come up with the best test for Acid3". Retrieved 2008-03-04.
- ^ a b Hickson, Ian (2008-03-04). "Moebius (announcement of the completion of the test)". Retrieved 2008-03-04.
- ^ Ian Hickson. "Tests that are never quite finished". Retrieved 2008-03-30.
- ^ Ian Hickson. "Last minute changes to Acid3". Retrieved 2008-03-30.
- ^ a b Maciej Stachowiak (2008-03-26). "WebKit achieves Acid3 100/100 in public build". Retrieved 2008-03-26.
- ^ Junyor (March 2008). "Opera and the Acid3 Test". Retrieved 2008-03-28.
- ^ Lars Erik Bolstad (March 2008). "Public Acid3 build". Retrieved 2008-03-28.
The latest post-9.5 build scores 99/100 and fails the smoothness criterion.
- ^ Ian Hickson (2008-04-22). "Media queries and performance in Acid3 (and an error on my part)". Retrieved 2008-04-24.
- ^ "The WebKit browser engine running under the Safari browser UI".
- ^ "The latest WebKit development build scores 100/100, renders the test correctly, and passes the smoothness criterion".
- ^ David Storey (2008-03-28). "Opera passes two out of three Acid 3 tests in public build". Retrieved 2009-09-02.
- ^ Mike Shaver (2008-03-27). "The missed opportunity of acid 3". Retrieved 2008-03-30.
- ^ Chris Wilson. "Windows Internet Explorer 8 Expert Zone Chat (20 March 2008)". Retrieved 2008-04-15.
The ACID3 test is a collection of interesting tests, spread across a large set of standards. Some of those standards will see improvements in IE8 - in fact, IE8 already improves on IE7's score — but we are focused on the most important features and standards to make web developers' lives easier. The ACID3 test does not map directly to that goal.
- ^ David Baron (2008-09-29). "should comma be an error handling recovery point?". Retrieved 2008-09-29.
- ^ Paul Lilly (2008-09-19). "Safari Beta 4 is the First Browser to Hit a Perfect Acid3 Test Score". Retrieved 2009-05-23.
- ^ http://www.torchmobile.com/blog/?p=25
- ^ "Safari - 150 features". Retrieved 2009-09-03.
- ^ "Turbocharge your Web experience with Opera 10". Retrieved 2009-09-04.
- ^ http://www.torchmobile.com/blog/?p=25
- ^ "Bug 410460 (acid3) – Acid3 tracking bug". Retrieved 2008-02-16.
- ^ "Public Mozilla Acid3 spreadsheet". Retrieved 2008-10-18.
- ^ "Bug 156947: Konqueror 4 fails Acid3 test (filed on 30 January 2008)". Retrieved 2008-03-02.
- ^ Lund Engebø, Helene (26. March 2009). "Opera Mobile 9.7 with Opera Turbo". Opera Software ASA. Retrieved 2009-07-06.
{{cite web}}
: Check date values in:|date=
(help) - ^ "Index of /pub/mozilla.org/mobile". Retrieved 2009-03-19.