Jump to content

Acid2

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Giggy (talk | contribs) at 02:24, 23 August 2008 (History: I fail). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Acid2
This is the reference image for Acid2. In the real test, the nose becomes blue while the cursor is on it.
Type of site
Web standards test
OwnerThe Web Standards Project
Created byIan Hickson
URLacid2.acidtests.org

Acid2 is a test page published and promoted by the Web Standards Project to identify web page rendering flaws in web browsers and other applications that render HTML. Acid2 was released on April 12, 2005. It was developed in the spirit of Acid1, a relatively narrow test of compliance with the Cascading Style Sheets (CSS) standard. As with all of the web acid tests, the way a web browser displays the test is compared to a reference rendering. If the two match, the browser is considered to pass the test.

Acid2 tests aspects of HTML markup, CSS styling, PNG images, and data URIs. It should render correctly on any application that follows the World Wide Web Consortium and Internet Engineering Task Force specifications for these technologies. The idea is that if both web sites and web browsers follow agreed-upon industry standards, then any web site will work the same in any web browser.

On October 31, 2005, Safari 2.0.2 became the first browser to pass the test. Opera, Konqueror, Firefox, and others followed. The only major browser that does not yet pass the test is Internet Explorer, although an Acid2-compliant version of the browser is in development.

History

Ian Hickson, the author of the test

Acid2 is the brainchild of Håkon Wium Lie, chief technical officer of Opera Software and creator of the widely-used Cascading Style Sheets web standard.[1] Together with a colleague, Ian Hickson, he created the first draft of Acid2 in February 2005.[2] Acid2 was first publicly announced on March 16, 2005 in a CNET article where Lie challenged Microsoft to design Internet Explorer 7, then in development, to pass the test.[3]

Ian Hickson, now of Google, coded the actual test in collaboration with the Web Standards Project and the larger web community.[3][4][5][6] It was officially released on April 13, 2005[7] and at that time, every web browser failed it spectacularly.[8]

In July 2005, Chris Wilson, the Internet Explorer Platform Architect responded by calling Acid2 a "wish list" of features and said that while the test was important to Microsoft, Acid2 compliance was not a priority for Internet Explorer 7.[9] Microsoft later joined other browser makers and Internet Explorer 8 is expected to pass the test.[10]

The smiley face of the first version of Acid2. Note that due to problems in this version of the test, the mouth is too close to the nose and the text "ERROR" appears.

On April 23, 2005, Acid2 was updated to fix a bug that made the mouth appear too close to the nose.[11][12] After several complaints, the test was again updated in January 2006 to remove a test for unpopular SGML-style comments that were never widely implemented.[2]

In March 2008, Ian Hickon released Acid3 as a follow-up to Acid2. While Acid2 primarily tests CSS, Acid3 focuses more on JavaScript and other "Web 2.0" technologies.[13]

Overview of standards tested

Acid2 tests a variety of web standards published by the World Wide Web Consortium and the Internet Engineering Task Force. All web standards tested were codified before the year 2000.[14][15][16][17] Specifically, Acid2 tests:[18]

  • Alpha transparency in PNG-format images: The eyes of the smiley face use alpha transparency which is part of the 1996 Portable Network Graphics specification. The alpha transparency provides an elegant way to have the eyebrows smoothly blend into the face. This was a significant issue because Internet Explorer 6, the most widely used web browser at the time Acid2 was released,[19] did not support alpha transparency. This deficiency was rectified in Internet Explorer 7, bringing Internet Explorer in line with other web browsers in this regard.[20]
  • The object element: The eyes also test support of the HTML object element. The object element has been a part of HTML since HTML 4 was released in 1998,[21] yet by 2005 it still was not completely supported in all web browsers. The creators of Acid2 considered object element support important because it allows for content fallback; in other words, if the specified object fails to load then alternative (generally simpler, more reliable) content can be presented instead.
  • data URIs: Yet another test contained in the eyes is for data URI support. Data URIs allow embedding multimedia directly into web pages rather than being stored as a separate file. Acid2 tests the most common case, where a binary image is base64-encoded into text and then that encoded text is included in a data URI in the web page. Interestingly, although the specification for data URIs was published in 1998,[16] it was never formally adopted as a web standard. Nonetheless, the data URI scheme has become a de facto web standard implemented by most browsers.
  • Absolute, relative, and fixed CSS positioning: Absolute positioning means that the web developer specifies the exact X and Y coordinates where an element is to be placed into the page. Relative positioning means that the web developer specifies an X and Y offset from the usual position of the element. Fixed positioning means that the element is placed relative to the browser window, and scrolls with the window rather than with the rest of the page.[22]
  • The CSS box model: This feature allows specifying dimensions, padding, borders, and margins,[23] and was the focus of the original Acid1 test.[18] Acid2 not only retests margin support but also tests minimum and maximum heights and widths, features new to CSS 2.0.
  • CSS table formatting: This part of CSS allows applying table formatting without traditional HTML table markup.
  • CSS generated content: Using CSS generated content, web developers can add decorations and annotations to specified elements without having to add the content to each one individually.
  • CSS parsing: A number of illegal CSS statements are present in Acid2 to test error handling. Standards-compliant browsers are expected to handle these errors as the CSS specification directs. This helps ensure cross-browser compatibility by making all browsers treat CSS with the same level of strictness, so that what works in one browser should not cause errors in another.
  • Paint order: Acid2 requires that the browser have standard paint order, that is, overlapping elements should be placed or painted on top of each other in the correct order.
  • Hovering effects: When the user moves their mouse over the smiley face's nose, it turns blue. This is called a hovering effect, and while it has traditionally been used for hyperlinks, it should work on a wide variety of HTML elements.[24]

Because Acid2 is not a comprehensive test, it does not guarantee total conformance with any particular standard. A variant of the Acid2 test that does not test for data URI support is also available from the Web Standards Project.[18]

Passing conditions

A passing score is only considered valid if the browser's default settings were used. Actions such as changing font sizes, zoom level, and applying user stylesheets can break the display of the test. This is expected and is not relevant to a browser's compliance.[25]

The following browser settings and user actions invalidate the test:[25][26]

  • Scrolling
  • Resizing the browser window
  • Zooming in or out
  • Disabling images
  • Using Opera's Fit to width or Small Screen Rendering modes
  • Applying custom fonts, colors, styles, etc.
  • User JavaScript or Greasemonkey scripts

Compliant applications

Acid2 as rendered by compliant applications

If rendered correctly, Acid2 will appear as a smiley face below the text "Hello World!" in the user's browser, with the nose turning blue when the mouse cursor hovers over it. At the time of the test's release every browser failed it spectacularly,[8] but now a number of applications pass the test:

Officially released

In development

Note that while Internet Explorer 8 is generally considered to "pass" the test, there is still an unresolved standards compliance issue that can result in improper rendering (see section below).

Non-compliant applications

Although Internet Explorer has also been moving towards better CSS compliance, the current release version, Internet Explorer 7, does not pass the Acid2 test. While that version of the browser was in beta testing, Chris Wilson, the Internet Explorer Platform Architect, described Acid2 as a "wish list" of features rather than a true test of standards compliance, and that passing Acid2 was not a priority for IE7.[27]

Internet Explorer 8 Beta 1, released on March 5 2008, passes the test when hosted at www.webstandards.org, but fails the test when hosted at webstandards.org or acid2.acidtests.org. The reason for this is that contrary to the HTML specifications,[28][29] Internet Explorer will not display an object element's content or its fallback content if the element references content hosted on a different domain than the test. In Acid2's case, the test includes an object element that references content at www.webstandards.org, and consequently Internet Explorer will not display the object's content or its specified fallback content unless the test is also run from www.webstandards.org. Microsoft said that this was done to prevent a potential cross-domain security issue, and stated that they are looking into whether this restriction can be loosened in a future beta.[30]

Even though Opera Mini is based on the same rendering engine as Opera for personal computers, it does not pass the Acid2 test.[31][32] This is because Opera Mini intentionally reformats web pages to try and make them more suitable for devices with small screens.[25][33][34]

As of August 2008, approximately 88% of web browsers in use do not pass the Acid2 test.[35]

Timeline of passing applications

The following is a list of releases noting significant builds of applications that passed the test.

Date Browser Availability Notes
27 April 2005 Safari private build[36]
18 May 2005 iCab private build[37] This build was made available to registered iCab users on May 20, 2005.
4 June 2005 Konqueror private build[38]
6 June 2005 iCab public build[37] This version of iCab displays a scrollbar on the viewport. Although some state that a correctly rendered test should not have a scrollbar,[39] that feature is not part of the test, and merely a way to prevent the user from scrolling.[40]
7 June 2005 Safari source code available[41] WebKit, the underpinnings of Safari, was made open source on June 7, 2005. When Safari was run with this latest version of WebKit, it passed the Acid2 test.
31 October 2005 Safari 2.0.2 official release[42][43] Included in Mac OS X 10.4.3. First officially released web browser to pass test.
29 November 2005 Konqueror 3.5 official release[44] First Linux-compatible browser to pass the test, except for hiding the scrollbar.
7 December 2005 Prince 5.1 official release[45] First non-web browser to pass test.
10 March 2006 Opera public weekly build[46][47] First Microsoft Windows-compatible browser to pass the test and also the first Linux-compatible browser to fully pass the test. A public beta was released on April 20, also successful.[48][49]
28 March 2006 Konqueror 3.5.2 official release[50] Although previous releases passed, their compliance was questioned because they showed scrollbars. This version did not show the scrollbars.
12 April 2006 Mozilla Firefox public nightly build[51] The "reflow branch" nightly builds, whose code was branched from the Gecko 1.9/Firefox 3.0 trunk and was merged back into the trunk on December 8, 2006.[52]
24 May 2006 Opera Mobile for Symbian OS private build[53] First mobile browser to pass test.
20 July 2006 OmniWeb 5.5 beta 1 public build[54][55][56] OmniWeb switches its rendering engine to WebKit, the same rendering engine used in Safari which already passed the Acid2 test
20 June 2006 Opera 9.0 official release[57]
4 July 2006 Obigo Browser private build[58] Second mobile browser to pass test.
17 August 2006 iCab 3.0.3 official release[59] First public release that hides the scrollbars.
6 September 2006 OmniWeb 5.5 official release[54]
8 December 2006 Mozilla Firefox, Camino, SeaMonkey public nightly build[60] Firefox 3 reflow-refactoring branch lands on main Gecko trunk. Firefox/Camino/SeaMonkey trunk builds now pass Acid2, barring other regressions.
11 April 2007 Internet Channel official release[61][62][63]
24 October 2007 Prism 0.8 public build[64]
19 December 2007 Internet Explorer 8 private build[10]
5 March 2008 Internet Explorer 8 Beta 1 public build[65] Beta 1 release passes the test when hosted at www.webstandards.org, but fails the test when hosted at webstandards.org or acid2.acidtests.org (see Non-compliant applications).
17 June 2008 Mozilla Firefox 3.0 official release[66][67]

See also

References

  1. ^ Hassman, Martin (2008-05-12). "Håkon Wium Lie: CSS was created to save HTML". Retrieved 2008-07-27.
  2. ^ a b Hickson, Ian (2006-01-20). "People who don't realise that they're wrong". Hixie's Natural Log. Retrieved 2008-04-01.
  3. ^ a b Lie, Håkon Wium (2005-03-16). "The Acid2 challenge to Microsoft". CNET Networks. Retrieved 2008-01-12.
  4. ^ "Ian Hickson". The Web Standards Project. Retrieved 2008-03-25.
  5. ^ "Ben Henick". The Web Standards Project. Retrieved 2008-04-02.
  6. ^ "David Baron". The Web Standards Project. Retrieved 2008-04-02.
  7. ^ "Acid2: Putting Browser Makers on Notice" (Press release). The Web Standards Project. 2005-04-13. Retrieved 2008-04-01.
  8. ^ a b Hyatt, Dave (2005-04-12). "The Acid2 Test". Surfin' Safari. MozillaZine. Retrieved 2008-04-01.
  9. ^ Wilson, Chris (2005-07-29). "Standards and CSS in IE". IEBlog. Microsoft. Retrieved 2008-03-11.
  10. ^ a b Hachamovitch, Dean (2007-12-19). "Internet Explorer 8 and Acid2: A Milestone". IEBlog. Microsoft. Retrieved 2008-03-09.
  11. ^ Hyatt, Dave (2005-04-23). "Acid2: Version 1.1 Posted". Surfin' Safari. Retrieved 2007-12-24. {{cite web}}: Unknown parameter |publsher= ignored (|publisher= suggested) (help)
  12. ^ Hyatt, Dave (2005-04-20). "Acid2: Lopping Off the Sideburns". Surfin' Safari. Retrieved 2008-05-14. {{cite web}}: Unknown parameter |publsher= ignored (|publisher= suggested) (help)
  13. ^ "Acid3 Browser Test". The Web Standards Project. Retrieved 2008-08-15.
  14. ^ "World Wide Web Consortium Issues First Recommendation for PNG" (Press release). World Wide Web Consortium. 1996-10-07. Retrieved 2008-08-12.
  15. ^ "Cascading Style Sheets, Level 2". World Wide Web Consortium. 1998-05-12. Retrieved 2008-08-12.
  16. ^ a b "RFC 2397 - The "data" URL scheme". Internet Engineering Task Force. 1998. Retrieved 2008-08-12. {{cite web}}: Unknown parameter |month= ignored (help)
  17. ^ "HTML 4.01 Specification". 1999-12-24. Retrieved 2008-08-11.
  18. ^ a b c "Acid2: The Guided Tour". The Web Standards Project. Retrieved 2007-12-24.
  19. ^ "Browser Statistics". W3Schools. 2005. Retrieved 2008-08-11. {{cite web}}: Unknown parameter |month= ignored (help)
  20. ^ Wilton-Jones, Mark "Tarquin". "Making IE use PNG Alpha transparency". Retrieved 2008-07-31.
  21. ^ "HTML 4.0 Specification". World Wide Web Consortium. 1998-04-24. Retrieved 2008-07-28.
  22. ^ Valkhof, Kilian (2008-05-05). "Understanding CSS Positioning part 1". Retrieved 2008-07-31.
  23. ^ "Box model". Cascading Style Sheets, level 2. World Wide Web Consortium. 1998-05-12. Retrieved 2007-07-30.
  24. ^ Mielke, Markus (2006-08-22). "Details on our CSS changes for IE7". IEBlog. Microsoft. Retrieved 2008-07-31.
  25. ^ a b c Holzschlag, Molly E. (2006-07-20). "Acid2 and Opera 9 Clarifications: Yes, Opera 9 Passes the Test". The Web Standards Project. Retrieved 2006-07-22.
  26. ^ Altman, Tim (2006-07-19). "Tim's Opera Bits v1.1". Tim's blog. Retrieved 2007-11-15.
  27. ^ Wilson, Chris (2005-07-29). "Standards and CSS in IE". IEBlog. Microsoft. Retrieved 2008-03-11.
  28. ^ "Objects, Images, and Applets: Rules for rendering objects". HTML 4.01 Specification. W3C. 1999-12-24. Retrieved 2008-03-20.
  29. ^ Hickson, Ian (2008-03-14). "Re: MSIE 8 beta 1 clarification needed". World Wide Web Consortium. Retrieved 2008-05-05.
  30. ^ Nachreiner, Phil (2008-03-05). "Why Isn't IE8 Passing Acid2?". Microsoft. Retrieved 2008-03-11.
  31. ^ Bersvendsen, Arve (2007). "Opera Mini 4 beta out". Retrieved 2007-12-22. {{cite web}}: Unknown parameter |month= ignored (help)
  32. ^ "Opera Mini Simulator". Opera Software. Retrieved 2007-12-22.
  33. ^ "Opera Mini Features". Opera Software. Retrieved 2007-12-21.
  34. ^ Wilton-Jones, Mark "Tarquin" (2006-06-10). "c33322". Simon Willison. Retrieved 2008-05-10.
  35. ^ "Browser Version Market Share". Net Applications. 2008. Retrieved 2008-08-01. {{cite web}}: Unknown parameter |month= ignored (help)
  36. ^ Hyatt, Dave (2005-04-27). "Safari Passes the Acid2 Test (Updated)". Retrieved 2006-06-14.
  37. ^ a b Much, Thomas (2005-11-05). "Acid2 - the truth about Safari, iCab and Konqueror". Thomas Much's Weblog. Retrieved 2008-05-05.
  38. ^ carewolf (2005-06-04). "Konqueror now passes Acid2". carewolf's blog. KDE Developer's Journals. Retrieved 2006-05-16.
  39. ^ "Overflow:HTMLParser the 'Overflow' Property". W3C CSS working draft. World Wide Web Consortium. Retrieved 2006-05-15.
  40. ^ Much, Thomas (2006-04-27). "Opera and Acid2 - and iCab?". Thomas Much's Weblog. Retrieved 2008-04-13.
  41. ^ Molkentin, Daniel (2005-06-07). "Apple Opens WebKit CVS and Bug Database". KDE.News. Retrieved 2008-05-03.
  42. ^ Stachowiak, Maciej (2005-11-01). "WebKit Fixes in Safari 2.0.2 / Mac OS X 10.4.3". Surfin' Safari. Retrieved 2008-05-03.
  43. ^ "Apple Safari 2.0.2 software download". VersionTracker. Retrieved 2008-05-03.
  44. ^ "K Desktop Environment 3.5 Released". 2005-11-29. Retrieved 2006-05-16.
  45. ^ "The Acid2 Test". Retrieved 2006-05-16.
  46. ^ "Acid2 - Rows 4 and 5 AKA Opera passes the Acid2 test!". Tim's blog. 2006-03-10. Retrieved 2006-05-16.
  47. ^ Santambrogio, Claudio (2006-03-10). "…and one more weekly!". Retrieved 2008-05-10.
  48. ^ "Widgets, BitTorrent, content blocking: Introducing Opera 9 Beta" (Press release). Opera Software. 2006-04-20. Retrieved 2008-05-10.
  49. ^ "Changelog for Opera 9.0 Beta 1 for Windows". Opera Software. 2006-04-20. Retrieved 2008-05-10.
  50. ^ "KDE 3.5.2 Release Announcement". 2006-03-28. Retrieved 2006-05-16.{{cite web}}: CS1 maint: year (link)
  51. ^ Braniecki, Zbigniew (2006-04-12). "Meet Mr. Face". Stream of Thoughts. Retrieved 2006-05-16.
  52. ^ bzbarsky (2006-12-08). "Reflow branch landed". Three Monkeys, Three Typewriters, Two Days. Retrieved 2008-05-05.
  53. ^ Nevstad, Magnus. "Opera for Symbian passes Acid2". The Digital Void of SPZ. Opera Software. Retrieved 2006-05-24.
  54. ^ a b "Historical Release Notes". The Omni Group. 2008-04-09. Retrieved 2008-04-29.
  55. ^ Handycam. "Acid2 Passes!". The Omni Group date=2006-05-08. Retrieved 2008-05-10. {{cite web}}: Missing pipe in: |publisher= (help)
  56. ^ Antony (2006-07-24). "Gecko-based browsers still fail Acid2 test". SillyDog701. Retrieved 2008-04-29.
  57. ^ Ford, Thomas (2006-06-20). "Welcome to Opera 9.0". Opera Software. Retrieved 2006-06-20.
  58. ^ "Teleca's Obigo Browser displays prestigious Acid2 test page faultlessly" (PDF) (Press release). Teleca. 2006-07-04. Retrieved 2008-05-05.
  59. ^ Much, Thomas (2006-08-24). "iCab 3.0.3 Final(ly)". Thomas Much's Weblog. Retrieved 2008-04-13.
  60. ^ Baron, David (2006-12-08). "Mozilla Bug 289480". Retrieved 2006-12-08.
  61. ^ Goldman, Daniel (2006-12-22). "Wii browser passes the Acid2 test". Opera Watch. Retrieved 2007-10-30.
  62. ^ "Get to Know the Web on Wii: Full Version of Wii Internet Channel Powered by Opera Available for Free Download" (Press release). Opera Software. 2007-04-12. Retrieved 2007-10-12.
  63. ^ Joel (2007-06-15). "Take your browser on an Acid2 test". Switchblog. Retrieved 2008-04-02.
  64. ^ "Mozilla Labs blog". Mozilla Corporation. 2007-10-24. Retrieved 2007-10-24.
  65. ^ Hachamovitch, Dean (2008-03-05). "Internet Explorer 8 Beta 1 for Developers Now Available". IEBlog. Microsoft. Retrieved 2008-05-05.
  66. ^ Paul, Ryan (2006-12-12). "A first look at Firefox 3.0". Ars Technica. Retrieved 2008-08-05.
  67. ^ "Firefox 3 Release Notes". Mozilla Foundation. 2008-06-07. Retrieved 2008-08-04.


Template:Acid tests