HTML5

  1. Startseite
  2. Programmierung
  3. HTML5

TML5  ist eine textbasierte Auszeichnungssprache zur Strukturierung und semantischen Auszeichnung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten. Die Sprache befindet sich zurzeit noch in der , es liegen aber bereits recht ausgereifte Entwürfe zweier Entwicklerteams vor. Sie soll die Nachfolge von HTML4 antreten.

Die Sprache ersetzt die Dokumentbeschreibungsstandards 4.01, XHTML 1.0 und DOM HTML Level 2. Sie bietet vielfältige neue Funktionalitäten wie unter anderem Video, Audio, lokalen Speicher und dynamische 2D- und 3D-Grafiken, die von HTML4 nicht direkt unterstützt werden, sodass bislang zusätzliche Plugins eingesetzt werden müssen, zum Beispiel Flash.

Entstehung

Nach der Veröffentlichung der Spezifikation von HTML 4.0 im Dezember 1997 lag die Weiterentwicklung von HTML lange brach. Außer der Version 4.01 im Dezember 1999, die lediglich Fehlerkorrekturen enthält, gab es bis zum April 2009 keine Aktualisierungen der Auszeichnungssprache mehr. Das World Wide Consortium (W3C) setzte auf XML, welches zum Nachfolger von HTML werden sollte, und reformulierte HTML 4.01 zu der XML-basierten Auszeichnungssprache XHTML 1.0. Dabei blieb der Funktionsumfang von HTML 4.01 ohne Änderungen erhalten.

Daraufhin begann das W3C mit der Entwicklung von XHTML 1.1 und später von XHTML 2.0, was nicht mehr viel mit HTML 4.01 gemeinsam hatte, und wollte vieles besser machen als in HTML. Dies führte dazu, dass XHTML 1.1 und XHTML 2.0 durch diese Neuentwicklungen nicht mehr abwärtskompatibel waren. Außerdem war die Erstellung von XHTML 2.0-Dokumenten in vielen Punkten im Vergleich zu HTML sehr schwer und erforderte viel Hintergrundwissen. Die Entwicklung von verlief zu diesem Zeitpunkt ebenfalls nur sehr langsam, weshalb das W3C immer mehr in die Kritik geriet.

Um diesen Entwicklungen entgegenzuwirken, veröffentlichte die von mehreren Browserherstellern gegründete Web Hypertext Application Technology Working Group (WHATWG) Mitte 2004 unter dem Namen Web Applications 1.0 den ersten Vorschlag für HTML5.

Am 27. Januar 2006 kündigte Tim Berners-Lee, der Gründer und Vorsitzende des World Wide Web Consortiums, eine neue Arbeitsgruppe mit dem Ziel der Weiterentwicklung von HTML an. Das W3C nutzte als Grundlage für seine Arbeit an HTML5 einen Fork der Version der WHATWG. Damit schuf sich das W3C Konkurrenz im eigenen Haus, da dieses ebenfalls schon die Entwicklung von XHTML 2.0, einem rein XML-basierten Format zur Webseitenauszeichnung, vorantrieb.

Um die Konkurrenz innerhalb des W3C abzumildern, wurden zwischen November 2006 und März 2007 die vorhandenen Arbeitsgruppen beim W3C umgestaltet. HTML5 und XHTML 2.0 wurden als verwandte Sprachen mit unterschiedlichen Zielgruppen definiert.

Im Mai 2007 entschieden die Mitglieder der HTML-Arbeitsgruppe in einer Abstimmung, dass der Web-Applications-1.0-Entwurf der WHATWG als Startpunkt zur Diskussion und Weiterentwicklung von HTML verwendet werden soll. Seitdem entwickeln das W3C und die WHATWG gemeinsam an der HTML5-Spezifikation.

Mitte 2009 gab das W3C bekannt, dass die Entwicklung von XHTML 2.0 mit Ende desselben Jahres nicht mehr weitergeführt werde. Die nächste Generation der Auszeichnungssprachen für das Web ist damit keine neue Variante von XHTML, sondern HTML5.

