HTML-Renderer

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von HTML-Rendering)
Wechseln zu: Navigation, Suche
Verbreitung verschiedener HTML-Renderer zwischen 1994 und 2009.

Ein HTML-Renderer ist ein Programm zur Visualisierung von Hypertext Markup Language.

HTML war ursprünglich eine (strukturelle) Beschreibung von Text, eine Art von Rich Text mit Hyperlink-Funktionalität, von dem Erfinder des World Wide Web, Tim Berners-Lee, „IIRC Hypertext“ genannt. Zwar gibt es HTML-Attribute, die direkt das Aussehen des Elements beschreiben (etwa die Schriftgröße), diese werden jedoch in XHTML und neueren Standards missbilligt und nur noch aus Gründen der Kompatibilität unterstützt.[1]

Das spiegelt wider, dass HTML nicht festlegen soll, wie ein Dokument anzuzeigen ist. Dadurch ist HTML so flexibel, dass es z. B. in einer Beamer-Präsentation, auf einem Computermonitor, einem PDA oder einem Schwarz-Weiß-LCD angezeigt werden kann. All diese Anzeigegeräte haben unterschiedliche Möglichkeiten für die visuelle Gestaltung des Inhaltes. Da HTML keine solche Gestaltung festlegt, kann das Anzeigeprogramm das HTML anzeigegerätespezifisch interpretieren und das visuelle Layout mehr oder weniger frei gestalten.

Der HTML-Renderer ordnet dieser eher semantisch-strukturellen Definition eine visuelle Darstellung des Textes zu.

Dies geschieht in nahezu allen Browsern mittels Cascading Style Sheets (CSS). Die Stylesheets enthalten eine Liste von Selektoren (Bedingungen an die Teilstruktur des HTML-Dokuments, die zutreffen müssen, damit die Regeln angewendet werden) und Regeln (Attribute, die auf die der entsprechenden Teilstruktur zugeordnete visuelle Repräsentation angewendet werden). Per Voreinstellung liefert der Browser ein Standard-Stylesheet aus, das die meisten Elemente grundformatiert.[2] CSS ist sehr flexibel. Es ist möglich, diesen Satz von Regeln komplett pro Benutzer oder pro Dokument auszutauschen. Dadurch sind den Darstellungsvarianten fast keine Grenzen gesetzt.

Ein HTML-Renderer ist also Teil eines Webbrowsers, der einer eher semantisch orientierten Dokumentenstruktur eine visuelle Darstellung zuordnet. Eine Layout-Engine interpretiert das Layoutmodell, das durch CSS definiert wurde, und füllt in dieses Layout den durch HTML semantisch angereicherten Text.

Funktionsweise[Bearbeiten]

Parsen[Bearbeiten]

Das HTML-Dokument wird eingelesen und dessen Elemente strukturiert. Diesen Vorgang nennt man Parsen. Nahezu jeder Browser nutzt dafür seinen eigenen Renderer. Die Festlegung der Standards für HTML-Dokumente werden dabei unter anderem vom World Wide Web Consortium festgelegt und definiert. Dabei existieren unterschiedliche Standards, die Syntax der Elemente bleibt aber weitestgehend gleich. Der Entwickler sollte mit Hilfe des sogenannten Doctypes angeben, welcher Standard benutzt wird. Wird der festgelegte Standard nicht vollständig eingehalten, ist das HTML-Dokument nicht valide, der Browser kann die Elemente nicht richtig interpretieren und es kann zu Fehldarstellungen kommen.

Generierung des Document Object Models[Bearbeiten]

Wurde das Dokument erfolgreich eingelesen, wird ein sogenanntes Document Object Model erstellt. Diese hierarchische Struktur beinhaltet Informationen über die Ordnung und Unterelemente (Kinder genannt). Das Document Object Model ist auch nach der Ausgabe noch relevant, da etwa clientseitige Scriptsprachen wie JavaScript auf dieses zugreifen können, um es zu manipulieren.

Reflow[Bearbeiten]

Die Berechnung von SGML-Strukturen (wie etwa HTML) wird als Reflow bezeichnet. In diesem Prozess wird die grundlegende Geometrie der zu formatierenden Objekte berechnet – etwa die Höhe oder die Breite eines Elements. Die zu formatierenden Objekte werden als frames (dt. Rahmen) bezeichnet[3] und sind nicht zu verwechseln mit den Frames, die das Laden einer HTML-Seite in eine andere ermöglichen.

Liste von Renderern[Bearbeiten]

grafisch
Gecko (u. a. verwendet von Mozilla Firefox, SeaMonkey, Mozilla Camino)
KHTML (u. a. Konqueror)
WebKit (u. a. Safari, Google Chrome bis Version 27, Epiphany, ICab, Midori)
Presto (Opera bis Version 12)
Trident (Internet Explorer für Windows)
Tasman (u. a. Internet Explorer für Macintosh)
Robin (The Bat)
Blink (u. a. Opera ab Version 15[4], Google Chrome ab Version 28)
Servo (Experimentell von Mozilla und Samsung entwickelt)
textbasiert
Lynx
Links

Rendern von Audio-Daten[Bearbeiten]

Es gibt auch Rendern von Audio-Daten von HTML durch eine CSS-Teilspezifikation, mit der eine synthetische Stimme beim Vorlesen von Hypertext durch CSS-Attribute navigiert wird. Rendern von Audio-Daten ist jedoch nicht in den gängigen Webbrowsern implementiert. Rendern von Audio-Daten gibt es nur in Spezialanwendungsprogrammen (Screenreader) für Blinde oder stark sehbehinderte Menschen.

Einzelnachweise[Bearbeiten]

  1. Missbilligte HTML 4-Elemente
  2. Standard-Stylesheet einer älteren Firefox-Version
  3. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatChris Waterson: Notes on HTML Reflow. Mozilla Foundation, abgerufen am 15. Juli 2008 (englisch).
  4. Luca Caracciolo: Opera setzt auf Webkit: Was bedeutet das für die Weiterentwicklung von HTML? In: t3n Magazin. 14. Februar 2013, abgerufen am 28. Juni 2013.