Zum Inhalt springen

Semantisches HTML

oder auch Semantic HTML

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 18.10.2026

Semantisches HTML heißt, für jeden Bestandteil das Element zu nehmen, das seine Bedeutung trifft: eine Überschrift als Überschrift, eine Navigation als Navigation. Die Alternative wäre, alles aus gleichförmigen Kästen zu bauen und die Bedeutung allein über das Aussehen herzustellen.

Semantisches HTML

Schreibweise, bei der jedes Element nach der Bedeutung seines Inhalts gewählt wird und nicht nach der gewünschten Darstellung.
Beispiel: „Semantisches HTML macht die Gliederung einer Seite auch ohne Bildschirm erkennbar.“

Auch: Semantic HTML.

Was der Unterschied ausmacht

Fünf ineinanderliegende Kästen: oben der header mit der nav darin, darunter links das main mit einem article und rechts daneben das aside, ganz unten der footer.
Jeder Bereich trägt den Namen dessen, was er ist. Dieselbe Seite ließe sich mit lauter gleichen Kästen bauen, für Hilfsmittel wäre sie dann ohne Gliederung.

Eine Seite lässt sich vollständig aus bedeutungslosen Kästen bauen. Sie sieht dann aus wie gewollt, und für jeden, der sie nicht ansieht, besteht sie aus einer Reihe gleicher Behälter. Mit den passenden Elementen steht dieselbe Gliederung im Dokument selbst.

<div class="nav">…</div>
<nav>…</nav>

Beide Zeilen lassen sich gleich gestalten. Nur die zweite sagt, worum es sich handelt.

Was davon abhängt

Screenreader bieten ihren Nutzern an, zwischen Bereichen und Überschriften zu springen. Diese Liste entsteht aus den Elementen. Fehlen sie, bleibt nur, den Text von vorn bis hinten zu hören.

Suchmaschinen gewichten Überschriften und erkennen, was Hauptinhalt ist und was Navigation. Und auch im Team hilft es: Wer ein halbes Jahr später eine Vorlage öffnet, sieht am Element, was gemeint war.

Wo die Grenze liegt

Nicht jeder Bereich hat eine Bedeutung. Ein Kasten, der nur dazu da ist, drei Elemente nebeneinander zu stellen, ist ein div, und das ist richtig so. Die Spezifikation sagt das für das section-Element ausdrücklich: Für reines Styling gehört dort ein div hin.

Die Frage lautet also nicht, wie sich ein div vermeiden lässt, sondern ob der Bestandteil eine Bedeutung hat, für die es ein Element gibt.

Siehe auch:

Element (HTML)

Ein Bestandteil des Dokuments, erzeugt durch ein Tag oder ein Tag-Paar.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

HTML

Die Sprache, in der der Aufbau einer Webseite beschrieben wird.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

Header

Oberer Bereich einer Seite, der sich auf allen Seiten einer Website wiederholt und Logo und Hauptnavigation trägt.

#Website-Struktur #Frontend-Entwicklung (HTML, CSS, JavaScript)

nav-Element

Ein Block von Verweisen, mit denen man sich bewegt.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

main-Element

Der Inhalt, für den die Seite da ist.

#Frontend-Entwicklung (HTML, CSS, JavaScript)

Block-Element

Nimmt die volle Breite und beginnt eine neue Zeile.

#Frontend-Entwicklung (HTML, CSS, JavaScript)