Verschiedene Arbeitsmodelle von W3C und WHATWG
Die WHATWG verfolgt ein versionsloses Modell der Entwicklung. Sie arbeitet an einem sogenannten Living Standard, also einer Spezifikation, die einer ständigen Korrektur und Erweiterung unterliegt. Daher verzichtet die WHATWG auf die Versionsangabe “5” und spricht nur noch vom “HTML-Standard”.

Ziel der HTML-Arbeitsgruppe beim W3C ist es hingegen, eine stabile Momentaufnahme dieser Spezifikation unter dem Namen HTML5 zu publizieren. Dazu wird ein vordefiniertes Prozedere durchlaufen, bis die Spezifikation schließlich zu einer W3C-Empfehlung (Recommendation) heranreift. Das W3C geht davon aus, dass die vollständige HTML5-Spezifikation bis zum Jahr 2014 breit unterstützt werden wird und damit als Empfehlung veröffentlicht werden kann.
Verhältnis der Spezifikationen des W3C und der WHATWG

Verhältnis von Webtechnologie-Spezifikationen im Umfeld von HTML5
Der Verfasser (engl. editor) der Spezifikation ist Ian Hickson, Gründer der WHATWG und Angestellter von . Aus dem von ihm bearbeiteten Rohtext werden verschiedene Spezifikationen generiert, sowohl die auf Seiten der WHATWG als auch die W3C-Pendants.

Die WHATWG-HTML-Spezifikation integriert mehrere verwandte Teilspezifikationen, welche seitens des W3C in einzelne Dokumente aufgesplittet werden. Sie können damit unabhängig von der HTML5-Hauptspezifikation den W3C-Entwicklungsprozess durchlaufen. Diese separaten Standards sind Microdata-Metadaten, der 2D-Zeichenkontext des Canvas-Element sowie dokumentübergreifende Nachrichten (HTML5 Web Messaging).

W3C-Veröffentlichungen
Im Folgenden sind die Veröffentlichungen der HTML5-Entwürfe durch das W3C aufgeführt. Neben den regelmäßigen Arbeitsentwürfen (Working Drafts) veröffentlicht das W3C in Abständen von Tagen sogenannte Editor´s Drafts. Die jeweils tagesaktuelle Fassung des Entwurfs – erweitert um WHATWG-spezifische Elemente – ist auf der Webseite der WHATWG verfügbar.

Fortschritt in der Entwicklung
In der Spezifikation der WHATWG wird darauf hingewiesen, dass bestimmte Abschnitte ausgereifter sind als andere. Von den reiferen Neuentwicklungen sind einige bereits in aktuellen Browserversionen enthalten und können verwendet werden.

Fertigstellung von HTML5
Laut dem Zeitplan des W3C soll HTML5 2014 offiziell verabschiedet, d. h. zu einer W3C Recommendation werden. Im Mai 2011 erhielt HTML5 beim W3C den Status “Last Call”, welcher als letzte Aufforderung dienen soll, Kommentare zum HTML5-Entwurf einzureichen. Die WHATWG hat den Status “Last Call” bereits am 27. Oktober 2009 ausgerufen.

Der Status “Last Call” bedeutet aber auch, dass HTML5 faktisch bereits einen fertigen Zustand angenommen hat, welcher mit einem Release Candidate vergleichbar ist. In den meisten Browsern ist HTML5 bereits (wenn auch unvollständig) implementiert.

Sofern alle gängigen Browser die entsprechenden Funktionen unterstützen, können Webentwickler Teile von HTML5 also bereits heute (gegebenenfalls mit einem Fallback) einsetzen. Diese Empfehlung spricht auch das W3C aus.

Ziele von HTML5

Die ersten wichtigen Ziele für HTML5 wurden von Tim Berners-Lee in dessen Blogeintrag “Reinventing HTML” (HTML neu erfinden) festgelegt: An der Entwicklung sollen dabei vor allem auch die Gruppen beteiligt sein, die HTML verwenden (Webautoren, Hersteller von Browsern). Dabei muss HTML inkrementell, also durch Überarbeitung und Erweiterung der Vorversion, entwickelt werden, und der Übergang zu wohlgeformten Dokumenten soll dadurch weiter vorangetrieben werden. Die Entwicklung von Formularen in HTML soll erweitert werden und im Idealfall einen Schritt von der bestehenden Formularstruktur hin zu XForms bilden.

Im Zuge der Einrichtung der neuen HTML-Arbeitsgruppe und als Teil der architektonischen Vision für HTML, XForms und XHTML 2.0 wurden diese Ziele detaillierter festgelegt, teilweise verändert und um weitere Punkte ergänzt:

  • Im Gegensatz zur bisherigen Vorgehensweise, in jeder Spezifikation nur die Unterschiede zu einer alten Version abzubilden, soll eine vollständige Spezifikation geschrieben werden.
  • Das Vokabular von HTML muss als klassisches HTML und als XML-Dialekt verfasst werden können. Unabhängig von dieser Form muss das Vokabular in ein definiertes Infoset, das heißt in eine DOM-Abbildung des Quelltextes umgesetzt werden können.

Zusätzlich wurden zum Aufgabenbereich der Arbeitsgruppe die Definition von DOM-Schnittstellen für die Arbeit mit dem HTML-Vokabular sowie eine separate mit eingebundenen Medien festgelegt. Die Arbeitsgruppe soll Formulare und allgemeine Benutzereingabeelemente wie Fortschrittsanzeigen oder Menüs entwickeln und Schnittstellen für benutzerdefinierte WYSIWYG-Bearbeitungsfunktionen definieren.

Nach Gründung der Arbeitsgruppe wurden die HTML-Gestaltungsprinzipien als erstes Dokument veröffentlicht. Darin werden weitere Zielsetzungen ausführlich erläutert. Dazu gehören etwa:

Kompatibilität
Bestehender Inhalt muss weiterhin unterstützt werden. Neue Elemente der Sprache dürfen den bestehenden Inhalt nicht negativ beeinflussen.
Verwendbarkeit
Neue Funktionen sollen echte Probleme lösen, und dies vorrangig für Autoren, dann Browserhersteller und zuletzt der “reinen Lehre” dienend; Funktionen jedoch, die bereits einen bestimmten Zweck erfüllen, sollen nicht neu erfunden werden.
Sicherheit
Bei der Entwicklung neuer Funktionen müssen Sicherheitsaspekte berücksichtigt werden.
Konsistenz
Teile aus XML, die in XHTML Anwendung finden, sollen auch in HTML erlaubt werden. HTML und XHTML besitzen eine gemeinsame DOM-Abbildung.
Vereinfachung
Durch genau definiertes Verhalten (auch in Fehlersituationen) und geringe Komplexität soll HTML interoperabel implementiert werden können.
Barrierefreiheit

Die Barrierefreiheit von Inhalt und Funktion soll gewährleistet sein.

Aufbau

HTML5, so wie es das W3C definiert, besteht insgesamt aus mehreren Spezifikationen und Dokumenten, deren Inhalt im folgenden Abschnitt erläutert wird.

HTML5 – Ein Vokabular und dazugehörige Schnittstellen für HTML und XHTML
“HTML5” ist die Hauptspezifikation, in der die wichtigsten Grundlagen von HTML5 enthalten sind.

Das Vokabular
Das Vokabular von HTML5 setzt sich aus dem Vokabular vorangehender HTML-Spezifikationen, bis dato proprietären Bestandteilen sowie einigen neuen Elementen zusammen, darunter z. B. Teile der Ruby-Elementgruppe, die in XHTML 1.1 eingeführt wurden. Es umfasst dabei aber nur den Teil von HTML, den Autoren für das Erstellen von Dokumenten und Webanwendungen benutzen dürfen.

Neben dem Vokabular wird auch ein klares Strukturmodell definiert, also die Regeln, nach denen die verschiedenen Elemente ineinander verschachtelt werden dürfen.

