HTML - Überschriften und Beschriftungen

-

Tabellenkopfzeilen

Tabellenkopfzeilen definieren

In HTML-Tabellen beschriften Kopfzeilen Spalten oder Zeilen mit Daten. Um eine Tabellenkopfzeile zu definieren, verwendet man das <th>-Tag. Das <th>-Tag wird innerhalb des <tr>-Tags (Tabellenzeile) platziert, ähnlich wie normale Tabellenzellen (<td>). Der Hauptunterschied zwischen <th> und <td>-Tags besteht darin, dass <th> für Kopfzellen verwendet wird, die standardmäßig meist eine fette Schriftart und zentrierte Textausrichtung haben.

Beispiel: Wie man Tabellenkopfzeilen definiert

<table>
  <tr>
    <th>Kopfzeile 1</th>
    <th>Kopfzeile 2</th>
    <th>Kopfzeile 3</th>
  </tr>
  <tr>
    <td>Daten 1</td>
    <td>Daten 2</td>
    <td>Daten 3</td>
  </tr>
</table>

Die erste Zeile enthält drei <th>-Tags, die die Kopfzeilen für jede Spalte definieren. Die zweite Zeile enthält normale <td>-Tags mit den eigentlichen Daten.

Attribute für Tabellenkopfzeilen

Tabellenkopfzeilen haben einige spezielle Attribute, die zur Verbesserung der Struktur und Barrierefreiheit der Tabelle verwendet werden können:

  1. colspan: Das colspan-Attribut ermöglicht es einer Kopfzelle, sich über mehrere Spalten zu erstrecken. Zum Beispiel würde <th colspan="2">Kopfzeile</th> eine Kopfzelle erstellen, die sich über zwei Spalten erstreckt.

  2. rowspan: Das rowspan-Attribut ermöglicht es einer Kopfzelle, sich über mehrere Zeilen zu erstrecken. Zum Beispiel würde <th rowspan="3">Kopfzeile</th> eine Kopfzelle erstellen, die sich über drei Zeilen erstreckt.

  3. scope: Das scope-Attribut wird verwendet, um eine Kopfzelle mit den Datenzellen zu verknüpfen, die sie beschreibt. Dies ist wichtig für die Barrierefreiheit, da es Screenreadern hilft, die Beziehung zwischen Kopfzeilen und Daten zu verstehen. Das scope-Attribut kann folgende Werte haben:

    • row: Die Kopfzeile gilt für die Zeile.
    • col: Die Kopfzeile gilt für die Spalte.
    • rowgroup: Die Kopfzeile gilt für eine Gruppe von Zeilen.
    • colgroup: Die Kopfzeile gilt für eine Gruppe von Spalten.

Beispiel: Verwendung von Attributen für Tabellenkopfzeilen

<table>
  <tr>
    <th colspan="2">Kopfzeile 1 & 2</th>
    <th>Kopfzeile 3</th>
  </tr>
  <tr>
    <th rowspan="2" scope="row">Kopfzeile 4</th>
    <td>Daten 1</td>
    <td>Daten 2</td>
  </tr>
  <tr>
    <td>Daten 3</td>
    <td>Daten 4</td>
  </tr>
</table>

Die erste Kopfzelle erstreckt sich über zwei Spalten mit colspan, die vierte Kopfzelle erstreckt sich über zwei Zeilen mit rowspan, und das scope-Attribut wird verwendet, um anzuzeigen, dass die vierte Kopfzeile für die Zeile gilt.

Die Verwendung von Tabellenkopfzeilen mit passenden Attributen hilft, gut strukturierte und barrierefreie Tabellen in HTML zu erstellen.

Tabellenbeschriftung

Eine Beschriftung zu einer Tabelle hinzufügen

Eine Tabellenbeschriftung ist eine kurze Beschreibung des Inhalts oder Zwecks der Tabelle. Um einer HTML-Tabelle eine Beschriftung hinzuzufügen, verwenden Sie das <caption>-Tag. Das <caption>-Tag sollte direkt nach dem öffnenden <table>-Tag platziert werden, vor allen <tr>, <th> oder <td>-Elementen.

Beispiel: HTML-Tabelle mit Beschriftung

<table>
  <caption>Mitarbeiter-Gehaltsdaten</caption>
  <tr>
    <th>Name</th>
    <th>Position</th>
    <th>Gehalt</th>
  </tr>
  <tr>
    <td>John Doe</td>
    <td>Manager</td>
    <td>$80,000</td>
  </tr>
  <tr>
    <td>Jane Smith</td>
    <td>Entwickler</td>
    <td>$75,000</td>
  </tr>
</table>

Styling von Tabellenbeschriftungen

Standardmäßig werden Tabellenbeschriftungen über der Tabelle und zentriert angezeigt. Sie können jedoch CSS verwenden, um die Beschriftung nach Bedarf zu gestalten und zu positionieren.

Um eine Tabellenbeschriftung zu gestalten, zielen Sie in Ihrem CSS auf das <caption>-Element:

Beispiel: CSS-Styling für Tabellenbeschriftung

table caption {
  font-size: 1.2em;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
}

Um die Beschriftung unter der Tabelle statt darüber zu positionieren, verwenden Sie die CSS-Eigenschaft caption-side:

Beispiel: CSS-Positionierung für Tabellenbeschriftung

table caption {
  caption-side: bottom;
}

Die Eigenschaft caption-side akzeptiert zwei Werte: top (Standard) und bottom.

Durch die Verwendung des <caption>-Tags und dessen Gestaltung mit CSS können Sie eine klare und ansprechende Beschreibung für Ihre HTML-Tabellen bereitstellen.

Barrierefreiheitsaspekte

Bei der Erstellung von HTML-Tabellen ist es wichtig, die Barrierefreiheit für Nutzer zu berücksichtigen, die auf Hilfstechnologien wie Bildschirmleseprogramme angewiesen sind. Tabellenkopfzeilen und Beschriftungen spielen eine Rolle dabei, Tabellen für alle Nutzer zugänglich und verständlich zu machen.

Die Verwendung von Tabellenkopfzeilen (<th>) ist für Bildschirmleseprogramme wichtig, da sie Kontext und Struktur für die Tabellendaten liefern. Bildschirmleseprogramme kündigen den Text der Kopfzeile an, bevor sie die entsprechenden Datenzellen vorlesen, was den Nutzern hilft, die Beziehung zwischen den Kopfzeilen und den Daten zu verstehen. Dies erleichtert es den Nutzern, durch den Tabelleninhalt zu navigieren und ihn zu verstehen.

Um die Barrierefreiheit zu verbessern, verwenden Sie das scope-Attribut bei Kopfzellen, um die Verbindung zwischen Kopfzeilen und Datenzellen zu definieren. Das scope-Attribut kann Werte wie row, col, rowgroup oder colgroup haben, je nachdem, ob sich die Kopfzeile auf eine Zeile, Spalte oder Gruppe von Zeilen oder Spalten bezieht.

Beispiel: Tabelle mit scope-Attribut

<table>
  <tr>
    <th scope="col">Kopfzeile 1</th>
    <th scope="col">Kopfzeile 2</th>
  </tr>
  <tr>
    <th scope="row">Zeilenkopf</th>
    <td>Daten</td>
  </tr>
</table>

Die Bereitstellung einer Beschriftung mit dem <caption>-Tag ist ebenfalls wichtig für die Barrierefreiheit. Die Beschriftung sollte den Inhalt oder Zweck der Tabelle beschreiben und den Nutzern einen Überblick darüber geben, was die Tabelle darstellt. Bildschirmleseprogramme kündigen die Beschriftung an, bevor sie die Tabelle vorlesen, und geben den Nutzern so einen Kontext.

Beispiel: Tabelle mit Beschriftung

<table>
  <caption>Monatlicher Verkaufsbericht</caption>
  ...
</table>

Beim Verfassen von Beschriftungen sollten Sie beschreibend und prägnant sein. Vermeiden Sie allgemeine Beschriftungen wie "Tabelle 1" oder "Datentabelle", da sie keine nützlichen Informationen über den Tabelleninhalt liefern.

Durch die Verwendung von Tabellenkopfzeilen mit scope-Attributen und die Bereitstellung von Beschriftungen können Sie die Barrierefreiheit Ihrer HTML-Tabellen verbessern und sie inklusiver und benutzerfreundlicher für alle Nutzer machen, einschließlich derer, die auf Hilfstechnologien angewiesen sind.

Beispiele und Demonstrationen

Um zu verstehen, wie man Tabellenüberschriften und Beschriftungen in HTML verwendet, betrachten Sie einige Codebeispiele und Demonstrationen.

Beispiel: Tabelle mit Beschriftung und Überschriften

<table>
  <caption>Schülernoten</caption>
  <tr>
    <th scope="col">Name</th>
    <th scope="col">Mathematik</th>
    <th scope="col">Naturwissenschaften</th>
    <th scope="col">Englisch</th>
  </tr>
  <tr>
    <td>Alice</td>
    <td>90</td>
    <td>85</td>
    <td>92</td>
  </tr>
  <tr>
    <td>Bob</td>
    <td>80</td>
    <td>88</td>
    <td>79</td>
  </tr>
  <tr>
    <td>Charlie</td>
    <td>95</td>
    <td>92</td>
    <td>88</td>
  </tr>
</table>

Dieses Beispiel zeigt eine Tabelle mit einer Beschriftung, die den Inhalt der Tabelle beschreibt ("Schülernoten"), und Tabellenüberschriften für jede Spalte ("Name", "Mathematik", "Naturwissenschaften" und "Englisch"). Das scope-Attribut ordnet die Überschriften ihren Spalten zu.

Die Tabelle sieht so aus:

Schülernoten
Name Mathematik Naturwissenschaften Englisch
Alice 90 85 92
Bob 80 88 79
Charlie 95 92 88

Beispiel: Tabelle mit colspan und rowspan

<table>
  <caption>Produktbestand</caption>
  <tr>
    <th rowspan="2">Kategorie</th>
    <th colspan="3">Produkt</th>
  </tr>
  <tr>
    <th>Name</th>
    <th>Preis</th>
    <th>Menge</th>
  </tr>
  <tr>
    <td>Elektronik</td>
    <td>Smartphone</td>
    <td>599 €</td>
    <td>100</td>
  </tr>
  <tr>
    <td>Elektronik</td>
    <td>Laptop</td>
    <td>999 €</td>
    <td>50</td>
  </tr>
  <tr>
    <td>Kleidung</td>
    <td>T-Shirt</td>
    <td>19 €</td>
    <td>200</td>
  </tr>
</table>

In diesem Beispiel erstreckt sich die erste Überschriftszelle über zwei Zeilen mit rowspan="2", und die zweite Überschriftszelle über drei Spalten mit colspan="3". Das Ergebnis ist eine komplexere Tabellenstruktur:

Produktbestand
Kategorie Produkt
Name Preis Menge
Elektronik Smartphone 599 € 100
Elektronik Laptop 999 € 50
Kleidung T-Shirt 19 € 200

Diese Beispiele zeigen, wie Tabellenüberschriften und Beschriftungen klare und gut strukturierte Tabellen in HTML erstellen können. Mit Attributen wie scope, colspan und rowspan können Sie Tabellen erstellen, die sowohl visuell als auch für unterstützende Technologien leicht zu lesen und zu verstehen sind.