Wie im Hauptartikel zu den Tabellen bereits erwähnt wurde, ist es für blinde Nutzer wichtig, dass eine Tabelle mit den ensprechenden
HTML-Attributen strukturiert wird. Es gibt hierfür gleich zwei Möglichkeiten, die grundsätzlich das gleich erreichen. Sie
unterscheiden sich erst bei der Strukturierung von sehr komplexen Tabellen. In diesem Fall reicht die einfachere Variante mit
scope nicht mehr aus, sondern es müssen id und
headers vergeben werden.
scope
Das scope-Attribut wird in Verbindung mit dem Wert col
genutzt, um einem Vorleseprogramm mitzuteilen, dass der Überschrift alle Tabellenzellen zugeordnet sind, die in der
Spalte unter ihr erscheinen. In Verbindung mit dem Wert row werden der
Überschrift am Anfang einer Reihe alle Zellen dieser Reihe zugeteilt. Ein Beispiel hierfür sähe so aus:
<table> <caption>Aktuelle Flugdaten des Salzburger Flughafens.</caption> <thead> <tr> <th scope="col">Flugnummer</th> <th scope="col">Zielflughafen</th> <th scope="col">Abflug</th> <th scope="col">Ankunft</th> </tr> </thead> <tbody> <tr> <th scope="row">LH 1234</th> <td>Berlin - Schönefeld</td> <td>11:00</td> <td>13:15</td> </tr> <tr> <th scope="row">BA 5678</th> <td>Hamburg</td> <td>11:22</td> <td>13:45</td> </tr> </tbody> </table>
| Flugnummer | Zielflughafen | Abflug | Ankunft |
|---|---|---|---|
| LH 1234 | Berlin - Schönefeld | 11:00 | 13:15 |
| BA 5678 | Hamburg | 11:22 | 13:45 |
Beim Vorlesen wäre nun eindeutig bestimmbar, dass der Abflug um 11:22 zur Flugnummer BA 5678 gehört.
id und headers
Diese Form der Strukturierung folgt einem etwas anderen Weg. Sie ist daher zwar komplizierter, ermöglicht dafür aber auch
Zuordnungen in aufwendigen Tabellen. Überschriften wird das Attribut id zugewiesen um sie eindeutig identifizierbar
zu machen. Für die Verwendung des id-Attributs gibt es einige Regeln:
id-Wert darf nur einmal pro Seite vorkommen.id-Wert muss mit einem Buchstaben beginnen und darf keine Leerzeichen enthalten.id-Wert unterscheidet bei Groß- und Kleinschreibung. Der Wert
id="Beispiel" (Großbuchstabe) entspricht
deswegen nicht id="beispiel" (Kleinbuchstabe).
Überschriften- und Standardzellen einer Tabelle können auch das Attribut headers zugewiesen
bekommen. Sie werden dadurch
der Überschrift zugeteilt, die das entsprechende id-Attribut aufweist. Für das
headers-Attribut gelten
grundsätzlich die gleichen Regeln wie für id, aber es darf natürlich öfters auf einer Seite vorkommen, da eine Überschrift
normalerweise für mehrere Zellen gilt.
Das Besondere am headers-Attribut ist, dass es nicht auf einen Wert begrenzt ist. So kann man
einer Zelle den korrespondierenden
Wert einer Hauptüberschrift zuweisen und – durch ein Leerzeichen getrennt – danach den Wert einer weiteren Überschrift
angeben. Das obige Beispiel mit den Flugdaten würde daher mit id und headers folgendermaßen aussehen:
<table> <caption>Aktuelle Flugdaten des Salzburger Flughafens.</caption> <thead> <tr> <th id="nummer">Flugnummer</th> <th id="ziel">Zielflughafen</th> <th id="ab">Abflug</th> <th id="an">Ankunft</th> </tr> </thead> <tbody> <tr> <th id="lh1234" headers="nummer">LH 1234</th> <td headers="lh1234 ziel">Berlin - Schönefeld</td> <td headers="lh1234 ab">11:00</td> <td headers="lh1234 an">13:15</td> </tr> <tr> <th id="ba5678" headers="nummer">BA 5678</th> <td headers="ba5678 ziel">Hamburg</td> <td headers="ba5678 ab">11:22</td> <td headers="ba5678 an">13:45</td> </tr> </tbody> </table>
| Flugnummer | Zielflughafen | Abflug | Ankunft |
|---|---|---|---|
| LH 1234 | Berlin - Schönefeld | 11:00 | 13:15 |
| BA 5678 | Hamburg | 11:22 | 13:45 |
Diese Weg erscheint im Vergleich zur scope-Variante unnötig kompliziert. Bei einer derart
einfachen Tabelle wäre es
auch besser scope zu nutzen, aber dieses Beispiel hilft Ihnen durch den direkten Vergleich die Unterschiede beider
Techniken zu verstehen.
Das volle Potential zeigt die Strukturierung mit id und headers
erst, wenn noch weitere Überschriften in
der Tabelle vorkommen, die beim Vorlesen ohne diese Auszeichnung nicht mehr unmittelbar mit einer Zelle in Verbindung gebracht werden.
Das Problem ist, dass bei der händischen Auszeichnung von aufwendig strukturierten Tabellen leicht Fehler gemacht werden, die auch
nur schwer zu orten sind. Die bessere Technik ist daher immer die Vermeidung solcher komplexen Tabellen und wenn möglich die Aufsplittung
in mehrere einfache Tabellen.
abbr-Attribut zur Strukturierung kürzen
Oft bestehen Hauptüberschriften in Tabellen aus mehreren Wörtern. Damit dem Nutzer eines Vorleseprogramms nicht für jede
Tabellenreihe diese komplette Wörterkette als Überschrift vorgelesen wird, gibt es das abbr-Attribut. So kann
die Überschrift „Zielflughafen in Deutschland“ dann beim Vorlesen der einzelnen Tabellenreihen mit
„Zielflughafen“ abgekürzt werden. Im Idealfall lesen Vorleseprogramme beim ersten Mal die volle Überschrift und
bei allen Folgereihen dann die Abkürzung vor. Eine beispielhafte Überschrift würde so aussehen:
<th abbr="Zielflughafen ">Zielflughafen in Deutschland</th>
Englische Hilfsautomatik zur Tabellenerstellung (externer Link)