Der HTML-Parser
Erstmals seit der Entstehung von HTML wird die Sprache nicht mehr als eine Anwendung von SGML, sondern selbst als eine generalisierte Sprache in der von SGML definiert. Dies wird damit begründet, dass auch moderne Browser HTML nicht mit einem SGML-Parser, sondern einem für das Web passenden Parser verarbeiten.

Wie diese Parser funktionieren, ist aktuell nicht definiert. HTML5 will dies durch die Definition eines HTML-Parsers ändern und so vermeiden, dass es Unterschiede zwischen den HTML-Parsern der verschiedenen Browserhersteller gibt.

Das Besondere an dem in HTML5 enthaltenen Parser ist, dass er nicht nur das erlaubte Vokabular versteht, sondern auch alle anderen Elemente, die in früheren Versionen vorhanden waren oder nur als proprietäre Elemente existierten. Durch diese genaue Definition will HTML5 sicherstellen, dass der Parser zu den im Web vorhandenen Dokumenten rückwärtskompatibel ist.

HTML, XHTML und das DOM
Jedes Element und Attribut, das in HTML5 bekannt ist, ist in den Begriffen des Dokumentobjektmodells definiert. Das gilt unabhängig davon, ob das Element oder Attribut ein erlaubter Sprachbestandteil ist. Das bedeutet, dass neben der strukturellen Bedeutung der Elemente auch deren DOM-Interface sowie die damit verbundenen Schnittstellen (Methoden und Eigenschaften) definiert werden.

Auf Basis dieser Definition erlaubt HTML5 die Repräsentierung von Dokumenten in drei Varianten:

  • Dokumente, die den Medientyp “text/html” besitzen, gelten als HTML-Dokumente. Sie werden mit dem HTML-Parser verarbeitet. Diese Variante wird umgangssprachlich als HTML5 bezeichnet.
  • Dokumente, die einen XML-Medientyp – z. B. “application/xhtml+xml” oder “application/xml” – besitzen, gelten als XML-Dokumente, die von einem XML-Parser verarbeitet werden. Diese Variante wird umgangssprachlich als XHTML5 bezeichnet.
  • Die vorigen Dokumente besitzen ein gemeinsames Dokumentobjektmodell. Das DOM wird in diesem Zusammenhang oft DOM5 genannt.

HTML5 versucht, die Unterschiede zwischen diesen drei Varianten auf die der jeweiligen Form innewohnenden Beschränkungen einzugrenzen. Beispielsweise ist die Zeichenkette “–>” innerhalb von HTML und XML ungültig, im DOM kann sie jedoch dargestellt werden.

