Was in einer Tabelle steckt 
veröffentlicht in
Tabellen gibt es in vielen Ausprägungen. Es gibt einfache Tabellen und komplexe Tabellen. Die Barrierefreiheit von Tabellen erfordert unterschiedliche Maßnahmen. Entscheidend für die Barrierefreiheit ist meist, wie die einzelnen Tabellenzellen innerhalb einer Tabelle zueinander in Beziehung stehen.
Einfache und komplexe Tabellen
Einfache Tabellen sind solche Tabellen, die Kopfzellen nur in der ersten Reihe und/oder in der ersten Spalte der Tabelle aufweisen. Zellen in einer einfachen Tabelle erstrecken sich außerdem nicht über zwei oder mehr Spalten oder zwei oder mehr Reihen.

Komplexe Tabellen weichen von diesen Anordnungen ab, das heißt Zellen erstrecken sich über mehr als eine Spalte oder mehr als eine Reihe oder Kopfzellen befinden sich nicht oben in einer Spalte oder links in einer Reihe. Komplexe Tabellen sind vor allem in Screenreadern oft nicht gut zu nutzen.

Übersicht der Anforderungen
Zu Datentabellen gibt es viele Anforderungen. Die Web Content Accessibility Guidelines (WCAG) 2.2 geben in Erfolgskriterium 1.3.1 vor, dass Strukturen und Beziehungen auch im Code repräsentiert sein müssen. Weitere Aspekte werden im HTML-Standard spezifiziert:
https://html.
Das table-Element kann für Daten eingesetzt werden, deren Darstellung in Reihen und Spalten angeordnet wird. Die Reihen und Spalten einer Tabelle bilden ein Gitter. Innerhalb des Gitters werden die Daten als Kopfzellen oder als Datenzellen gekennzeichnet, wodurch auch die Beziehung zueinander definiert wird. Assistenztechnologien nutzen diese Beziehungen, um eine barrierefreie Nutzung der Tabellen zu ermöglichen.
Die Anforderungen an Tabellen in HTML lassen sich wie folgt zusammenfassen:
- Tabellen sind für die Anordnung von Daten mit mehr als einer Dimension einzusetzen. Technisch dürfen Tabellen 0 Zellen umfassen (was dann sinnvoll ist, wenn Zellen und Reihen per Skript nach und nach generiert werden), aber die meisten Tabellen bestehen aus mindestens zwei Spalten und aus mindestens zwei Reihen mit Tabellenzellen.
- Datentabellen müssen ein Gitter darstellen, das heißt die enthaltenen Zellen ergeben ein Rechteck.
- Tabellen sind nicht zu Layout-Zwecken einzusetzen.
- Kopfzellen sind mit
th-Elementen auszuzeichnen. Die meisten Datentabellen haben mindestens eine Reihe oder mindestens eine Spalte mit Kopfzellen, aber es gibt auch Tabellen ohne Kopfzellen. - Einfache Tabellen sind immer zu bevorzugen. Bei einfachen Tabellen hat jede Reihe genau 0 oder 1 Kopfzelle am Anfang der Reihe und/oder jede Spalte genau 0 oder 1 Kopfzelle als oberste Zelle.
- Komplexe Tabellen sind zu vermeiden; manche komplexe Tabellen werden nicht barrierefrei nutzbar sein, und sie sollten in einzelne (einfache) Tabellen heruntergebrochen werden. Wenn komplexe Datentabellen dennoch eingesetzt werden, gilt:
- Komplexe Datentabellen müssen beschrieben werden.
- Die Beziehungen zwischen Kopfzellen und Datenzellen müssen durch die Vergabe von
scope- und/oderheaders-Attributen explizit angegeben werden.
Darüber hinaus verlangt Accessible Rich Internet Applications (ARIA) 1.2, dass Tabellen einen Namen erhalten. HTML bietet dafür das caption-Element. Tabellen können ihren Namen aber auch durch andere Techniken erhalten.
Der Beitrag "Was in einer Tabelle steckt" besteht aus folgenden einzelnen Webseiten:
- Elemente für Datentabellen
Tabellen bestehen aus einem
table-Element sowietr-,th- undtd-Elementen. Diecaption-,thead-,tbody-,tfoot-,colgroup- undcol-Elemente können im Bedarfsfall eingesetzt werden.- Die
th- undtd-Elemente In einfachen Tabellen stehen
th-Elemente (Kopfzellen) in der ersten Reihe und/oder in der ersten Spalte. Browser weisen dann den Kopfzellen die korrekten Rollen zu.- Das
caption-Element Datentabellen können mit einem
caption-Element eine Beschriftung erhalten.- Die Gruppierung von Spalten oder Reihen
In Datentabellen können Reihen mit den
thead-,tbody- undtfoot-Elementen gruppiert werden. Spalten können mit dencolgroup-Element ebenfalls gruppiert werden.- Komplexe Beziehungen in Datentabellen
Eine Tabelle ist erst dann barrierefrei, wenn jede Datenzelle ihre Kopfzellen kennt. Fehlen diese Beziehungen, sind Datenzellen ohne Bedeutung.
- Vereinfachung von komplexen Tabellen
Komplexe Tabellen sollten vermieden werden. Wenn sich eine komplexe Tabelle als einfache Tabelle darstellen lässt, dann sollte die Tabelle vereinfacht werden.
- Techniken für Tabellenbeschreibungen
Der grundlegende Aufbau der Zellen in einer komplexen Tabelle muss nach dem HTML-Standard beschrieben werden. Sie können dafür verschiedene Techniken einsetzen.
- Das
headers-Attribut Mit dem
headers-Attribut kann eine Datenzelle oder eine Kopfzelle mit einer oder mehreren Kopfzellen verknüpft werden.- Das
scope-Attribut Das
scope-Attribut dient dazu, Kopfzellen einer oder mehreren Spalten beziehungsweise einer oder mehreren Reihen in einer komplexen Tabelle zuzuweisen.- Tabellen benötigen einen Namen
Nach der ARIA-Spezifikation benötigen Tabellen einen Namen. HTML bietet dafür insbesondere das
caption-Element.- Layout-Tabellen sind wie Briefe in Excel
Verzichten Sie auf die antiquierte Technik der Layout-Tabelle und setzen Sie Webstandards ein!
Die folgenden Begriffe dieser Seite werden auch im Glossar definiert:
Blättern zur nächsten oder vorherigen Seite
- Elemente für Datentabellen
Tabellen bestehen aus einem
table-Element sowietr-,th- undtd-Elementen. Diecaption-,thead-,tbody-,tfoot-,colgroup- undcol-Elemente können im Bedarfsfall eingesetzt werden. - Allgemeine VerständlichkeitDas Hamburger Verständlichkeitskonzept unterstützt bei der Erstellung barrierefreier Texte.