Benutzer:Vanger/Acid (Browsertests)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Als Acid-Test (englisch für „Säure“) bezeichnet man eine Webseite, die überprüft, ob eine Layout-Engine die Empfehlungen des World Wide Web Consortiums (W3C) korrekt umsetzt. Der Großteil der Hersteller von Webbrowsern sind der Ansicht, dass durch das Bestehen der Acid-Tests eine besonders gute Unterstützung der vom W3C verabschiedeten Standardempfehlungen demonstriert werden kann.

Zur Zeit existieren drei Acid-Tests die von den verbreiteten Layout-Engines unterschiedlich gut bewältigt werden. Während der erste Acid-Test von Todd Fahrner entwickelt und im Jahr 1998 veröffentlicht wurde, wurden die Nachfolger Acid2 (2005) und Acid3 (2008) von Ian Hickson entwickelt und vom Web Standards Project herausgegeben.

Grundsätzliche Merkmale

[Bearbeiten | Quelltext bearbeiten]

Worin unterscheiden sich die Acid-Tests von den "üblichen" Tests? Nicht vergessen dass die Idee nicht von Todd Fahrner sondern von Braden McDaniel stammt!

  • Mehrere Tests auf einer Seite
  • Referenz-Rendering zur Überprüfung
  • Augenmerk auch auf weniger spezifische Vorgaben (z. B. die Überprüfung auf "Fehlerkompatibilität")
  • Überprüfung von Eigenschaften über die einzelnen Empfehlungen hinweg (Der Test beschränkt sich nicht nur auf z. B. CSS sondern testet viel mehr: DOM, XHTML, SVG, PNG usw.)
  • Überprüfung ob verschiedene Empfehlungen im Browser miteinander vereinbar ist.

Kurzer Ausriss, vielleicht auch ein Screenshot vom angeblich so hoffnungslos überforderten Netscape 4... Allgemein den Inhalt weiter ausführen, momentan ist der Abschnitt deutlich zu knapp.

  • Geschichte
  • "Microsoft-Bash" gegen Acid2
  • Getestete Standards und die Voraussetzungen zum Bestehen
  • Kompatibilitätsliste eher als "Timeline" gestalten, am besten wäre es wenn man das visualisiert mit kleinen Screenies hinbekommt. Keine Ahnung ob ich das hinbekomme, auf jeden Fall müsste sie vertikal werden, horizontal ist unmachbar.
  • Nur das Safari-Nightly das als erstes Acid2 bestand hat ist relevant, ansonsten interessieren uns nur stabile Versionen.
  • IE6 und IE7 mit in den Artikel als die, die ihn auch heute noch nicht bestehen aber noch immer offiziell unterstützt werden...
  • Geschichte
  • Die WebKit/Presto-"Hey wir ham 100 Pkt"- und Hixie-"Ups, sorry Fehler behoben..."-Problematik
  • Getestete Standards und die Voraussetzungen zum Bestehen
  • Kompatibilitätsliste vielleicht so: Links den Screenshot, rechts daneben den Text (oder umgekehrt). So kriegen wir denke ich zwei oder drei Browser in eine Zeile und das Ganze wirkt nicht so fett wie in der überarbeiteten Fassung... Etwas ausdenken wie wir den Safari 4.0, Chrome 2.0 und Opera 10.0 anständig unterbringen - ohne Screenshot, der ist nämlich sinnfrei wenn eh schon ein "Korrekte-Darstellung-Screen" da ist.
  • IE6 und IE7 unbedingt mit rein, das sind die einzigen bei denen ihr Ergebnis rein gar nix mit der Referenz zu tun hat...







Grundsätzliches

  • Grundsätzlich darüber nachdenken ob wir die Thumbnail-Größe *ausnahmsweiße* vorschreiben sollten, 150px ist wohl viel zu klein und 300px viel zu groß. Mal sehen...
  • Mehr Quellen! Ist ja grauenhaft...
  • Ziel der Überarbeitung: Review und anschließend KLA. Vorher aber noch 2-3 Wochen warten ob Meinungen kommen.


Alter Artikel

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, dem 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.

Korrekte Darstellung des Acid2-Tests

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.

Getestete Standards

[Bearbeiten | Quelltext bearbeiten]
Darstellung im
Microsoft Internet Explorer 6.0
Darstellung im
Microsoft Internet Explorer 7.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 Elemente
  • 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

Kompatibilität von Anwendungen

[Bearbeiten | Quelltext bearbeiten]

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 keine der üblichen Rendering-Engines in der Lage, die Seite korrekt darzustellen. Seit März 2009 sind die jeweils aktuellsten Versionen aller üblichen Rendering-Engines hierzu in der Lage.

  • KHTML/WebKit
    • Safari war im April 2005[5] mit Version 2.0.2 der erste Browser, der den Acid2-Test bestehen konnte. Das nötige Update des WebKit ist seit Version 10.4.3 offizieller 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 war ab der 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 besteht seit März 2006[6] mit Version 9.0 den Acid2-Test.
  • Gecko
    • Mozilla Firefox ist seit Juni 2008 mit Version 3.0 in der Lage, den Acid2-Test zu bestehen.
  • Trident
    • Windows Internet Explorer ist seit März 2009 mit Version 8.0 als letzter der üblichen Webbrowser in der Lage, den Acid2-Test zu bestehen. Die weiterhin von Microsoft offiziell unterstützten Versionen 6.0 und 7.0 sind hierzu auch weiterhin nicht in der Lage. Trident wird mit Windows 7 offizieller Bestandteil des Betriebssystems und alle Windows-Browser, sofern diese Trident einsetzen, zum Bestehen des Acid2-Test befähigen.
  • Sonstige Anwendungen
    • Prince XML (ab Version 5.1), ein XML-nach-PDF-Konverter von YesLogic, besteht seit Dezember 2005[7] ebenfalls den Test.

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.

