Semantisches HTML: Die Basis jeder barrierefreien Webseite

Kurz erklärt: Semantisches HTML bedeutet: Tags werden nach ihrer Bedeutung gewählt, nicht nach ihrer Darstellung. <header> für Seitenkopf, <nav> für Navigation, <main> für Hauptinhalt, <button> für Aktionen. Das ist die Grundlage jeder barrierefreien Seite.

Die meisten Accessibility-Probleme entstehen, weil Entwickler <div> und <span> für alles nutzen – mit Custom-Klassen, ohne semantische Bedeutung. Das Ergebnis: Screenreader wissen nicht, was Navigation ist, was Hauptinhalt, was Button. Semantisches HTML löst 80 % aller Accessibility-Probleme, ohne eine einzige Zeile ARIA.

Die wichtigsten semantischen Tags

Landmarks: <header>, <nav>, <main>, <aside>, <footer>, <section>, <article>
Text-Struktur: <h1>–<h6> (Hierarchie!), <p>, <ul>/<ol>/<li>, <blockquote>
Interaktion: <button> (nicht <div onclick>!), <a href> (nicht <span onclick>)
Formulare: <label>, <fieldset>, <legend>, <input> mit korrektem type
Medien: <figure> + <figcaption> für Bilder mit Bildunterschrift

Die Landmark-Struktur

Eine barrierefreie Seite hat klare Landmarks:
<header> – Kopfbereich mit Logo + Hauptnavigation
<nav> – Navigation (kann auch im Header stehen)
<main> – Hauptinhalt (nur einmal pro Seite!)
<aside> – Seitenleiste (optional)
<footer> – Fußbereich
Screenreader-Nutzer springen per Shortcut direkt zwischen diesen Landmarks – erspart ihnen das Durchtabben der Navigation.

Warum <button> statt <div onclick>?

<button> ist automatisch tastaturbedienbar, fokussierbar, wird als Schaltfläche vorgelesen, lässt sich per Enter UND Leertaste auslösen. <div onclick> bietet nichts davon – nur CSS und JS. Für Barrierefreiheit müsstest du manuell nachrüsten: tabindex, role="button", onkeydown für Enter/Space, Focus-Styling. 10 Zeilen Code statt 1 nativem Tag.

Link vs. Button – nicht verwechseln

<a href>: navigiert zu einer anderen URL, ändert den Browser-Verlauf, kann Enter-auslösen.
<button>: löst eine Aktion aus (Formular senden, Modal öffnen, Filter setzen), ändert keinen URL.
Falsche Wahl (Link als Button gestylt, Button für Navigation) verwirrt Screenreader-Nutzer. Regel: Wenn "href" kein Sinn ergibt → Button.

Nicht übertreiben

Nicht jedes

muss ein
werden. Section braucht eine Überschrift innen. Generischer Container ohne semantische Rolle bleibt
. Article ist für eigenständig publizierbare Einheiten (Blog-Posts, Kommentare). Qualität vor Quantität.

Wird geprüft: bf-check prüft Landmark-Struktur, Überschriften-Hierarchie und native Interaktionselemente.

Wie steht deine Webseite in diesem Punkt da?

Kostenloser Scan gegen 15 WCAG-2.1-AA-Kriterien – inkl. Semantisches HTML-Check.

Jetzt Webseite prüfen →