HTML & CSS für Einsteiger

HTML & CSS für Einsteiger (Teil 20): Semantik fürs Web (3)

Zum Video-Training

Kopf- und Fußbereich

Über die beiden Elemente header und footer lassen sich Kopf- und Fußbereich definieren. Um den Kopfbereich zu definieren, wird das head-Element verwendet. Dabei muss es sich übrigens nicht unbedingt um den Kopfbereich der gesamten Seite handeln. Ebenso kann man mit head auch den Kopfbereich anderer Elemente wie beispielsweise Sektionen und Artikel kennzeichnen.

Achtung: Verwechselt header nicht mit dem bekannten head-Element, über das der Kopfbereich von HTML-Dokumenten definiert wird, in dem Dokumenttitel, Stylesheet- und JavaScript-Aufrufe enthalten sind.

Für ein gesamtes Dokument sähe der Einsatz von header folgendermaßen aus:

<body>
  <header>...</header>
  <nav>...</nav>
  <article>
    <section>
      ...
    </section>
  </article>
  <aside>...</aside>
  <footer>...</footer>
</body>



Angewendet auf ein section-Element ergäbe sich folgendes Bild:

<section>
   <header>
      <h1> Web-Apps erstellen (Teil 09): jQuery mobile (1)</h1>
      <p> jQuery ist zweifellos eines der bekanntesten JavaScript-Frameworks.</p>
   </header>
   <p>
  Auf „klassischen“ Webseiten wird jQuery daher bereits tausendfach eingesetzt. Speziell für den Einsatz in Web-Apps konzipiert wurde das Schwester-Framework jQuery mobile (jQM). Dieses Framework hilft euch dabei, eure Web-App im Handumdrehen wie eine echte App aussehen zu lassen. Grund genug, einen ausführlichen Blick auf jQM zu werfen.
   </p>
   <footer>
      <p>Copyright by PSD-Tutorials.de</p>
   </footer>
</section>

Achtet in jedem Fall darauf, dass footer und header keine zusätzlichen header- und footer-Elemente enthalten dürfen.

HTML & CSS für Einsteiger (Teil 20): Semantik fürs Web (3)

Überschriften gruppieren

Im Zusammenhang mit Sektionen kommen die Überschriften ins Spiel. Bei diesen Überschriften kann es sich zunächst einmal um die klassischen Elemente h1 bis h6 handeln. Ebenso ist in HTML5 aber auch das hgroup-Element erlaubt. Innerhalb dieser hgroup-Elemente können wiederum mehrere Überschriften enthalten sein.

Werft zunächst einen Blick auf ein klassisches HTML-Dokument, in dem die "übliche" Struktur mittels hx-Elementen definiert wird.

<h1>
    Buch
 </h1>
 <h2>
    Kapitel  1
 </h2>
 <h2>
    Kapitel 2
 </h2>
 <h3>
    Unterkapitel 2.1
 </h3>
 <h3>
    Unterkapitel 2.2
 </h3>
 <h2>
    Kapitel 3
 </h2>



Diese Definition bedeutet folgende Struktur:

Buch
Kapitel 1
Kapitel 2
Unterkapitel 2.1
Unterkapitel 2.2
Kapitel 3


Im Browser werden die Überschriften allerdings nicht eingerückt.

HTML & CSS für Einsteiger (Teil 20): Semantik fürs Web (3)

Interessant ist hgroup vor allem im Zusammenhang mit journalistischen Texten. Diese bestehen oftmals aus einer zweiteiligen Überschrift, die sich aus der Hauptzeile sowie der Dach- oder Unterzeile zusammensetzt. Ein Beispiel soll diesen Aspekt verdeutlichen.

<hgroup>
 <h1>Cloud OS</h1>
 <h2>Das Web als Betriebssystem</h2>
</hgroup>
<p>Hier beginnt der Inhalt des Artikels …</p>



An diesem Beispiel ist deutlich zu erkennen, dass die Unterzeile keinen eigenen Abschnitt innerhalb des Artikels einleitet. Vielmehr handelt es sich bei dieser um einen Teil der Artikelüberschrift. Genau so etwas lässt sich mittels hgroup-Element zusammenfassen.

