Browser-Kriege und neue Web-Technologien
Janina.Skibba.Uni-Sbg, 24. Mai 2011, 16:10
Wie bereits in den Beiträge von Teresa Vieth und Tobias Frühauf anschaulich dargestellt wurde, haben Browserhersteller das Web in seiner heutigen Form massiv geprägt. Differenzen zwischen einzelnen IT-Unternehmen sind jedoch kein Relikt vergangener Jahrzehnte, sondern verdeutlichen sich auch heute noch bezüglich der Interpretation gängiger Standards. Wie dadurch die Entwicklung neuer Web-Technologien beeinflusst wird, wird im folgenden erläutert.
HTML == HTML?
Die ab 1990 vom W3C entwickelte Auszeichnungssprache HTML (Hypertext Markup Language) bildet die Basis einer jeden Website. Mittels HTML werden Inhalte strukturiert und hierarchisch gegliedert (vgl. Münz/Gull: 19f.). HTML liegt aktuell in der Spezifikation 4.01 vor. Obwohl bereits seit 2007 in Entwicklung, ist der neue HTML5-Standard nach wie vor nicht vom W3C finalisiert worden.
Um die logische Struktur einer HTML-Dateien grafisch darstellen zu können, müssen Web-Browser die in den HTML-Dokumenten enthaltenen Auszeichnungen interpretieren und visuell darstellen (vgl. Selfhtml o.J.: o.S.). Diese Aufgabe übernimmt die im Browser implementierte HTML-Engine. HTML-Engines bilden einen eigenen Teilbereich des Browsers und werden von jedem Hersteller eigens entwickelt.
Zu den gängigsten, grafischen HTML-Engines zählen:
- Gecko
(Entwickler: Mozilla Foundation) | Browser: Firefox) - WebKit
(Entwickler: KDE, Apple, Nokia, Adobe, Google u.a. | Browser: Google Chrome, Safari) - Trident
(Entwickler: Microsoft | Browser: Internet Explorer) - Presto
(Entwickler: Opera Software | Browser: Opera)
Übersicht: Verbreitung der gängigen HTML-Engines
Abhängig von der verwendeten HTML-Engine wurden HTML-Tags in der Vergangenheit von einzelnen Browsern unterschiedlich interpretiert. Ein Phänomen, dass sich zum Teil auch in aktuellen Browser-Versionen fortsetzt (vgl. Jänecke 2003: 139f.). Von diesen Darstellungsunterschieden sind auch Cascading Style Sheets (CSS) betroffen. CSS ist eine deklarative Sprache, mit welcher das Aussehen einzelner HTML-Elemente festgelegt werden kann (vgl. Meyer 2007: 4-9).
Unterschiedliche Interpretation – unterschiedliche Darstellung
Die unvollständige Implementierung des HTML-Standards in den Rendering Engines der jeweiligen Browser führt zum Teil zu gravierenden Darstellungsunterschieden. Zu trauriger Berühmtheit gelangte beispielsweise der Box Model Bug des Internet Explorers. Wie unten stehende Grafiken illustrieren, bewirkte dieser Fehler des Internet Explorer 5.5. (und früherer Modelle), dass Höhen und Breiten falsch dargestellt worden sind.
Beispiel Box Model Bug:
Quellcode: Definition einer Box mit 300px Breite, 10px Rahmen und 20px Innenabstand
Darstellung: Firefox (links) mit einer korrekten Breite von 360px (300 + 10 + 10 + 20 +20) | Internet Explorer 5.5. (rechts) mit einer effektiven Breite von 300px.
Zwar wurden diese Darstellungsunterschiede mit Veröffentlichung des Internet Explorer 6 weitestgehend behoben, da das Update von Version 5 auf Version 6 aber nur schleppend von den Usern akzeptiert wurde, beeinflusste der Box Model Bug noch viele Jahre Darstellung von Websites (vgl. Zeldman 2007: 322f.). Weitere bekannte Bugs älterer Browser sind zB der Double Float-Margin Bug oder der Whitespace Bug (beide Internet Explorer 6).
Neuer Standard – altes Dilemma
Zwar werden bekannte Fehler der HTML-Engine zumeist mit Erscheinen eines neuen Browsers behoben, unglücklicherweise bedeut dies jedoch nicht zwangsläufig, dass HTML-Standards zukünftig browserübergreifend einheitlich interpretiert werden. Diese Problematik verschärft sich aktuell in Bezug auf CSS3 (vgl. Powell 2010: 440), was anhand des Befehls border-radius exemplarisch skizziert werden soll:
Für eine browserübergreifend einheitliche Darstellung abgerundeter Ecken müssen neben dem CSS3-Befehl „border-radius“ einzelne Anweisungen für Gecko, KHTML, Webkit und Opera notiert werden.
Beispiel: CSS3 und browserspezifische CSS-Notationen
Quellcode: Browserübergreifende CSS-Notation einer Box mit abgerundeten Ecken
Darstellung: Darstellung des Quellcodes durch den Browser
Die Zukunft der HTML-Engines
Wie der vom W3C durchgeführte Komformitätstest in Bezug auf aktuelle Browser belegt, muss auch zukünftig mit Darstellungs- und Kompatibilitätsproblemen in Bezug auf die HTML-Interpretation durch die Rendering Engine einzelner Browser gerechnet werden (vgl. Computer Base 2010: o.S.). Eine ähnliche Tendenz zeichnet sich auch für mobile Endgeräte ab (vgl. Quirksmode 2011: o. S.). Mit steigender Bedeutung von Smart Phones und Tables (vgl. Nielsen 2010: o.S.) ist zu vermuten, dass sich diese Thematik verschärfen wird. Wie bereits Robert Markus in seinem Blogbeitrag in Bezug auf Videoformate in HTML 5 erwähnt hat, hängt auch die einheitliche Browserintegration von HTML5 stark von der Kooperationsbereitschaft der Browserhersteller ab. Es bleibt zu hoffen, dass neue HTML-Engines zukünftig kollaborativ und browserübergreifend entwickelt werden, um neue Browser-Kriege zu vermeiden.
Literatur:
Computer Base (2010): Kein Browser überzeugt im HTML5-Test. Online im Internet unter http://www.computerbase.de/news/software/browser/2010/november/kein-browser-ueberzeugt-im-html5-test/ (18. Mai 2011).
Jänecke, Michael (2003): XHTML und HTML. In: Avci, Oral/Trittmann, Ralph/Mellis, Werner (Hg.): Web-Programmierung. Wiesbaden: Vieweg, S. 139 – 169.
Meyer, Eric A. (2007): CSS. Das umfassende Handbuch. Köln: O’Reilly.
Münz, Stefan/Gull, Clemens (2010): HTML 5 Handbuch. Die Webgrammatik für das Internet der Zukunft. Poing: Franzis Verlag.
Nielsen (2010): Smartphones to Overtake Feature Phones in U.S. by 2011. Online im Internet unter http://blog.nielsen.com/nielsenwire/consumer/smartphones-to-overtake-feature-phones-in-u-s-by-2011/ (16.05.2011).
Powell, Thomas A. (2010): HTML & CSS. The Complete Reference. 5. Ausgabe. New York: McGraw-Hill.
Selfhtml (o.J.): HTML als „lingua franca“ des Web. Online im Internet unter http://de.selfhtml.org/intro/technologien/html.htm#auszeichnungssprache (17. Mai 2011).
Quirksmode (2011): The Great WebKit Comparision Table. Online im Internet unter http://www.quirksmode.org/webkit.html (17. Mai 2011).
Zeldman, Jeffrey (2007): Webdesign mit Webstandards. Grenzenlos kompatibel. München: Addison-Wesley.
Backlink zum Connector "Browserkrieg"
Carla.Stenitzer.Uni-Sbg, 30. Mai 2011, 10:48
Hallo Janina, Wie ich gesehen habe, hast du dich bereits beim zugehörigen Connector verinkt. Der Vollständigkeit wegen verlinke ich deinen Beitrag hier noch einmal zum Connector "Browserkrieg", damit andere schnell und einfach Beiträge zum selben Thema finden können.