Acid (Browsertests)

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Die Acid-Tests (von engl. acid für „Säure“) sind Test-Webseiten zur Prüfung von Webbrowser und ähnlichen Anwendungen auf ihre Konformität zu den Standards des World Wide Web Consortiums (W3C).

Der erste Acid-Test aus dem Jahr 1997 wurde vom W3C veröffentlicht. 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 W3C verdeutlichen.

Der erste Acid-Test spielt heute nahezu keine Rolle mehr, da er von allen heute üblichen grafischen Webbrowsern bestanden wird.

Inhaltsverzeichnis

[Bearbeiten] Acid2

Korrekte Darstellung des Acid2-Tests
Korrekte Darstellung des Acid2-Tests

Acid2 wurde vom Web Standards Project (WaSP) entwickelt und am 12. April 2005[1], 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[2], 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 W3C sind, haben keine Schwierigkeiten bei der Darstellung.

Der Acid2-Test enthält jedoch 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.

[Bearbeiten] Getestete Standards

Darstellung imMicrosoft Internet Explorer 6.0
Darstellung im
Microsoft Internet Explorer 6.0
Darstellung imMicrosoft Internet Explorer 7.0
Darstellung im
Microsoft Internet Explorer 7.0
Darstellung imMozilla Firefox 1.5 und 2.0
Darstellung im
Mozilla Firefox 1.5 und 2.0
  • So genannte „Data-URLs“ – Der Quelltext von beispielsweise Dateien wird direkt in den HTML-Quelltext integriert und nicht über eine separate URL aufgerufen.
  • Allgemeines Parsen von CSS – Der Acid2-Test beinhaltet einige fehlerhafte CSS-Deklarationen, die ignoriert werden müssen.
  • Absolute, relative und fixe Positionierung von Elementen mithilfe von CSS
  • Das Überfahren („hovern“) von Elementen – die Nase des Smilies wird blau
  • Innen- und Außenabstände von Elementen
  • Das Überlappen verschiedener Elementen
  • Mit CSS realisierte Tabellen
  • Mit CSS generierter Inhalt
  • Das CSS-Inline-Box-Modell
  • Das CSS-Box-Modell
  • Alpha Blending von PNG-Grafiken
  • Das object-Element

[Bearbeiten] Kompatible Anwendungen

Wenn 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 kein Browser in der Lage, die Seite korrekt darzustellen, inzwischen sind hierzu einige Rendering-Engines in der Lage:

  • KHTML/WebKit
    • Safari (ab Version 2.0.2) war im April 2005[3] der erste Browser, der den Acid2-Test bestehen konnte. Das nötige Update des WebKit ist seit Version 10.4.3 Bestandteil von Mac OS X und befähigt alle Mac-Browser, die WebKit verwenden, den Test zu bestehen.
    • Konqueror (ab KDE 3.5) entstammt derselben Codebasis wie auch Safari (KHTML), wodurch einige der Korrekturen an Safari auch für Konqueror wiederverwendet wurden.
    • iCab (ab Version 3.0) war bereits mit Version 3.0 in der Lage, den Acid2-Test zu bestehen. Für Version 4.0 wurde iCab komplett neu geschrieben und setzt von nun an auf WebKit als Rendering-Engine.
  • Presto
    • Opera (ab Version 9.0) besteht seit März 2006[4] ebenfalls den Acid2-Test.
  • Sonstige Anwendungen
    • Prince XML (seit Version 5.1), ein XML-nach-PDF-Konverter von YesLogic, besteht seit Dezember 2005[5] ebenfalls den Test.

[Bearbeiten] Inkompatible Anwendungen

Der weit verbreitete Internet Explorer 6 ist nicht in der Lage, die Acid2-Testseite korrekt darzustellen. Auch die aktuelle, im Oktober 2006 fertiggestellte Version 7 besteht den Test nicht. Dieser bringt zwar verbesserte CSS-Konformität mit, aber die korrekte Darstellung von Acid2 war kein Ziel für Version 7. Der geplante Internet Explorer 8 hingegen soll den CSS-2.1-Standard weitestgehend erfüllen und besteht seit dessen erster Beta-Version ebenfalls den Test.[6][7]