HTML & CSS für Einsteiger (Teil 20): Semantik fürs Web (3)



Innerhalb von hgroup sind die Elemente h1 bis h6 erlaubt.

Das Outline-Konzept

Zusätzlich kommt in HTML5 das Outline-Konzept ins Spiel, bei dem es um das Zusammenwirken von section- mit den diversen hx-Elementen geht. Bei diesem Konzept werden, wie bislang üblich, die Überschriften durch die Elemente h1 bis h6 in verschiedene Ebenen unterteilt. Dabei entspricht h1 der obersten Ebene, während h6 die niedrigste Ebene darstellt. Hier gibt es also keine Veränderung im Vergleich zu früher. Denn jetzt können die hx-Elemente innerhalb von section-Elementen definiert werden. Und dabei beginnt dann jedes Mal die Zählung neu, allerdings immer eine Ebene tiefer.

Das Outline-Konzept wirkt in der HTML5-Spezifikation recht kompliziert, die Idee dahinter ist aber denkbar einfach. Tatsächlich lässt sich darüber nämlich eine Inhaltsangabe definieren, welche die Dokumentstruktur maschinenlesbar macht.

Auch hierzu ein Beispiel:

<h1>
    Kapitel 1
 </h1>
 <section>
    <h1>
       Kapitel 2
    </h1>
    <section>
       <h1>
          Kapitel  3
       </h1>
    </section>
 </section>



Durch das Outline-Konzept von HTML5 ergibt sich daraus die folgende Struktur:

1. Kapitel 1

  1. Kapitel 2
    1. Kapitel 3

Ein weiteres Beispiel soll den Effekt verdeutlichen. Auch hier zunächst wieder das Ausgangsdokument.

<section>
  <h1>Installation und Konfiguration</h1>
  <section>     
    <h2>Installation</h2>     
      <p>Alles rund ums Thema Installation
  </section>     <section>     
    <h2>Konfiguration</h2>
      <p>Hier findet ihr alles zum Thema Konfiguration
    </section>
    <aside>
      <p>Interessante Bücher zum Thema...
    </aside>
  </section>
  <footer>
    <p>(c) by PSD-Tutorials.de
  </footer>
</section>



Die daraus resultierende Struktur sieht folgendermaßen aus:

1. Section (Installation und Konfiguration)

1.1 Section (Installation)

1.2 Section (Konfiguration)

1.3 Section (aside)

  1. Section (footer)

Und noch ein Beispiel:

<body>
   <h1>Installation und Konfiguration</h1>
   <h2>Installation</h2>
   <p>Alles zum Theme Installation
      ...noch mehr Inhalt...
   <section>
     <h3>Voraussetzungen</h3>  
     <p>Alles zum Thema Installationsvoraussetzungen
       ...noch mehr Inhalt...
     <h3>Vorbereitungen</h3>
       <p>Alles zum Thema Vorbereitungen
          ...noch mehr Inhalt...
     <h2>Konfiguration</h2>
       <p>Alles zum Thema Konfiguration
           ...noch mehr Inhalt...
   </section>
</body>



Die Ergebnisstruktur sieht folgendermaßen aus:

1. Installation und Konfiguration
1.1 Installation
1.1.1 Voraussetzungen
1.1.2 Vorbereitungen
1.2 Konfiguration


Die interne Zählung beginnt hier also jedes Mal wieder bei 1. Vom Outline-Konzept sind nur diese Elemente betroffen:

article

aside

nav

section

Die beiden Elemente header und footer bleiben hingegen außen vor.

Beachtet bitte, dass das Outline-Konzept momentan von den Browsern noch nicht unterstützt wird.

HTML & CSS für Einsteiger (Teil 20): Semantik fürs Web (3)



Es wird allerdings nur eine Frage der Zeit sein, bis die Browserhersteller hier handeln. Zu groß wären die Vorteile des Outline-Konzepts. Denkt beispielsweise an automatisch generierte Navigationsleisten. Aber auch so gilt: Selbst wenn die Strukturierung in der genannten Form von den Browsern momentan ignoriert werden, solltet ihr bereits jetzt versuchen, eure Dokumente logisch zu strukturieren. So bekommt ihr auch gleich eine gewisse Zukunftssicherheit für eure Webseiten.