Was verbirgt sich hinter HTML5, wo liegen die Unterschiede zu HTML4 / XHTML, es gibt einige neue Features, es werden aber auch alte Zöpfe endgültig abgeschnitten. Der Übersicht halber eine Aufsplittung in inhaltliche Teilbereiche:
- neue semantische / strukturelle Elemente
- neue Formularelemente
- Multimediaelemente Video & Audio
- vollständige CSS3 Unterstützung
- 2D/3D Graphiken
- Local Storage
- Local SQL Database
- Web Anwendungen (Web Applications)
Neue semantische / strukturelle Elemente
Tag | Beschreibung |
---|---|
<article> | kompletter Artikel |
<aside> | Zusatzinfos zum Seiteninhalt / Artikel |
<bdi> | trennt anders ausgerichteten Text von der Standardausrichtung des Seiteninhalts |
<command> | Befehlsschaltfläche (wird nur vom IE unterstützt) |
<details> | ein/ausblendbare Details |
<summary> | sichtbare Überschrift für <details> |
<figure> | Gruppierungselement: Bereich mit in sich geschlossenen Inhalt wie z.B. Bilder oder Code |
<figcaption> | Überschriftenelement: Beschriftung für das <figure> Element |
<footer> | Seitenfuß für die komplette Seite (Dokument) oder auch für einen Artikelbereich (<article>) |
<header> | Kopf für die komplette Seite (Dokument) oder auch für einen Artikelbereich (<article>) |
<hgroup> | Überschriftengruppierung innerhalb eines Dokumentes |
<mark> | markierter Text |
<nav> | Bereich mit der Navigation oder auch nur (Navigations-Links) |
<progress> | Bereich mit Fortschrittsanzeige (wird bei den Formularelementen erläutert da es eher dort zur Anwendung kommt) |
<ruby> | Textauszeichnungselement: Bereich mit Text und Sprachzusatzinformationen (hauptsächlich für Ostasiatische Typografie) |
<rt> | Bereich mit Sprachzusatzinformationen für <ruby> |
<rp> | Alternativer Bereich für Browser die kein Ruby unterstützen |
<section> | Bereich in einem Artikel, mit mindestens einer Überschrift |
<time> | Datums / Zeitangabe |
<wbr> | möglicher Zeilenumbruch |
<main> (html5.1) | zum Kapseln des Hauptteils der Seite 3 z.B. mehrere Artikel <article> Damit wird es gerade den Suchmaschinen ermöglicht Navigationselemente, Werbung und andere nicht inhaltlich relevante Informationen auszuschließen. |
Für alte Browser sollte auf jeden Fall die folgende Passage ins Stylesheet aufgenommen werden, damit werden die neuen Elemente als Block-Level Elemente behandelt.
Artikel Verwendung (article Beispiel):
Des weiteren bekommt der Doctype Tag unter HTML5 eine neues Attribut "manifest" in dem die URL zur Manifest-Datei für den offline Modus-Modus übergeben werden kann.
Neue Formularelemente
Tag | Beschreibung | |
---|---|---|
<datalist> | Erweiterung des <input> Elements um Optionen, wie beim <select> Element also quasi eine Combobox | |
|
||
<keygen> | kryptografischer Schlüsselgenerator | |
|
|
|
<meter> | Fortschrittsbalken | |
Die Validatoren meckern wenn das meter-Tag als Self-Closing-Tag im Code steht aber nur so wird es im Firefox angezeigt!
|
||
<output> | Ergebnisfeld für eine Berechnung | |
|
||
<input type="color"> | Farbauswahl | |
|
||
<input type="date"> | Datumseingabe | |
|
||
<input type="datetime" /> | Datum und Zeit Eingabe (mit Zeitzone) | |
|
||
<input type="datetime-local" /> | Datum und Zeit Eingabe lokale Zeit (ohne Zeitzone) | |
|
||
<input type="email" /> | E-Mail Eingabefeld, inklusive Überprüfung | |
|
||
<input type="month" /> | Monat und Jahr Eingabe | |
|
||
<input type="number" /> | Nummern Eingabefeld mit Einschränkungsmöglichkeiten
|
|
|
||
<input type="range" /> | Wertebereich | |
|
||
<input type="search" /> | Such Feld | |
<input type="tel" /> | Telefonnummer Eingabe | |
<input type="time" /> | Zeit Eingabe Stunden und Minuten | |
|
||
<input type="url" /> | Web-Adresse (URL) Eingabe, inklusive Überprüfung, beim Opera wird das Protokoll hinzugefügt | |
|
||
<input type="week" /> | Jahr und Wochen Eingabe | |
|
Neue, noch nicht in den neuen Elementen aufgeführte Attribute
Attribut | Beschreibung |
---|---|
autocomplete | Autovervollständigung ein (on) oder aus (off) schalten, sowohl für das form-Tag als auch für input-Tags |
novalidate | form-Tag Attribut, welches festlegt das die Formulardaten vor der Übertragung nicht überprüft werden sollen |
autofocus | legt das input Element fest das den Fokus erhält wenn die Seite geladen wurde |
form | legt das oder auch die form-Elemente über die id fest, dem das input-Element zugeordnet ist, soll ein input-Element mehreren form-Elementen zugeordnet werden ist das in Form einer Space-separierten Liste zu realisieren |
formaction formenctype formmethod formnovalidate formtarget |
für input-Elemente des Typ submit und image, überschreibt die jeweiligen form-Attribute. |
height width |
für input-Elemente des Typ image, zur Definition der Bildabmessungen |
multiple | für input-Elemente des Typ email und file, erlaubt mehrfach Zuweisungen |
pattern | für input-Elemente des Typ text, search, url, tel, email und password, legt eine regular expression fest gegen die die Eingabe überprüft wird |
placeholder | für input-Elemente des Typ text, search, url, tel, email und password, definiert den erwarteten Wert eines Input-Feldes bis zur Eingabe eines Wertes |
required | für input-Elemente des Typ text, search, url, tel, email, password, date pickers, number, checkbox, radio und file, das so gekennzeichnete Pflichtfeld muss ausgefüllt werden |
data-... | Benutzerdefinierte Attribute, zur Nutzung in Javascripts el.getAttribute('data-...') ging vorher schon, war aber nicht valide/gültig (wurde also vom W3C-Validator abgestraft) |
Multimediaelemente Video & Audio
Tag | Beschreibung |
---|---|
<video> | Beispiel: Video.js - HTML5 Video Player mit Fallback |
|
|
<audio> | |
2D/3D Graphiken
Tag | Beschreibung |
---|---|
<canvas> | |
ein Beispiel: 40 Best HTML5 and CSS3 3D Demo Examples |