Der Mozilla Firefox 2 ist aufgrund seiner Rendering-Engine Gecko 1.8.1 ebenfalls nicht in der Lage, den Acid2-Test zu bestehen. Der Hersteller begründete dies damit, dass die eingesetzte Version der Rendering-Engine Gecko, aufgrund der eingesetzten Abarbeitungsstruktur von CSS, grundsätzlich nicht in der Lage ist, den Test zu bestehen. Die aktuell in Entwicklung befindliche Version 1.9 besteht den Acid2-Test ebenfalls und wird in der zukünftigen Version 3 des Mozilla Firefox zum Einsatz kommen.

[Bearbeiten] Acid3

Referenz-Rendering des Acid3-Tests
Referenz-Rendering des Acid3-Tests

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 ihren SVG- und XML-Support überprüft.

[Bearbeiten] Getestete Standards

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.

  • Bucket 1: DOM Traversal, DOM Range, HTTP
  • Bucket 2: DOM2 Core und DOM2 Events
  • Bucket 3: DOM2 Views, DOM2 Style und CSS 3 Selektoren
  • Bucket 4: HTML und DOM
  • Bucket 5: Tests der Acid3 Competition (SVG, HTML, SMIL, Unicode, XML...)
  • Bucket 6: ECMAScript

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 und Farbdarstellungen im HSLA-Farbraum unterstützt werden. Darüber hinaus soll die Animation des Tests gleichmäßig ausgeführt werden[10][11].

[Bearbeiten] Kompatibilität von Anwendungen

Beim Aufruf des Acid3-Tests sollte, sofern der Test bestanden wird, ein prozentualer Counter bis 100 hochzählen. Dieser Counter 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 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. Inzwischen sind Vorabversionen von WebKit und Opera in der Lage, eine pixelgenaue Darstellung der Testseite zu generieren und auch alle Einzeltests zu bestehen. Momentan bestehen bei WebKit als auch bei Opera noch insoweit Probleme, dass einige Einzeltests länger als 33 ms zur Ausführung benötigen und somit der Acid3-Test noch nicht vollständig bestanden wurde. Insbesondere der Test 26 bereitet hier allen Browserherstellern Probleme.

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 hat zur Folge, dass vorherige Meldungen vom Bestehen der 100 Einzeltests durch WebKit und Opera nicht mehr dem aktuellen Stand entsprechen.[12]

Rendering-Engine Browser Version Ergebnis
WebKit Safari 3.1 Nightly Build vom 26. März 2008[13] 99 / 100 Punkten
Presto Opera 9.5 Gogi Desktop (Interner Referenz Build) vom 26. März 2008[14] 99 / 100 Punkten
Gecko Mozilla Firefox 3.0 Release Candidate 1 71 / 100 Punkten
Trident Windows Internet Explorer 8.0 Beta-Version vom 6. März 2008 18 / 100 Punkten

[Bearbeiten] Weblinks

Acid
Acid2
Acid3

[Bearbeiten] Einzelnachweise

  1. Hyatt, Dave (2005-04-12). The Acid2 Test. Surfin' Safari. Gefunden am 2007-12-24.
  2. Acid2: The Guided Tour. The Web Standards Project. Gefunden am 2007-12-24.
  3. Safari Passes the Acid2 Test, Surfin’ Safari, 27. April 2005
  4. …and one more weekly! (englisch), Opera Desktop Team, 10. März 2006
  5. Prince 5.1 Passes Acid2, The Web Standards Project, 10. Dezember 2005
  6. Internet Explorer 8: Erster Ausblick auf die neuen Funktionen 3. Mai 2007
  7. Internet Explorer 8: Acid2-Test bestanden 20. Dez. 2007
  8. HTML5 IRC logs: freenode / #whatwg / 20070422. Gefunden am 2007-12-28.
  9. the final page has to look exactly, pixel for pixel, like this reference rendering“ auf der Acid3-Testseite
  10. the animation has to be smooth“ auf der Acid3-Testseite
  11. Nach dem Quelltext des Acid3-Tests ist die Gleichmäßigkeit insoweit definiert, dass jeder Test unter 33 ms ausgeführt werden muss.
  12. Ian Hickson (2008-04-22). Media queries and performance in Acid3 (and an error on my part). Gefunden am 2008-04-28.
  13. WebKit achieves Acid3 100/100 in public build
  14. Public Acid3 build
Persönliche Werkzeuge