HTML5

HTML5
HTML5-Logo des W3C

HTML5[1] ist eine textbasierte Auszeichnungssprache zur Strukturierung und semantischen Auszeichnung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten. Sie soll die Nachfolge von HTML4 antreten. Die Sprache befindet sich zur Zeit noch in der Entwicklung, es liegen aber bereits recht ausgereifte Entwürfe zweier Entwicklerteams vor. Die Sprache ersetzt die Dokumentbeschreibungsstandards HTML 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 zuvor nicht direkt unterstützt wurden, so dass zusätzliche Plugins wie Adobe Flash eingesetzt werden mussten.[2]

Inhaltsverzeichnis

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 Web 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 CSS 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 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.[3] 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.[4]

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.[5][6] 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.[7] 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.[8] Daher verzichtet die WHATWG auf die Versionsangabe „5“ und spricht nur noch vom „HTML-Standard“.[9]

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.[10] 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.[11]

Verhältnis der Spezifikationen des W3C und der WHATWG

Der Verfasser (engl. editor) der Spezifikation ist Ian Hickson[12], Gründer der WHATWG und Angestellter von Google.[13] 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.[14] 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.

Datum Veröffentlichung (und Hinweise)
22. Januar 2008 Erster „Working Draft“ (Arbeitsentwurf).[15]
10. Juni 2008 Zweiter Arbeitsentwurf, in den der bis dahin separate Web-Forms-2.0-Entwurf eingearbeitet wurde.
12. Februar 2009 Dritter Arbeitsentwurf.
23. April 2009 Vierter Arbeitsentwurf.
25. August 2009 Fünfter Arbeitsentwurf.
4. März 2010 Sechster Arbeitsentwurf. HTML Canvas 2D[16] und HTML Microdata[17] als eigene Arbeitsentwürfe ausgelagert. Neues Dokument „HTML: The Markup Language“.[18]
25. Juni 2010 Siebter Arbeitsentwurf und Überarbeitung der verwandten Spezifikationen und Dokumente. Neu hinzugefügt wurden die unterstützenden Dokumente HTML5: Techniques for providing useful text alternatives[19] und Polyglot Markup: HTML-Compatible XHTML Documents.[20]
19. Oktober 2010 Achter Arbeitsentwurf.
18. November 2010 Erster Arbeitsentwurf von „HTML5 Web Messaging“.[21]
13. Januar 2011 Neunter Arbeitsentwurf.

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.[22]

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.[23] Die WHATWG hat den Status „Last Call“ bereits am 27. Oktober 2009 ausgerufen.[24] 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.[25]

Ziele von HTML5

Die ersten wichtigen Ziele für HTML5 wurden von Tim Berners-Lee in dessen Blogeintrag „Reinventing HTML“ (HTML neu erfinden) festgelegt:[26] 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 sollen erweitert werden und im Idealfall einen Schritt von der bestehenden Formularstruktur hin zu XForms bilden.

Im Zuge der Einrichtung der neuen HTML-Arbeitsgruppe[27] und als Teil der architektonischen Vision für HTML, XForms und XHTML 2.0[4] 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 Benutzereingabelemente wie Fortschrittsanzeigen, Menüs entwickeln und Schnittstellen für benutzerdefinierte WYSIWYG-Bearbeitungsfunktionen definieren.

Nach Gründung der Arbeitsgruppe wurden die HTML-Gestaltungsprinzipien[28] 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, aber Funktionen, 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.
  • Universalität – HTML soll auf allen Endgeräten und mit Inhalt in allen Weltsprachen verwendbar sein.
  • 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 Art 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 Konzept 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 JavaScript-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) 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.

Unterschiede zu bestehenden Standards

Die nachfolgende Übersicht der Neuerungen in HTML5 erhebt keinen Anspruch auf Vollständigkeit und unterliegt durch den Status der Spezifikationen bedingt Veränderungen.

Grundlegend lässt sich vorweg sagen, dass praktisch alle Elemente aus HTML 4.01 auch in HTML5 enthalten sind. HTML4 ist sogesehen eine Teilmenge von HTML5.

Unterschiede zu HTML 4.01

Die Dokumenttypangabe

Die Dokumenttypangabe in HTML5-Dokumenten besteht aus der Zeichenkette „<!DOCTYPE html>“,[29] wobei Groß- und Kleinschreibung keine Rolle spielen. Diese Zeichenkette bewirkt in allen modernen Browsern das Verarbeiten des Quelltextes im standardkonformen Modus.

Da ein Browser HTML-Dokumente nicht nach ihrer Version unterscheidet, wurde bewusst auf jede Art von Versionierung verzichtet. Auch hier zeigt sich, dass HTML5 sich als Obermenge von HTML 4.01 definiert.

Einbindung von SVG und MathML

HTML5 ermöglicht das einfache Einbinden von SVG und MathML in den HTML-Quelltext. Es bestehen nur zwei Einschränkungen:

  • Die Elemente dürfen keine Namensraumpräfixe enthalten.
  • Der Namensraumpräfix für XLink (bei Attributen) muss „xlink“ lauten.

Als Nebeneffekt sind alle benannten Entitäten aus SVG und MathML als Teil von HTML erlaubt.

Neue Elemente

HTML5 führt zahlreiche neue Elemente ein.

Strukturierende Elemente

Die Elemente section, nav, article, aside, hgroup, header und footer sollen eine bessere Strukturierung ermöglichen. Anders als div-Kästen, die bislang zur Strukturierung von HTML-Dokumenten verwendet wurden, wird durch das Element hier auch definiert, welche Art von Inhalt sich in dem Element befindet. Zum Beispiel bezeichnet section einen Abschnitt eines durchgängigen Textes, nav ein Menü, article einen Artikel oder footer einen Seitenfuß.

In einer Untersuchung des Suchmaschinenanbieters Google wurde festgestellt, dass die am häufigsten vergebenen Klassennamen in HTML-Dokumenten sich gut den jeweiligen neuen HTML-Elementen zuordnen lassen.[30]

Einige dieser Elemente (section, nav, article und aside) bringen auch eine Funktion in der Kombination mit den Überschriftenelementen h1 bis h6. Die Überschriftenhierarchie wird nicht mehr nur allein anhand der Überschriftenelemente bestimmt, sondern auch anhand derer Position innerhalb der neuen Elemente. Verwendet ein Dokument beispielsweise eine Überschrift erster Ordnung und nutzt es dann in einem Artikelelement ebenfalls eine Überschrift erster Ordnung, so ist diese der nicht-verschachtelten Überschrift untergeordnet. Das gilt selbst dann, wenn die nicht-verschachtelte Überschrift niedrigerer Ordnung ist.

Derartige neue Elemente werden von älteren Browsern (vor allem von Internet Explorer 6, aber auch von neueren Versionen des Internet Explorerers bis IE8 inklusive) nicht erkannt. Für diese Versionen wird JavaScript benötigt, damit der IE die neuen Elemente als solche erkennt und darstellt.

Das Gruppierungselement figure

Das figure-Element und das dazu passende Überschriftenelement figcaption wurden hinzugefügt, um die Auszeichnung zusätzlicher Inhalte, beispielsweise Abbildungen mit Bildunterschriften, zu vereinfachen.

Elemente zur Textauszeichnung

Auf Textauszeichnungsebene wurden die Elemente time, für Zeitangaben die dynamisch lokalisiert werden können; mark für hervorgehobene Textabschnitte; ruby, rp und rt für einfache Ruby-Annotierungen und das vormals proprietäre wbr-Element, das Textumbruchsmöglichkeiten in langen Wörtern bietet, hinzugefügt.

Multimedia-Elemente

HTML5 führt spezifische Elemente zur Einbindung von Audio- und Videodateien ein. Für diese können eine oder mehrere Quellen bzw. verschiedene Formate hinterlegt werden, aus denen ein Browser dann ein für ihn verständliches Format auswählt.

Für das Einbinden von Anwendungen oder interaktiven, nicht auf HTML basierenden Inhalten beschreibt HTML5 das vormals proprietäre embed-Element.

Des Weiteren wurde eine Zeichenoberfläche (Canvas-Element) hinzugefügt, auf der mit Hilfe von Skripten zweidimensionale Bilder gezeichnet werden können.

Formularelemente

Das input-Element wurde um verschiedene Typen erweitert, z. B. zur Eingabe von Suchbegriffen, Telefonnummern, URL- und E-Mail-Adressen, Datums- und Zeitangaben, Zahlen sowie Farbangaben.

Zum Entwurf wurden darüber hinaus folgende Elemente hinzugefügt: datalist, mit dem beispielsweise Vervollständigungsvorschläge angegeben werden; output, das Ergebnisse von Berechnungen darstellt; progress, das den Fortschritt einer Aktion abbildet; meter, das für messbare Wertebereiche (z. B. Speicherbelegung auf der Festplatte) gedacht ist und das vormals proprietäre keygen-Element, das zur Erstellung von Identifikations-Schlüsselpaaren dienen soll.

Interaktive Elemente

Die details- und summary-Elemente ähneln im Aufbau den figure und figcaption-Elementen. Der Inhalt des summary-Elements wird dabei ständig angezeigt, der restliche Inhalt des details-Elements kann ein- und ausgeblendet werden.

Für das Erstellen von Werkzeugleisten und (Kontext-)Menüs werden das menu-Element als strukturierende Basis und das command-Element als Interaktionspunkt definiert.

Elemente mit geänderter Bedeutung

Einigen, vormals nur der Darstellung dienenden Elementen (z. B. b, i, hr oder small), wurde eine semantische Bedeutung gegeben. Die jeweiligen Definitionen sind dabei relativ weit gefasst, wodurch sichergestellt werden soll, dass die neue Bedeutung nicht der Benutzung in existierenden Webseiten widerspricht.

Im Gegensatz dazu werden aber einige Elemente - z.B. cite umdefiniert. Dadurch ist unter anderem das direkte Portieren von älteren Standards nur noch bedingt möglich.[31][32]

Aus dem Vokabular von HTML5 entfallen auch einige Elemente, z. B. acronym, center, font, frame, etc. Es ist jedoch weiterhin definiert, wie ein Browser mit diesen Elementen umzugehen hat. Dadurch wird die Kompatibilität zu bestehenden Webseiten sichergestellt.

Elemente und Attribute in HTML und XHTML

Das noscript-Element ist in XHTML5 nicht mehr erlaubt, da das Elementmodell nicht mit den XML-Verarbeitungsregeln vereinbar ist.[33]

In HTML5 ist das xml:base-Attribut nicht erlaubt, da es dort keine Wirkung hat.

Unterschiede zu DOM HTML Level 2

HTML5 definiert einige DOM-Schnittstellen, die der Erstellung von Webanwendungen dienen sollen, dazu gehören unter anderem Schnittstellen für:

  • die Kontrolle von Multimediaelementen,
  • die Manipulation der History (feingradigere Vor- und Zurücknavigation),
  • Drag & Drop,
  • bearbeitbare Inhalte,
  • Offlineanwendungen,
  • das Speichern von Anwendungsdaten (üblicherweise 5 MB pro Domain).

Einige vormals proprietäre oder nur in Funktionssammlungen enthaltene Eigenschaften und Methoden wie innerHTML und getElementsByClassName() wurden der Spezifikation hinzugefügt.

Des Weiteren ist das Verhalten der Elemente in HTML dem Verhalten der Elemente in XHTML angepasst worden, d. h.:

Kritik an HTML5

Bei HTML5 handelt es sich um ein sehr großes und weit gefä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 bzgl. bereits vorhandener Elemente weiterentwickelt werden müsse. Selbst sehr schlecht geschriebener Code 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.[36]

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.[37]

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,[38] ob der Zweck (eine funktionale Spezifikation) die Mittel (konsequente, nicht demokratische 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.[39]

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. D. h. 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.

Aufgrund dieser Situation werden die Audio- bzw. Videoelemente von Kritikern als „schlechter Scherz“ bezeichnet.[40]

Literatur

  • Peter Kröner: HTML5 – Webseiten innovativ und zukunftssicher, 2. erw. Auflage, Open Source Press, Februar 2011, ISBN 978-3-941841-34-5.
  • Mark Pilgrim: Durchstarten mit HTML5. O’Reilly Verlag. 2010, ISBN 978-3-89721-571-9.

Quellen

Weblinks

 Commons: HTML5 – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Henri Sivonen: Spelling HTML5. In: The WHATWG Blog. 10. September 2009, abgerufen am 20. Oktober 2009 (englisch): „What’s the right way to spell “HTML5”? The short answer is: “HTML5” (without a space).“
  2. Anne van Kesteren: HTML 5 differences from HTML 4, Introduction. In: HTML 5 differences from HTML 4. 25. August 2009, abgerufen am 9. Dezember 2010 (englisch): „HTML 5 will replace these documents. [DOM2HTML] [HTML4] [XHTML1]“
  3. Tim Berners-Lees Blogeintrag „Reinvent HTML“ auf dig.csail.mit.edu
  4. a b Architectural vision for HTML/XHTML2/Forms Chartering auf w3.org
  5. Abstimmungsergebnis zur Frage, ob die WHATWG-Entwürfe Web Applications 1.0 und Web Forms 2.0 als Startpunkt der Arbeitsgruppe dienen sollen. auf w3.org
  6. Wie HTML5 aus der WHATWG entstanden ist und die Konkurrenz zu XHTML auf diveintohtml5.org
  7. XHTML 2 Working Group Expected to Stop Work End of 2009 auf w3.org
  8. What does „Living Standard“ mean?, WHATWG-FAQ
  9. HTML is the new HTML5, WHATWG-Blogeintrag vom 19. Januar 2011
  10. W3C Technical Report Development Process
  11. W3C Confirms May 2011 for HTML5 Last Call, Targets 2014 for HTML5 Standard, W3C-Pressemitteilung vom 14. Februar 2011
  12. How does the WHATWG work?, WHATWG-FAQ
  13. Ian Hickson's Resumé
  14. What are the various versions of the spec?, WHATWG-FAQ
  15. Pressemitteilung zur Veröffentlichung des ersten HTML5-Arbeitsentwurfs auf w3.org
  16. HTML Canvas 2D Context auf w3.org
  17. HTML Microdata auf w3.org
  18. HTML: The Markup Language auf w3.org
  19. HTML5: Techniques for providing useful text alternatives auf w3.org
  20. Polyglot Markup: HTML-Compatible XHTML Documents auf w3.org
  21. HTML5 Web Messaging auf w3.org
  22. WHATWG-Antwort auf die Frage, wann HTML5-Features verwendet werden dürfen auf wiki.whatwg.org
  23. http://www.w3.org/2011/02/htmlwg-pr.html.en
  24. http://blog.whatwg.org/html5-at-last-call
  25. https://www.w3.org/html/wiki/FAQs#When_can_I_use_HTML5.3F
  26. Blogeintrag von Tim Berners-Lee (abgerufen am 9. Dezember 2010)
  27. Zielsetzung im Gründungsdokument der HTML-Arbeitsgruppe auf w3.org
  28. HTML-Gestaltungsprinzipien auf w3.org
  29. w3schools.com: HTML 5 doctype Tag, abgerufen am 19. November 2010
  30. Google Code: Web Authoring Statistics: Classes auf code.google.com
  31. Steve Webster: HTML5's element: what is it good for? 12. Dezember 2009, abgerufen am 13. August 2011 (englisch).
  32. Jeremy Keith: Incite A Riot. 11. Dezember 2009, abgerufen am 13. August 2011 (englisch).
  33. No-Scriptelement in der Spezifikation auf w3.org
  34. http://www.w3.org/TR/html5-diff/#changes-2008-06-10
  35. http://dev.w3.org/html5/spec/Overview.html#xml
  36. How not to fix HTML von Joe Clark
  37. W3C, you ignorant slut! von Shane McCarron
  38. Behold Leviathan, Confused von Kyle Weems
  39. HTML5: Ein soziales Desaster? von Mathias Schäfer
  40. HTML 5 Video Element Is A Bad Joke von Brooks Andrus (englisch)

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • HTML5 — (HyperText Markup Language) Расширение …   Википедия

  • HTML5 — (Hypertext Markup Language) Desarrollador W3C HTML WG, WHATWG …   Wikipedia Español

  • HTML5 — Extension HTML5: .html, .htm XHTML5: .xhtml, .xht, .xml Type MIME HTML5: text/html XHTML5: application/xhtml+xml, application/xml Dévelo …   Wikipédia en Français

  • HTML5 для мобильных устройств — HTML5 улучшает поддержку мобильных устройств в веб приложениях. Новые возможности HTML 5 стандартизируют использование компонентов и технологий, общих для различных устройств. В прежних стандартах Mobile Web от WML, XHTML MP и HTML4 часть этих… …   Википедия

  • HTML5 et les portables — HTML5 présente quelques particularités pour son utilisation dans les téléphones mobiles, les tablettes tactiles, et autres dispositifs nomades. Sommaire 1 Caractéristiques principales 1.1 Mémoire locale 1.2 Dessin …   Wikipédia en Français

  • HTML5 video — HTML HTML and HTML5 Dynamic HTML XHTML XHTML Mobile Profile and C HTML Canvas element Character encodings Document Object Model Font family HTML editor HTML element HTML Frames HTML5 video …   Wikipedia

  • HTML5 video —     HTML HTML и HTML5 Динамический HTML …   Википедия

  • HTML5 Video — VP An element of HTML5 that allows for video playback within websites …   Audio and video glossary

  • HTML5 — VP A tag of Hypertext Markup Language that adds support for embedding video in an HTML page. This is an alternative to Adobe Flash …   Audio and video glossary

  • Comparison of HTML5 and Flash — HTML5 can sometimes be used as an alternative to Adobe Flash.[1] Both include features for playing audio and video within web pages, and using integrated SVG, vector graphics are possible with both. A common misconception is that HTML5 can… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”