HTML5

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von HTML 5)
Wechseln zu: Navigation, Suche
Anleitung: Neutraler Standpunkt Die Neutralität dieses Artikels oder Abschnitts ist umstritten. Eine Begründung steht auf der Diskussionsseite im Abschnitt „NPOV – keine Negativkritik“. Weitere Informationen erhältst du hier.

Die Hauptautoren wurden noch nicht informiert. Bitte benachrichtige sie.

HTML5[1] ist der Entwurf einer Spezifikation, die sich selbst als Obermenge der bestehenden Standards HTML 4.01, XHTML 1.0 und DOM HTML Level 2 definiert. Nach Fertigstellung soll HTML5 diese Standards ersetzen.[2]

Inhaltsverzeichnis

[Bearbeiten] Entstehung

Der erste Vorschlag für HTML5 wurde Mitte 2004 von der WHATWG unter dem Namen Web Applications 1.0 veröffentlicht.

Ende 2006 kündigte Tim Berners-Lee eine neue Arbeitsgruppe mit dem Ziel der Weiterentwicklung von HTML an.[3] Damit schuf sich das W3C Konkurrenz im eigenen Haus, da dieses ebenfalls für die Entwicklung von XHTML 2.0 verantwortlich war, einem rein XML-basierten Format zur Webseitenauszeichnung.

Um diese Konkurrenz aufzulockern 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]

In einer Abstimmung im Mai 2007 haben die Mitglieder der HTML-Arbeitsgruppe entschieden, dass der Web-Applications-1.0-Entwurf der WHATWG als Startpunkt zur Diskussion und Weiterentwicklung von HTML verwendet wird.[5][6]

Mitte 2009 gab das W3C bekannt, dass die Entwicklung von XHTML 2.0 mit Ende desselben Jahres nicht mehr weitergeführt werde.[7]

[Bearbeiten] Veröffentlichungen

Im folgenden die Veröffentlichungen der HTML5-Entwürfe durch das W3C. Bis heute ist die jeweils aktuelle Fassung des Entwurfs – erweitert um WHATWG-spezifische Elemente – auf der Webseite der WHATWG verfügbar.

Datum Veröffentlichung (und Hinweise)
22. Januar 2008 Erster „Working Draft“ (Arbeitsentwurf).[8]
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[9] und HTML Microdata[10] als eigene Arbeitsentwürfe ausgelagert. Neues Dokument „HTML: The Markup Language“.[11]
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[12] und Polyglot Markup: HTML-Compatible XHTML Documents[13].

[Bearbeiten] Fortschritt in der Entwicklung

Die Spezifikation selbst weist darauf hin, dass bestimmte Abschnitte ausgereifter sind als andere. Von den reiferen Neuentwicklungen sind einige bereits in aktuellen Browserversionen enthalten und dürfen ausdrücklich verwendet werden.[14]

[Bearbeiten] Ziele von HTML5

Die ersten wichtigen Ziele für HTML5 wurden von Tim Berners-Lee in dessen Blogeintrag „Reinventing HTML“ (HTML neuerfinden) festgelegt:

Im Zuge der Einrichtung der neuen HTML-Arbeitsgruppe[15] und als Teil der architektonischen Vision für HTML, XForms und XHTML 2.0[4] wurden diese Ziele detaillierter festgelegt und um weitere Punkte erweitert:

Zusätzlich wurden folgende Punkte als zum Aufgabenbereich der Arbeitsgruppe festgelegt:

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

[Bearbeiten] Aufbau

HTML5 besteht insgesamt aus mehreren Spezifikationen und Dokumenten, deren Inhalt im folgenden Abschnitt erläutert wird.

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

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

[Bearbeiten] Der HTML-Parser

Erstmals seit der Entstehung von HTML wird die Sprache nicht mehr als Dialekt von SGML, sondern als eigene Sprache, die von SGML inspiriert wurde, 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.

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

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.

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

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

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

Diese Spezifikation versucht, die Einbettung von RDF in XHTML für HTML-Dokumente, wie sie in HTML5 definiert sind, zu adaptieren.

[Bearbeiten] HTML Microdata

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

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

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

[Bearbeiten] HTML5, Unterscheidung zu 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.

[Bearbeiten] Unterschiede zu HTML 4.01

