Die Semantik von HTML-4.01 -Tabellen
Was ist eigentlich die Bedeutung des Elementtyps »TABLE«?
Einmal die Spezifikation befragen:
- Tables
- “Tables should not be used purely as a means to layout document content as this may present problems when rendering to non-visual media.”
- HTML 4.01 Specification, 11 Tables
Ja, gut. Aber was ist nun, wenn man nicht wissen will, wofür man diesen Elementtyp nicht verwenden soll, sondern wofür man ihn verwenden soll?
Da findet sich eigentlich nichts in dem mathematischen Sinne, wie ich es mir einmal ausgemalt hatte, sondern nur:
- Tables
- “The HTML table model allows authors to arrange data (…) into rows and columns of cells.”
- HTML 4.01 Specification, 11 Tables
Und das ist doch schon sehr auf die Darstellung bezogen.
Beispielsweise haben “rows ” und “columns ” wohl keine direkte Bedeutung für einen HTML-Vorleser.
Wir erfahren nicht, was es nun bedeuten soll, daß ein bestimmtes Datum in einer bestimmten Zeile und Spalte steht.
Das Wort “purely ” (weiter oben) zeigt auch schon, daß man sich der Nähe zur Darstellung bewußt zu sein scheint.
Und in der von mir mit “(…)” gekennzeichneten Stelle steht als Beispiel für “data ”: “images ”.
Also: Tabellen sind auch dafür gedacht, Bilder in Zeilen und Spalten anzuordnen. Das schließt die Möglichkeit ein, daß diese Bilder sich zu einem neuen großen Bild - um nicht zu sagen „Layout“ - verbinden. Und damit verstößt man gegen keine Semantik, weil es keine gibt.
Als Begründung gegen “purely as a means to layout ” wird lediglich angeführt, daß es Probleme “when rendering to non-visual media ” geben könnte. Aber erstens gibt es die auch mit Tabellen, weil es eben keine akustischen Zeilen und Spalten gibt. (Man weiß bei einer Tabelle noch nicht einmal ob man zuerst die Spalten oder die Zeilen vorlesen soll, während die DIV-Elemente wenigstens eine bestimmten Sequenz bilden.)
Zweitens haben mit CSS zusammengesetzte Bilder, die in DIV -Elementen stecken, auch nicht mehr akustische Informationen als wenn sie in einer Tabelle enthalten sind.
Wenn man will, kann man bei Verwendung von DIV -Elementen mit TITLE -Attributen oder über ein spezielles CSS akustischen Klienten, Hinweise zu einer verständlichen Wiedergabe geben. Aber das wäre bei Verwendung einer Tabelle ebenfalls möglich.
Tabellen und CSS sind doch wohl keine Gegensätze. Allerdings wäre es wirklich sinnwidrig, wenn man eine Tabelle mit CSS so verbiegt, daß Spalten und Zeilen nicht mehr klar erkennbar sind, weil Tabellen in HTML-4.01 ja nun gerade dadurch definiert sind, daß sie aus Zeilen und Spalten bestehen.
In ihrer Darstellungsnähe und semantischen Leere kann man aber Tabellen doch wohl in die Nähe zu Elemententypen wie »I« oder »DIV« rücken - etwa im Gegensatz zu »DL«. Ihr „Mißbrauch“ zum „Layout“ erscheint da als weniger schlimm als etwa der Mißbrauch des DFN -Elements zur Auszeichnung von Verben, weil nur das zweite explizit gegen die Semantik verstößt.