Ein anderes Beispiel ist der Versuch, die Unterschiede zwischen HTML und XHTML zu verringern: Die Kernspezifikation des DOM sagt aus, dass HTML-Elemente im null-Namensraum enthalten sind (während XHTML-Elemente dem Namensraum “http://www.w3.org/1999/xhtml” angehören). HTML5 definiert jedoch, dass auch HTML-Elemente dem Namensraum “http://www.w3.org/1999/xhtml” zuzuordnen sind.

Die Standarddarstellung
HTML5 versucht, die Erwartung von Autoren an die Standarddarstellung der Elemente wiederzugeben. Für alle Elemente und deren Attribute gibt es daher eine “erwartete Darstellung”, die durch CSS-Eigenschaften definiert wird. HTML5 unterscheidet dabei zwischen Darstellungseigenschaften, die bei der standardkonformen und der kompatibilitätsorientierten Verarbeitung von Webseiten angewendet werden sollen.

Der Browserkontext
HTML5 führt das eines Browserkontextes ein: in jedem Browserkontext wird ein Dokument geladen bzw. weitere Browserkontexte (im Fall von Frames) erzeugt. Zu den Bestandteilen eines Browserkontextes gehören großteils -Objekte, die zuvor keinem Standard angehörten, z. B. das History-Objekt, in dem die Abfolge der besuchten Webseiten gespeichert wird. Dadurch wird versucht, das Verhalten der Browser zu vereinheitlichen und einer gemeinsamen Definition zu unterwerfen.

HTML Microdata
Diese Spezifikation versucht, das Einbinden maschinenlesbarer Informationen in HTML-Dokumente zu definieren. Ziel dabei ist, dass dieser Mechanismus eindeutig definiert und zu anderen Formaten wie RDF und JSON kompatibel ist.

HTML-Canvas-2D-Kontext
In dieser Spezifikation werden Schnittstellen zum Zeichnen zweidimensionaler Formen festgelegt. Als Zeichenoberfläche dient das in der Hauptspezifikation eingeführte Canvas-Element.

Gezeichnet werden können Linien, Schatten, einfache und komplexe Konturen (Pfade) sowie Texte und im Dokument enthaltene Bilder.

HTML5-Nachrichtenübermittlung
Dieser Arbeitsentwurf definiert zwei Methoden, die es voneinander unabhängigen Browserkontexten erlauben sollen, miteinander Daten auszutauschen:

  • “Cross-document messaging”, das die Kommunikation von ineinander eingebetteten Dokumenten (z. B. über iframes) ermöglichen soll und
  • “Channel messaging”, das die Kommunikation für voneinander unabhängigen Dokumenten (z. B. getrennt durch zwei verschiedene Browserfenster) ermöglichen will.

HTML+RDFa – Ein Mechanismus zum Einbetten von RDF in HTML
Das Dokument adaptiert die Einbettung von RDF in XHTML für Dokumente, wie sie in HTML5 definiert sind.

Unterstützende Dokumente

HTML: Die Auszeichnungssprache
Bei “HTML: Die Auszeichnungssprache” handelt es sich um keine Spezifikation, sondern um ein unterstützendes Dokument, das die Auszeichnungssprache HTML genauer beschreibt. Es will Autoren Details über die korrekte Verwendung der Sprache näher bringen, dabei aber kein Tutorium oder Handbuch darstellen. Das Dokument macht keine Aussagen über Definitionen oder wie HTML verarbeitet werden sollte.

Unterschiede zwischen HTML5 und HTML4
In diesem Dokument werden die Unterschiede zwischen HTML4 (genauer: HTML 4.01 und in Teilen XHTML 1.0 sowie DOM Level 2 HTML) und HTML5 aufgeführt und Begründungen für die Änderungen gegeben. Das Dokument wird jeweils bei Veröffentlichung eines neuen Arbeitsentwurfs der Hauptspezifikation aktualisiert und veröffentlicht.

HTML5-Techniken für nützliche Textalternativen
Dieser entstehende Leitfaden für HTML-Autoren beschreibt, welche Alternativtexte für Bilder (vor allem im alt-Attribut des img-Elements) zu wählen sind. Diese sind wichtig, damit die Inhalte, die durch Bilder transportiert werden, auch für beispielsweise blinde Webnutzer zugänglich sind.

“Polyglottes” Markup: HTML-kompatible XHTML-Dokumente
Das Dokument beschreibt Regeln für HTML5-Dokumente, welche in XHTML-Syntax verfasst sind und somit sowohl von HTML5-Parsern als auch von XML-Parsern verarbeitet werden können.

Kritik an HTML5

Bei HTML5 handelt es sich um ein sehr großes und weitgefächertes Projekt, zu dem es ebenso viele kritische Stimmen gibt. Zu beachten ist dabei, dass sich HTML5 noch in der Entwicklung befindet. Kritikpunkte könnten daher durch eine Überarbeitung des Entwurfs an Bedeutung verloren haben.

Kritik an der Weiterentwicklung von HTML
Joe Clark, Autor und Webaktivist für Zugänglichkeit, gesteht zwar der aktuellen Version von HTML Probleme zu, ist aber nicht der Meinung, dass die Sprache bez. bereits vorhandener Elemente weiterentwickelt werden müsse. Selbst sehr schlecht geschriebener führe demnach bereits heute in allen Browsern zu einem zufriedenstellenden Ergebnis.

Clark kritisiert, dass die Weiterentwicklung von HTML in die falsche Richtung verlaufe. Das W3C habe an weit wichtigeren Baustellen zu arbeiten, beispielsweise dem in der Szene umstrittenen WCAG-2.0-Standard.

Shane McCarron, der als Editor für zahlreiche XHTML-Spezifikationen mitverantwortlich ist, vermutet, dass HTML weiterentwickelt werde, weil die großen Browserhersteller der Herausforderung, die in der Implementierung des Semantic Web liegt, nicht gewachsen seien. Daraus folgert er, dass das W3C auf Druck dieser Hersteller das Ziel eines XML-basierten Ökosystems aufgegeben habe.

Kritik am Entstehungsprozess von HTML5
Alleiniges Schreibrecht von Ian Hickson
Ian Hickson war von Anfang an eine der treibenden Kräfte hinter HTML5. Er schrieb 2004 die Entwürfe für Web Forms 2.0 und Web Applications 1.0 und wurde 2005 von Google angestellt, um sich auf die Weiterführung dieser Arbeit konzentrieren zu können.

Durch dieses Engagement wuchs Hickson in die Rolle des “wohlwollenden Diktators”. Er allein besitzt das Bearbeitungsrecht für den HTML5-Entwurf und ist für viele Entscheidungen, die die Spezifikation betreffen, allein verantwortlich.

Diese Vorgehensweise entspricht kaum der des W3C, dessen Spezifikationen auf demokratischem Konsens basieren. Daher fragen sich viele Webautoren, beispielsweise Kyle Weems, ob der Zweck (eine funktionale Spezifikation) die Mittel (konsequente, nichtdemokratische Entstehung jener Spezifikation) rechtfertigt. Die Antwort wird offen gelassen.

Fehlende Ernsthaftigkeit für interne Vorschläge
Mathias Schäfer, Webentwickler und Mitautor verschiedener Dokumentationen (beispielsweise SELFHTML), kritisiert die fehlende Sachlichkeit bei der Diskussion von HTML5 während der Entstehung. Anhand des Beispiels der “verteilten Erweiterbarkeit” (Erweiterung des HTML-Vokabulars um proprietäre bzw. private, etwa firmeninterne, Elemente) zeigt er, dass Vorschläge nicht ernstgenommen werden, obwohl Schäfer meint, dass gerade diese Vorgehensweise HTML5 zum Erfolg führen könnte.

Kritik an der WHATWG
Die WHATWG selbst steht in der Kritik, da sie HTML5 nach wie vor auf ihrer Webseite als Spezifikation führt. Tatsächlich handelt es sich dabei jedoch nicht um HTML5, sondern – nach eigenen Angaben – um die nächste Generation von HTML. Das heißt, der Entwurf umfasst zwar den aktuellen Stand von HTML5, erweitert diesen aber um neue, noch unausgereifte Funktionen.

Zudem besitzt der WHATWG-Entwurf einige Unterschiede zur Variante des W3C. Problematisch sind Unterschiede in den normativen Abschnitten, da hier das W3C den Standard festlegt, Browserhersteller aber in der Regel dem WHATWG-Entwurf folgen.

Audio- und Videoelemente
Zum Einbinden von Audio- bzw. Videodaten definiert HTML5 die Elemente audio und video. Da jedoch kein Format definiert ist, welches als Mindeststandard unterstützt werden muss, gibt es momentan kein Format, das von allen Browsern unterstützt wird.

Zur Diskussion standen in der Vergangenheit unter anderem die Formate Ogg Vorbis und Theora (die, ohne Lizenzgebühren zahlen zu müssen, verwendet werden können und ursprünglich als Mindeststandard festgelegt waren), H.264 (das eine bessere Qualität bietet, aber nur gegen Gebührenzahlung eingesetzt werden kann) und WebM.

Quelle: Wikipedia (http://de.wikipedia.org/wiki/HTML5)

Archive

error: Content is protected !!