Einige der bisher zu erwartenden Unterschiede sind:

[Bearbeiten] Strukturierende Elemente

article
Das article-Element umfasst einen unabhängigen Abschnitt, der jedoch im Kontext zu den Vorfahren-Elementen steht. Damit sind unter anderem Nachrichtenartikel, Blog- oder Foreneinträge gemeint.
aside
Bezeichnet Inhalt, der thematisch zum umschließenden Inhalt passt, aber nicht direkt dazugehört. Ein politischer Nachrichtentext könnte in einem aside-Element Querverweise zu ähnlichen Nachrichten beinhalten.
figure
Das figure-Element erlaubt es, ein bestimmtes Medium (z. B. Bilder, Videos etc.) mit einer Bildunterschrift zu versehen.
footer
Das footer-Element definiert eine Fußzeile für den aktuellen Abschnitt (z. B. in einem article-Element) und gibt z. B. Auskunft über den Autor oder die Erstellungszeit des Textes.
header
Das header-Element definiert den Kopfbereich für den aktuellen Abschnitt (z. B. in einem section-Element). Neben einer Überschrift kann es auch weitere Informationen (z. B. Versionsdaten) enthalten.
nav
Dieses Element umschließt einen Navigationsbereich. Damit sind nicht nur Verweise zu anderen Seiten eines Webauftritts gemeint, sondern auch Verweise, die auf Abschnitte innerhalb eines Dokuments zeigen (wie in der Wikipedia).
section
Ein section-Element gruppiert thematisch zusammenhängenden Inhalt und besitzt meist einen Kopf- und Fußbereich. Anhand einer typischen Webseite wären Beispiele für ein section-Element ein Vorstellungs-, ein Nachrichten- und ein Kontaktbereich.

[Bearbeiten] Elemente zur Datendarstellung

audio, video
Audio- und Videodateien sollen zukünftig mit diesen Elementen eingebunden werden. HTML5 stellt zu diesen Elementen einige Schnittstellen bereit, beispielsweise um die Wiedergabe steuern zu können.
embed
Mit dem embed-Element sollen Anwendungen und interaktive Inhalte eingefügt werden. Das Element ist die Standardisierung eines bisher proprietären Elements.
mark
Das mark-Element stellt hervorgehobenen Text dar. Dies ist nicht zu verwechseln mit betonten Texten. Stattdessen geht es hier etwa um Text, der von einer Suchmaschine gefunden wurde und sichtbar markiert wird, sodass er schnell von Benutzern und deren Darstellungsprogrammen gefunden werden kann.
meter
Das meter-Element stellt einen Anteil seinem Maximum gegenüber. Verwenden kann man dieses Element beispielsweise um anzuzeigen, wie gut ein Suchergebnis im Vergleich zum Suchwort ist, wie gut ein Produkt im Vergleich zur besten Bewertung abschneidet etc.
source
Mit diesem Element können für ein Medienelement verschiedene Quellen angegeben werden, aus denen das Darstellungsprogramm die passende aussucht.
time
Das time-Element wird verwendet, um Zeitangaben auszuzeichnen und Zeitangaben mit Metadaten auszustatten, sodass ein Browser damit z. B. einen interaktiven Kalender erzeugen kann.

[Bearbeiten] Anwendungselemente

canvas
Das canvas-Element erzeugt eine Zeichenoberfläche, auf der mit Hilfe von DOM-Methoden gezeichnet werden kann. Die Spezifikation sieht nur eine zweidimensionale Zeichenoberfläche vor, geht aber davon aus, dass in Zukunft auch dreidimensionale Kontexte eingeführt werden könnten.
progress
Das progress-Element gibt den Fortschritt einer bestimmten Aufgabe wieder. Das Element wird ebenfalls mit dem DOM gesteuert. Anwendungsbeispiel wäre z. B. der Fortschritt bei einer mehrseitigen Umfrage.

[Bearbeiten] Formulare

Auch für Formulare wurden einige Neuerungen definiert. Ursprünglich wurden sie in einer getrennten Spezifikation entwickelt, die Web Forms 2.0 hieß. Seit der Aufnahme in HTML5 wurde die getrennte Weiterentwicklung von Web Forms 2.0 eingestellt.[17] Diese Spezifikation ist bereits sehr ausgereift und bringt z. B. diese neuen Features:

