Die Acid-Tests (von engl. acid für „Säure“) sind Test-Webseiten zur Prüfung von Webbrowsern und ähnlichen Anwendungen auf ihre Konformität zu den Standards des World Wide Web Consortiums (W3C).
Der erste Acid-Test aus dem Jahr 1998 wurde von Todd Fahrner entwickelt und später auch in die offizielle CSS 1.0 Testreihe des World Wide Web Consortiums aufgenommen. Die nachfolgenden Tests „Acid2“ (2005) und „Acid3“ (2008) wurden vom Web Standards Project (WaSP) entwickelt und veröffentlicht. Die Tests werden von den meisten Browser-Herstellern als eine Hürde betrachtet, deren Überschreitung die gute Unterstützung der Webstandards des World Wide Web Consortiums verdeutlichen.
Inhaltsverzeichnis |
Acid, auch Boxacid genannt, wurde im Oktober 1998 von Todd Fahrner entwickelt und veröffentlicht. Heute spielt der erste Acid-Test nahezu keine Rolle mehr, alle heute üblichen grafischen Webbrowser bestehen diesen Test bereits seit Längerem.[1] Im Jahr 1999 wurde der Acid-Test in die offizielle CSS 1.0 Testreihe des World Wide Web Consortiums aufgenommen.[2] Der ursprüngliche Acid-Test stellte für Ian Hickson, den Entwickler der Browsertests „Acid2“ und „Acid3“, die zentrale Inspiration dar, selbst Browsertests zu entwickeln.
Anders als die bis dahin verwendeten Browsertests zur Überprüfung der Interoperalität von Webbrowsern mit CSS 1.0, vereint der Acid-Test eine große Zahl verschiedener Tests auf einer Seite. Zur Überprüfung des Renderings wird, inspiriert durch die Browsertests von Braden McDaniel, ein Referenzrendering eingesetzt, welches mit der Ausgabe im Webbrowser übereinstimmen muss.
Der Mozilla Firefox, beziehungsweise die Mozilla Application Suite, bestehen Acid bereits seit einer frühen Beta-Version. Mit Version 6 des Internet Explorers wurde schließlich auch eine Änderung in der Interpretation der width-Deklaration von CSS eingeführt, wodurch der Internet Explorer seitdem ebenfalls in der Lage ist, den Test zu bestehen. Anders als die Browser von Mozilla und Microsoft, war der zu dieser Zeit noch relevante Netscape Navigator 4 mit dem Test hoffnungslos überfordert.
Acid2 wurde vom Web Standards Project (WaSP) entwickelt und am 12. April 2005[3], in Anlehnung an den ursprünglichen Test „Acid“ von 1998, veröffentlicht. Hauptgrund für die Entwicklung dieses Tests war der zunehmende Mangel an Unterstützung des W3C-Standards durch die verschiedenen Hersteller von Webbrowsern. Diese Entwicklung führte zu höheren Kosten bei der Entwicklung von Webseiten und erschwerte Nutzern von alternativen Browsern die Darstellung der Webseiten teils erheblich. Obwohl einige führende Hersteller dem Ansinnen der WaSP zunächst skeptisch gegenüberstanden, findet seit dem Jahr 2000 allmählich eine Rückbesinnung statt.
Aufgabe des Tests ist die Feststellung von Render-Fehlern durch Webseiten. Der Test verwendet die Prinzipien von HTML, hauptsächlich werden aber CSS-Fähigkeiten getestet[4], da diese zur Zeit der Entwicklung von den meisten Browsern nur unzureichend unterstützt wurden. Die Hauptintention ist es hierbei, die Probleme mit den Browsern hervorzuheben, die den Test nicht bestehen. Alle Browser, deren HTML- und CSS-Implementierungen kompatibel zu den Spezifikationen des World Wide Web Consortiums sind, haben keine Schwierigkeiten bei der Darstellung.
Der Acid2-Test enthält selbst teilweise fehlerhaften Code. Dies liegt jedoch daran, dass die Entwickler auch ein Augenmerk auf die Fehlerkompatibilität von Browsern gelegt hatten. Viele Browser hatten eigene automatische Fehlerkorrekturen implementiert, während vor allem der CSS-Standard vorschreibt, fehlerhaften Code zu ignorieren. Deshalb enthält der Acid2-Test fehlerhaften Code, den die Browser ignorieren müssen.
object-ElementWenn der Acid2-Test bestanden wurde, sollte ein Smilie mit dem Text „Hello World!“ im Browserfenster zu sehen sein. Wenn man mit der Maus über die Nase des Smilies fährt, ändert diese ihre Farbe und wird blau. Zum Zeitpunkt der Veröffentlichung des Tests war keine der üblichen Rendering-Engines in der Lage, die Seite korrekt darzustellen. Seit März 2009 sind die jeweils aktuellen Versionen aller üblichen Rendering-Engines hierzu in der Lage.
Acid3 wurde, wie auch sein Vorgänger „Acid2“, vom Web Standards Project (WaSP) entwickelt. Die Entwicklung wurde im April 2007[8] von Ian Hickson aufgenommen und schließlich im Februar 2008 veröffentlicht. Anders als Acid2 konzentriert sich der dritte Acid-Test auf interaktive Webseiten, und testet dementsprechend primär DOM Level 2 und ECMAScript. Dennoch werden die Browser beispielsweise auch auf ihre SVG- und XML-Unterstützung überprüft.
Acid3 wurde mit JavaScript realisiert und enthält 100 Einzeltests, die in sechs Gruppen, genannt „buckets“, gegliedert sind. Zusätzlich besitzt der Acid3-Test vier weitere, spezielle Tests.
Zusätzlich zu den 100 Einzeltests muss die vom jeweiligen Browser gerenderte Acid3-Testseite auch visuell dem Referenz-Rendering entsprechen.[9] So müssen für eine korrekte Darstellung und das Bestehen des Acid3-Tests auch Textschatten (CSS 3), herunterladbare Schriftarten („Webfonts“, CSS 2.0), Base64-kodierte Bilder (in Form von Data-URLs) und Farbdarstellungen im HSLA-Farbraum unterstützt werden. Darüber hinaus soll die Animation des Tests gleichmäßig ausgeführt werden.[10][11]
Beim Aufruf des Acid3-Tests sollte, sofern der Test bestanden wird, ein prozentualer Zähler, wobei jeder Schritt maximal 33 ms zur Ausführung benötigen darf, bis 100 hochzählen. Dieser Zähler basiert auf der Anzahl der bestandenen Einzeltests. Im Hintergrund befinden sich farbige Rechtecke und der mit Schatten versehene Text „Acid3“. Das Bestehen aller 100 Einzeltests reicht jedoch nicht zum Bestehen des gesamten Tests aus, auch die Darstellung muss der des Referenz-Renderings entsprechen.
Der Test selbst wurde so geschrieben, dass zum Zeitpunkt der Veröffentlichung kein Browser in der Lage war, den Test zu bestehen. Zur Zeit sind WebKit (Safari) mit der stabilen Version 4.0 vom 8. Juni 2009, Presto (Opera) mit der stabilen Version 10.0 vom 1. September und Google Chrome ab 3.0 in der Lage, den Test vollständig zu bestehen, Vorabversionen der Rendering-Engine sind hierzu seit dem 26. März 2008 in der Lage. Zusätzlich erfordert der Acid3-Test, dass alle Einzeltests maximal 33 ms zur Ausführung benötigen. Insbesondere Test 26 bereitet hier allen Renderingengineherstellern Probleme. Bislang ist ausschließlich WebKit in der Lage, auch dieser Forderung zum vollständigen Bestehen des Acid3-Tests zu entsprechen.[12]
Am 22. April 2008 hat Ian Hickson, der Entwickler des Acid3-Tests, erneut einen Fehler, welcher von einem Entwickler von Mozilla aufgespürt wurde, korrigiert. Diese Änderung hatte zur Folge, dass vorherige Meldungen vom Bestehen der 100 Einzeltests durch WebKit und Presto nicht mehr dem aktuellen Stand entsprachen.[13] Inzwischen sind sowohl WebKit als auch Presto wieder in der Lage, alle 100 Einzeltests zu bestehen.
| WebKit mit der JavaScript-Engine V8 |
Presto | WebKit |
|---|---|---|
| Google Chrome 3.0 | Opera 10.0 | Safari 4.0 |
| Trident | Gecko | KHTML |
|---|---|---|
| Internet Explorer 8.0 | Mozilla Firefox Trunk (Gecko 1.9.2) |
Konqueror 4.3 |
![]() |
![]() |
![]() |
| Stabile Version 8.0 vom 19. März 2009 | Nightly Build vom 11. März 2009 | Stabile Version 4.3.2 vom 6. Oktober 2009 |
| Internet Explorer 7.0 | Mozilla Firefox 3.6 (Gecko 1.9.2) |
|---|---|
![]() |
![]() |
| Stabile Version 7.0 vom 18. Oktober 2006 | Stabile Version 3.6 vom 21. Januar 2010 |
| Internet Explorer 6.0 |
|---|
![]() |
| Stabile Version 6.0 vom 27. August 2001 |
Ian Hickson will mit der Entwicklung des nächsten Test beginnen, sobald drei der vier größten Rendering-Engines (WebKit, Gecko, Presto und Trident) den Acid3-Test bestehen und öffentliche Builds dazu haben. Die Veröffentlichung von Acid4 soll stattfinden, nachdem die Hersteller der vier großen Rendering-Engines bekannt gegeben haben, dass sie den Acid3-Test bestehen. Der Entwickler will sein Hauptaugenmerk auf Scalable Vector Graphics, CSS3 und mixed namespaces legen.[14]
Für Lexikon-Artikel gilt die Lizenz „Creative Commons Attribution/Share Alike“.
Die Wikipedia ist eine Enzyklopädie, deren Inhalte frei nutzbar sind und es immer sein werden.