HTML5

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
HTML5-Logo des W3C

HTML5[1] ist die fünfte Revision der Hypertext Markup Language (engl. für Hypertext-Auszeichnungssprache), einer textbasierten Auszeichnungssprache zur Strukturierung und semantischen Auszeichnung von Inhalten wie Texten, Bildern und Hyperlinks in elektronischen Dokumenten. Sie soll die Kernsprache („core language“) des Internets werden und darin die Nachfolge von HTML 4 antreten.[2] 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 von HTML4 nicht direkt unterstützt werden und sich ohne HTML5 nur mit zusätzlichen Plugins – wie zum Beispiel Adobe Flash – umsetzen lassen.[3]

HTML5 ist derzeit noch in der Entwicklung, es liegen aber bereits recht ausgereifte Entwürfe von zwei Entwicklerteams vor. Die HTML-Arbeitsgruppe des World Wide Web Consortiums (W3C) hat am 16. September 2014 einen aktuellen Vorschlag für die kommende HTML5-Empfehlung (Proposed Recommendation) vorgelegt.[2]

Inhaltsverzeichnis

Entstehung[Bearbeiten]

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, das 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, das 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 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.[4] 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.[5]

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.[6][7] Seitdem arbeiten 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.[8] 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[Bearbeiten]

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

Ziel der HTML-Arbeitsgruppe des W3C ist es dagegen, 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.[11] Die Vorstufe davon, eine Proposed Recommendation wurde im September 2014 veröffentlicht und soll bis Ende 2014 als Empfehlung veröffentlicht werden.[12]

Verhältnis der Spezifikationen des W3C und der WHATWG[Bearbeiten]

Verhältnis von Webtechnologie-Spezifikationen im Umfeld von HTML5

Der Verfasser (engl. editor) der Spezifikation ist Ian Hickson,[13] Gründer der WHATWG und Angestellter von Google.[14] 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 aufgeteilt werden.[15] 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-Elementes sowie dokumentübergreifende Nachrichten (HTML5 Web Messaging).

W3C-Veröffentlichungen[Bearbeiten]

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 1. „Working Draft“ (Arbeitsentwurf)[16]
10. Juni 2008 2. Arbeitsentwurf, in den der bis dahin separate Web-Forms-2.0-Entwurf eingearbeitet wurde.
12. Februar 2009 3. Arbeitsentwurf
23. April 2009 4. Arbeitsentwurf
25. August 2009 5. Arbeitsentwurf
4. März 2010 6. Arbeitsentwurf. HTML Canvas 2D[17] und HTML Microdata[18] als eigene Arbeitsentwürfe ausgelagert. Neues Dokument „HTML: The Markup Language“.[19]
25. Juni 2010 7. Arbeitsentwurf und Überarbeitung der verwandten Spezifikationen und Dokumente. Neu hinzugefügt wurden die unterstützenden Dokumente HTML5: Techniques for providing useful text alternatives[20] und Polyglot Markup: HTML-Compatible XHTML Documents.[21]
19. Oktober 2010 8. Arbeitsentwurf
18. November 2010 1. Arbeitsentwurf von „HTML5 Web Messaging“.[22]
13. Januar 2011 9. Arbeitsentwurf
5. April 2011 10. Arbeitsentwurf
25. Mai 2011 11. Arbeitsentwurf
29. März 2012 12. Arbeitsentwurf
25. Oktober 2012 13. Arbeitsentwurf
17. Dezember 2012 Candidate Recommendation (Empfehlungs-Kandidat)
6. August 2013 Candidate Recommendation (Empfehlungs-Kandidat)
4. Februar 2014 Candidate Recommendation (Empfehlungs-Kandidat)
29. April 2014 Candidate Recommendation (Empfehlungs-Kandidat)
17. Juni 2014 Letzter Arbeitsentwurf
31. Juli 2014 Candidate Recommendation (Empfehlungs-Kandidat)
16. September 2014 Proposed Recommendation (Empfehlungs-Vorschlag).[2]

Fortschritt in der Entwicklung[Bearbeiten]

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

Laut dem Zeitplan des W3C soll HTML5 2014 offiziell verabschiedet, d. h. zu einer W3C-Empfehlung werden. Im Mai 2011 erhielt HTML5 beim W3C den Status „Last Call“, der als letzte Aufforderung dienen soll, Kommentare zum HTML5-Entwurf einzureichen.[24] Die WHATWG hat den Status „Last Call“ bereits am 27. Oktober 2009 ausgerufen.[25] Am 16. September 2014 hat die W3C einen Vorschlag für die künftige HTML5-Empfehlung veröffentlicht.[2]

HTML5 ist bereits in einem fast fertigen Zustand, vergleichbar mit einem Release Candidate. 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.[26]

Ziele[Bearbeiten]

Die ersten wichtigen Ziele für HTML5 wurden von Tim Berners-Lee in dessen Blogeintrag „Reinventing HTML“ (HTML neu erfinden) festgelegt:[27] 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[28] und als Teil der architektonischen Vision für HTML, XForms und XHTML 2.0[5] 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[29] 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.
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[Bearbeiten]

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[Bearbeiten]

„HTML5“ ist die Hauptspezifikation, in der die wichtigsten Grundlagen von HTML5 enthalten sind.

Das Vokabular[Bearbeiten]

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[Bearbeiten]

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 derzeit 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[Bearbeiten]

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 vorherigen 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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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ängige Dokumente (z. B. getrennt durch zwei verschiedene Browserfenster) ermöglichen will.

HTML+RDFa – Ein Mechanismus zum Einbetten von RDF in HTML[Bearbeiten]

Das Dokument adaptiert die Einbettung von RDF in XHTML für Dokumente, wie sie in HTML5 definiert sind.

Unterstützende Dokumente[Bearbeiten]

HTML: Die Auszeichnungssprache[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Die Dokumenttypangabe[Bearbeiten]

Die Dokumenttypangabe in HTML5-Dokumenten besteht aus der Zeichenkette „<!DOCTYPE html>“,[30] 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[Bearbeiten]

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[Bearbeiten]

HTML5 führt zahlreiche neue Elemente ein, die nachfolgend vorgestellt werden.

Strukturierende Elemente[Bearbeiten]

Die Elemente section, nav, article, aside, 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.[31]

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 Explorers 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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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.

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

Formularelemente[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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.[32][33]

Aus dem Vokabular von HTML5 entfallen auch einige Elemente (z. B. acronym, center, font, frame etc.). Es wird 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[Bearbeiten]

Das noscript-Element ist zwar in HTML5, jedoch nicht in XHTML5 erlaubt, da das Elementmodell nicht mit den XML-Verarbeitungsregeln vereinbar ist.[34]

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

Unterschiede zu DOM HTML Level 2[Bearbeiten]

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 (feinergradige 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[Bearbeiten]

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[Bearbeiten]

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

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

Kritik am Entstehungsprozess von HTML5[Bearbeiten]

Alleiniges Schreibrecht von Ian Hickson[Bearbeiten]

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,[39] ob der Zweck (eine funktionale Spezifikation) die Mittel (konsequente, nichtdemokratische Entstehung jener Spezifikation) rechtfertigt.

Fehlende Ernsthaftigkeit für interne Vorschläge[Bearbeiten]

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

Kritik an der WHATWG[Bearbeiten]

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[Bearbeiten]

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.

Digitale Rechteverwaltung[Bearbeiten]

Die Unternehmen Google, Microsoft und Netflix haben an das W3C den Wunsch gerichtet, dass über eine sogenannte Encrypted Media Extension (EME) verschlüsselte Medieninhalte über HTML5 ausgegeben werden können sollen. Kritiker befürchten, dass durch diese Erweiterung Digital Rights Management (DRM) in Browser integriert werden müsste.[41] Die großen Browser bis auf Mozilla Firefox unterstützen EME. Firefox hat Unterstützung für EME angekündigt, allerdings ist sie bisher noch nicht in veröffentlichten Browserversionen enthalten.[42][43][44] Chrome unterstützt EME seit Version 26,[45] Internet Explorer seit Version 11.[46]

Literatur[Bearbeiten]

  • Clemens Gull, Stefan Münz: HTML5 Handbuch. 2., akt. und erw. Auflage, Franzis Verlag, Haar bei München 2011, ISBN 978-3-645-60151-1.
  • Peter Kröner: HTML5 – Webseiten innovativ und zukunftssicher. 2. erw. Auflage, Open Source Press, München 2011, ISBN 978-3-941841-34-5.
  • Mark Pilgrim: Durchstarten mit HTML5. O’Reilly Verlag, 2010, ISBN 978-3-89721-571-9.

Weblinks[Bearbeiten]

 Commons: HTML5 – Sammlung von Bildern, Videos und Audiodateien

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Henri Sivonen: Spelling HTML5. In: The WHATWG Blog. 10. September 2009, abgerufen am 1. Oktober 2015 (englisch): „What’s the right way to spell “HTML5”? The short answer is: “HTML5” (without a space).“
  2. a b c d Call for Review: HTML5 Proposed Recommendation Published. W3C, 16. September 2014, abgerufen am 25. September 2014 (englisch).
  3. HTML 5 differences from HTML 4. In: www.w3.org. Simon Pieters, 18. September 2014, abgerufen am 1. Oktober 2014 (englisch): „HTML 5 replaces these documents. [DOM2HTML] [HTML4] [XHTML1]“
  4. Tim Berners-Lees Blogeintrag „Reinvent HTML“ auf dig.csail.mit.edu
  5. a b Architectural vision for HTML/XHTML2/Forms Chartering auf w3.org
  6. 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
  7. Wie HTML5 aus der WHATWG entstanden ist und die Konkurrenz zu XHTML auf diveintohtml5.org
  8. XHTML 2 Working Group Expected to Stop Work End of 2009 auf w3.org
  9. What does „Living Standard“ mean?, WHATWG-FAQ
  10. HTML is the new HTML5, WHATWG-Blogeintrag vom 19. Januar 2011
  11. W3C Technical Report Development Process
  12. W3C Confirms May 2011 for HTML5 Last Call, Targets 2014 for HTML5 Standard, W3C-Pressemitteilung vom 14. Februar 2011
  13. How does the WHATWG work?, WHATWG-FAQ
  14. Ian Hickson’s Resumé
  15. What are the various versions of the spec?, WHATWG-FAQ
  16. Pressemitteilung zur Veröffentlichung des ersten HTML5-Arbeitsentwurfs auf w3.org
  17. HTML Canvas 2D Context auf w3.org
  18. HTML Microdata auf w3.org
  19. HTML: The Markup Language auf w3.org
  20. HTML5: Techniques for providing useful text alternatives auf w3.org
  21. Polyglot Markup: HTML-Compatible XHTML Documents auf w3.org
  22. HTML5 Web Messaging auf w3.org
  23. WHATWG-Antwort auf die Frage, wann HTML5-Features verwendet werden dürfen auf wiki.whatwg.org
  24. http://www.w3.org/2011/02/htmlwg-pr.html.en
  25. http://blog.whatwg.org/html5-at-last-call
  26. When can I use HTML5? auf w3.org
  27. Blogeintrag von Tim Berners-Lee (abgerufen am 9. Dezember 2010)
  28. Zielsetzung im Gründungsdokument der HTML-Arbeitsgruppe auf w3.org
  29. HTML-Gestaltungsprinzipien auf w3.org
  30. w3.org: The Doctype, abgerufen am 11. Juni 2013
  31. Google Code: Web Authoring Statistics: Classes auf code.google.com
  32. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatSteve Webster: HTML5’s <cite> element: what is it good for? 12. Dezember 2009, abgerufen am 13. August 2011 (englisch).
  33. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatJeremy Keith: Incite A Riot. 11. Dezember 2009, abgerufen am 13. August 2011 (englisch).
  34. No-Scriptelement in der Spezifikation auf w3.org
  35. http://www.w3.org/TR/html5-diff/#changes-2008-06-10
  36. http://dev.w3.org/html5/spec/Overview.html#xml
  37. How not to fix HTML von Joe Clark
  38. W3C, you ignorant slut! von Shane McCarron
  39. Behold Leviathan, Confused von Kyle Weems
  40. HTML5: Ein soziales Desaster? von Mathias Schäfer
  41. Eva Huber: DRM in HTML5: Protestpetition gegen Kopierschutz im Browser. In: spiegel.de. Spiegel Online, 5. April 2013, abgerufen am 5. April 2013.
  42. Firefox Bugzilla: [EME][META] Implement Encrypted Media Extensions
  43. Mozilla Blog: DRM and the Challenge of Serving Users 14. Mai 2014
  44. Reconciling Mozilla’s Mission and W3C EME 14. Mai 2014
  45. Chrome 26 Beta: Template Element & Unprefixed CSS Transitions 26. Februar 2013
  46. Supporting Encrypted Media Extensions with Microsoft PlayReady DRM in web browsers