Header, Nav, Main, Footer – HTML5 Semantische Elemente ersetzen div-Suppe! Sie machen deinen Code verständlicher für Suchmaschinen, Screenreader und andere Entwickler. In diesem Tutorial lernst du alle wichtigen semantischen Tags.
Einführung in das HTML5 Semantik Tutorial
Was sind semantische Elemente
Semantische Elemente beschreiben die BEDEUTUNG ihres Inhalts, nicht nur das Layout:
<div>sagt: "Hier ist ein Container" (nicht semantisch)<nav>sagt: "Hier ist die Navigation" (semantisch)
Warum HTML5 Semantik wichtig ist
- SEO: Google versteht deine Inhalte besser
- Barrierefreiheit: Screenreader navigieren einfacher
- Wartbarkeit: Code ist selbsterklärend
Was du in diesem Tutorial lernst
Die wichtigsten semantischen Elemente:
<header>,<nav>,<main>,<footer><section>,<article>,<aside>
Voraussetzungen
Benötigte HTML-Grundkenntnisse
Du solltest HTML-Grundlagen verstehen. Falls nicht, hol das kurz nach!
Editor und Browser Setup
Texteditor und Browser – mehr brauchst du nicht.
Schritt-für-Schritt-Anleitung
Schritt 1: Grundstruktur mit semantischen Elementen
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Meine semantische Webseite</title>
</head>
<body>
<header>
<h1>Willkommen</h1>
</header>
<nav>
<ul>
<li><a href="#home">Startseite</a></li>
<li><a href="#about">Über uns</a></li>
</ul>
</nav>
<main>
<h2>Hauptinhalt</h2>
</main>
<footer>
<p>Copyright 2024</p>
</footer>
</body>
</html>
Vier Elemente, klare Struktur!
Schritt 2: Header und Navigation
<header>
<div class="logo">
<h1>MeinBlog</h1>
</div>
<nav>
<ul>
<li><a href="/">Startseite</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/kontakt">Kontakt</a></li>
</ul>
</nav>
</header>
<nav> kann innerhalb ODER außerhalb von <header> stehen – beides ist korrekt.
Schritt 3: Main, Section und Article
<main>
<section>
<h2>Neueste Artikel</h2>
<article>
<header>
<h3>HTML5 lernen</h3>
<time datetime="2024-01-15">15. Januar 2024</time>
</header>
<p>HTML5 bietet viele neue Möglichkeiten...</p>
</article>
<article>
<header>
<h3>CSS Grundlagen</h3>
<time datetime="2024-01-12">12. Januar 2024</time>
</header>
<p>Mit CSS gestaltest du...</p>
</article>
</section>
</main>
<main>: Nur EINMAL pro Seite!<section>: Thematische Gruppierung<article>: Eigenständiger Inhalt (Blogpost, Kommentar)
Schritt 4: Aside und Footer
<aside>
<h3>Verwandte Artikel</h3>
<ul>
<li><a href="/javascript">JavaScript Basics</a></li>
<li><a href="/css-flex">CSS Flexbox</a></li>
</ul>
</aside>
<footer>
<section>
<h4>Kontakt</h4>
<p>info@beispiel.de</p>
</section>
<nav>
<a href="/impressum">Impressum</a>
<a href="/datenschutz">Datenschutz</a>
</nav>
</footer>
<aside> = ergänzende Inhalte (Sidebar, Related Posts)
[bildapi id="1" prompt="A clean diagram showing HTML5 semantic elements like header, nav, main, section, article, aside, and footer arranged in a typical webpage layout structure" name="html5-semantic-elements-structure" alt="HTML5 semantische Elemente Struktur Diagramm"]
Code-Beispiele zu HTML5
Vollständige Portfolio-Seite
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Mein Portfolio</title>
</head>
<body>
<header>
<h1>Mein Portfolio</h1>
<nav>
<ul>
<li><a href="#about">Über mich</a></li>
<li><a href="#projects">Projekte</a></li>
<li><a href="#contact">Kontakt</a></li>
</ul>
</nav>
</header>
<main>
<section id="about">
<h2>Über mich</h2>
<p>Ich bin Webentwickler...</p>
</section>
<section id="projects">
<h2>Meine Projekte</h2>
<article>
<h3>HTML5 Guide</h3>
<p>Tutorial über semantische Elemente.</p>
</article>
</section>
</main>
<footer>
<p>Kontakt: portfolio@beispiel.de</p>
</footer>
</body>
</html>
Blog-Layout
<main>
<article>
<header>
<h1>Mein Blogpost-Titel</h1>
<p>Von <strong>Max</strong> am <time datetime="2024-01-20">20. Januar</time></p>
</header>
<section>
<h2>Einleitung</h2>
<p>...</p>
</section>
<section>
<h2>Hauptteil</h2>
<p>...</p>
</section>
<footer>
<p>Tags: HTML, Tutorial</p>
</footer>
</article>
<aside>
<h3>Ähnliche Artikel</h3>
<nav>
<a href="/css">CSS Grundlagen</a>
<a href="/js">JavaScript Start</a>
</nav>
</aside>
</main>
Häufige Fehler & Troubleshooting
Fehler 1: Section vs. Article verwechselt
<section>: Thematische Gruppe (Teil eines Ganzen)<article>: Eigenständig verständlich (könnte für sich stehen)
Frage: "Macht dieser Inhalt auch ALLEINE Sinn?" → Ja = article
Fehler 2: Section statt div
Nicht einfach alle <div> durch <section> ersetzen! Ohne thematischen Zusammenhang bleibt <div> richtig.
Fehler 3: Mehrere main-Elemente
<main> darf nur EINMAL pro Seite vorkommen!
HTML5: Best Practices & Tipps
Wann welches Element
<header>: Kopfbereich (Seite oder Section)<nav>: Haupt-Navigation, Breadcrumbs<main>: Hauptinhalt (einmal!)<section>: Thematische Gruppe mit Überschrift<article>: Eigenständiger Inhalt<aside>: Ergänzende Inhalte<footer>: Fußbereich<div>: Wenn nichts anderes passt (Layout)
SEO-Vorteile
Suchmaschinen nutzen semantische Elemente zur Inhalts-Analyse. Verwende <h1> nur einmal, halte die Überschriftenhierarchie ein!
Barrierefreiheit
Screenreader bieten "Springe zu main" oder "Liste aller nav-Bereiche". Das funktioniert NUR mit semantischen Elementen!
Fazit zum HTML5-Tutorial: Was hast du hier gelernt
Du kennst jetzt die wichtigsten semantischen Elemente:
<header>,<nav>,<main>,<footer><section>,<article>,<aside>
Mit ihnen wird dein Code verständlicher, barrierefrei und SEO-optimiert!
Bereit für mehr? Lerne als Nächstes, wie du HTML Meta Tags für charset und viewport richtig einsetzt!