Getestete Standards

[Bearbeiten | Quelltext bearbeiten]

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]

Kompatibilität von Anwendungen

[Bearbeiten | Quelltext bearbeiten]

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. Inzwischen sind nur Vorabversionen von WebKit (Safari) und Presto (Opera) in der Lage, eine pixelgenaue Darstellung der Testseite zu generieren und auch alle Einzeltests zu bestehen. 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 WebKit
mit V8-JavaScript-Engine
Presto
Safari Trunk Google Chrome 2.0 Opera 10.0
Nightly Build vom 26. März 2008[14] Erste Entwicklervorschauversion vom 9. Januar 2009 Erste Entwicklervorschauversion vom 4. Dezember 2008[15]
Safari 3.2 Google Chrome 1.0 Opera 9.6
Stabile Version 3.1.0 vom 18. März 2008 Stabile Version 1.0.154.36 vom 11. Dezember 2008 Stabile Version 9.60 vom 8. Oktober 2008
75 von 100 Punkten 79 von 100 Punkten 85 von 100 Punkten
Trident Gecko KHTML
Internet Explorer 8.0 Mozilla Firefox Trunk Konqueror 4.2
Stabile Version 8.0 vom 19. März 2009 Nightly Build vom 11. März 2009 Stabile Version 4.2.0 vom 27. Januar 2009
20 von 100 Punkten 96 von 100 Punkten 85 von 100 Punkten
Internet Explorer 7.0 Mozilla Firefox 3.0
Stabile Version 7.0 vom 18. Oktober 2006 Stabile Version 3.0 vom 17. Juni 2008
14 von 100 Punkten 71 von 100 Punkten
Internet Explorer 6.0
Stabile Version 6.0 vom 27. August 2001
12 von 100 Punkten
Acid
Acid2
Acid3

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Acid Test Results on Popular Browsers. SciActive, 12. Februar 2008, abgerufen am 11. Juni 2008 (englisch).
  2. Todd Fahrner: CSS1 Test Suite: 5.5.26 clear. World Wide Web Consortium, abgerufen am 11. Juni 2008 (englisch).
  3. Surfin' Safari: The Acid2 Test. MozillaZine, 12. April 2005, abgerufen am 24. Dezember 2007 (englisch).
  4. The Web Standards Project: Acid2: The Guided Tour. 24. Dezember 2007, abgerufen am 11. Juni 2008 (englisch).
  5. Surfin' Safari: Safari Passes the Acid2 Test. MozillaZine, 27. April 2005, abgerufen am 11. Juni 2008 (englisch).
  6. Opera Desktop Team: …and one more weekly! 10. März 2006, archiviert vom Original am 21. März 2006; abgerufen am 11. Juni 2008 (englisch).
  7. The Web Standards Project: Prince 5.1 Passes Acid2. 10. Dezember 2005, abgerufen am 11. Juni 2008 (englisch).
  8. HTML5 IRC logs: freenode / #whatwg / 20070422. Krijn Hoetmer, 28. Dezember 2007, abgerufen am 11. Juni 2008.
  9. Ian Hickson: The Acid3 Test. The Web Standards Project, abgerufen am 11. Juni 2008: „the final page has to look exactly, pixel for pixel, like this reference rendering“
  10. Ian Hickson: The Acid3 Test. The Web Standards Project, abgerufen am 11. Juni 2008: „the animation has to be smooth“
  11. Ian Hickson: The Acid3 Test. The Web Standards Project, abgerufen am 11. Juni 2008 (Die Gleichmäßigkeit ist nach dem Quelltext insofern definiert, dass jeder Test in unter 33 ms ausgeführt werden muss.): „Test X passed, but took X ms (less than 30fps)“
  12. Darin Adler: Bug 17510: Acid3 test 26 takes >33ms. WebKit, 24. Februar 2008, abgerufen am 31. Juli 2008: „test 26 passes comfortably on a 2.4GHz MacBook Pro [...]. Closing as fixed.“
  13. Ian Hickson: Media queries and performance in Acid3 (and an error on my part). 22. April 2008, abgerufen am 28. April 2008.
  14. Maciej Stachowiak: WebKit achieves Acid3 100/100 in public build. WebKit, 26. März 2008, abgerufen am 11. Juni 2008.
  15. Adam Minchinton: Peregrine takes flight... Opera 10.0 Alpha 1 is here! Opera, 4. Dezember 2008, archiviert vom Original am 5. Dezember 2008; abgerufen am 4. Dezember 2008.