Optionale Tags in HTML5
Start- und End-Tags mancher HTML5-Elemente kann man weglassen. Das ist schon seit HTML 2 so. Die Spezifikation lässt dies zu, das damit produzierte HTML bleibt also valide. Was das bringt? Google hat z.B. herausgefunden, dass man damit die Größe einer Webseite um bis zu 20 % verringern kann. Für Leute, die in HTML-Syntax schreiben und die eigene Webseite ein klein wenig schneller machen möchten, kann diese Vorgehensweise also durchaus sinnvoll sein und in Erwägung gezogen werden.
Allerdings sollte man sich auch eines Nachteils bewusst sein: Der Internet Explorer verkorkst die HTML-Verarbeitung bei nicht vorhandenem body-Start-Tag. Wer auf Nummer sicher gehen möchte, sollte also zumindest den body-Start-Tag immer deklarieren. Außerdem ist das Weglassen eines Tags an einige spezielle Bedingungen geknüpft. Genug der vielen Worte, hier die Übersicht:
| Element | Start-Tag | End-Tag |
|---|---|---|
| Element | Start-Tag | End-Tag |
body |
optional (wenn Element leer ist oder unmittelbar danach kein Leerzeichen oder Kommentar folgt – außer wenn unmittelbar danach ein script- oder style-Element folgt) |
optional (wenn unmittelbar danach kein Kommentar folgt) |
colgroup |
optional (wenn Element nicht leer ist, unmittelbar danach ein col-Element folgt oder vor dem Element nicht ein colgroup-Element steht, dessen End-Tag weggelassen wurde) |
optional (wenn unmittelbar danach kein Leerzeichen oder Kommentar folgt) |
dd |
benötigt | optional (wenn unmittelbar danach ein dd- oder dt-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
dt |
benötigt | optional (wenn unmittelbar danach ein dd- oder dt-Element folgt) |
head |
optional (wenn Element leer ist oder unmittelbar danach ein Element folgt) | optional (wenn unmittelbar danach kein Leerzeichen oder Kommentar folgt) |
html |
optional (wenn unmittelbar danach kein Kommentar folgt) | optional (wenn unmittelbar danach kein Kommentar folgt) |
li |
benötigt | optional (wenn unmittelbar danach ein li-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
optgroup |
benötigt | optional (wenn unmittelbar danach ein optgroup-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
option |
benötigt | optional (wenn unmittelbar danach ein optgroup- oder option-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
p |
benötigt | optional (wenn unmittelbar danach ein address-, article-, aside-, blockquote-, dir-, div-, dl-, fieldset-, footer-, form-, h1-, h2-, h3-, h4-, h5-, h6-, header-, hgroup-, hr-, menu-, nav-, ol-, p-, pre-, section-, table- oder ul-Element folgt oder im Elternelement kein Inhalt mehr folgt und Elternelement kein a-Element ist) |
rp |
benötigt | optional (wenn unmittelbar danach ein rp- oder rt-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
rt |
benötigt | optional (wenn unmittelbar danach ein rp- oder rt-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
tbody |
optional (wenn Element nicht leer ist, unmittelbar danach ein tr-Element folgt oder vor dem Element nicht ein tbody-, tfoot- oder thead-Element steht, dessen End-Tag weggelassen wurde) |
optional (wenn unmittelbar danach ein tbody- oder tfoot-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
td |
benötigt | optional (wenn unmittelbar danach ein td- oder th-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
tfoot |
benötigt | optional (wenn unmittelbar danach ein tbody-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
th |
benötigt | optional (wenn unmittelbar danach ein td- oder th-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
thead |
benötigt | optional (wenn unmittelbar danach ein tbody- oder tfoot-Element folgt) |
tr |
benötigt | optional (wenn unmittelbar danach ein tr-Element folgt oder im Elternelement kein Inhalt mehr folgt) |
Quellen und weiterführende Links zum Thema
- W3C: The HTML syntax — HTML5
- WHATWG: The HTML syntax — HTML Standard
- Keine Angst vor minimalem HTML(5)! • Peter Kröner, Webdesigner & Frontendentwickler
- Required elements and optional tags in HTML | 456 Berea Street
- Juicy Studio: Required Elements, and Required Tags
- Optional Tags in HTML 4 – Jens O. Meiert