[Bearbeiten] Umdefinierte Elemente

Einige Elemente wurden umdefiniert, um ihrer Anwendung zu entsprechen.

i
Früher erzeugte das Element kursiven Text. Jetzt sollen damit Texte gekennzeichnet werden, die üblicherweise kursiv geschrieben werden, z. B. Text in einer anderen Stimm- oder Stimmungslage, Gedanken, usw.
b
Früher formatierte das Element Text fett. Nun soll damit Text gekennzeichnet werden, der zwar stilistisch hervorgehoben werden soll, jedoch keine wichtigere Bedeutung hat als der Rest des Textes, z. B. Schlüsselwörter, Produktnamen etc.
em
Dieses Element zeichnet weiterhin Text aus, der betont werden soll. Die Betonung verstärkt sich jetzt jedoch, wenn dieses Element ineinander verschachtelt wird.
hr
Diente zunächst der Erzeugung einer Trennlinie. Nun symbolisiert diese Trennlinie einen thematischen Umbruch zwischen Absätzen.
small
Früher wurde damit Text kleiner als normal formatiert. Jetzt soll Kleingedrucktes damit ausgezeichnet werden, z. B. Urheberrechtshinweise, Nachteile durch Sternchenreferenzierung, Rechtseinschränkungen.
strong
Früher bedeutete diese Auszeichnung starke Betonung. Diese wird nun von verschachtelten em-Elementen übernommen. Das strong-Element zeichnet jetzt große Wichtigkeit aus.

[Bearbeiten] Wieder erlaubte Elemente

Das Attribut start des ol-Elements und das Attribut value des li-Element sind nun wieder Teil der Kernsprache.

[Bearbeiten] Neue DOM-Methoden

Neben den Methoden zur Steuerung von audio- und video-Elementen wurde auch eine Methode namens getElementsByClassName hinzugefügt. Diese Methode stellt alle Elemente einer bestimmten Klasse innerhalb eines Dokumentes zusammen (mehrere Klassenangaben gleichzeitig sind möglich). Diese Funktionalität ist auch jetzt schon durch JavaScript umsetzbar, doch eine im Browser implementierte Version würde die Aufgabe schneller und effizienter erledigen.

[Bearbeiten] Entfernte Elemente und Attribute

Folgende Elemente wurden entfernt:

acronym
Stattdessen soll nur noch das abbr-Element für Abkürzungen verwendet werden, da es allgemeiner ist und das acronym-Element alleine ebenso wenig die vielseitigen Varianten (Aussprache) von Akronymen wiedergeben kann.
big
tt

Auch einige Attribute wurden entfernt. Stark kritisiert wurde in dieser Hinsicht das Fehlen der Attribute summary des header-Elements und axis, welche Tabellen zugänglicher machen sollen. Da die Spezifikation jedoch noch ein Entwurf ist, ist unklar, ob diese Attribute noch hinzugefügt werden.

In XHTML2 (Mime-Type application/xhtml+xml ) ist das noscript-Element nicht mehr erlaubt, da das Elementmodell nicht mit den XML-Verarbeitungsregeln vereinbar ist. In HTML5 (Mime-Type text/html) ist noscript weiterhin erlaubt.[18]

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

[Bearbeiten] 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 28. Januar 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 (HTML5 bzw. Web Applications 1.0 und Web Forms 2.0) als Startpunkt der Arbeitsgruppe dienen soll. 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. Pressemitteilung zur Veröffentlichung des ersten HTML5-Arbeitsentwurfs auf w3.org
  9. HTML Canvas 2D Context auf w3.org
  10. HTML Microdata auf w3.org
  11. HTML: The Markup Language auf w3.org
  12. HTML5: Techniques for providing useful text alternatives auf w3.org
  13. Polyglot Markup: HTML-Compatible XHTML Documents auf w3.org
  14. WHATWG-Antwort auf die Frage, wann HTML5-Features verwendet werden dürfen auf wiki.whatwg.org
  15. Zielsetzung im Gründungsdokument der HTML-Arbeitsgruppe auf w3.org
  16. HTML-Gestaltungsprinzipien auf w3.org
  17. whatwg.org
  18. No-Scriptelement in der Spezifikation auf w3.org
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen