Hallo,
Womöglich wäre eine Definitionsliste (dl-Element) beim ersten Beispiel optimal,
Warum? Ich definiere doch im Normalfall nicht die Überschrift, oder?
Doch, abstrahiert gesehen schon. Das dt-Element definiert einen Titel für die Daten im dd-Element und somit ist es einer Überschrift ähnlich (term -> description). Wenn wie beschrieben eine listenartige Sequenz vorliegt, welche jeder Überschrift diese erläuternde Daten unterordnet (»der Bereich, welcher mit $Überschrift betitelt ist, besteht aus bzw. enthält $Daten«), ist eine Definitionsliste strukturell passend.
Genau genommen hast du Recht, eine Definitionsliste ist für die Definition von Begriffen gedacht... Aber eine Tabelle ist nur eine weitere Abstraktionsebene mit mehr Metadaten, eine Definitionsliste lässt sich eins zu eins auf eine Tabelle übertragen:
<table>
<tr>
<th scope="col">Begriff</th>
<th scope="col">Beschreibung</th>
</tr>
<tr>
<th scope="row">foo</th>
<td>bar</td>
</tr>
...
</table>
In XHTML 2-Dimensionen gedacht ist der Unterschied zwischen h, section und p auf der einen und dl, dt und dd auf der anderen von der Struktur her (sic) gering. Das heißt, man würde, wie du sagst, nicht dl verwenden, aber das Modell bliebe nahezu dasselbe, weshalb sich IMHO auch beides tabellarisch in einer sequenziellen Liste darstellen lässt.
Ich persönlich verwende Definitionslisten wahrlich nicht nur um Begriffe zu erläutern, sondern generell um fast schon tabellarische Datenzuordnungen vorzunehmen, siehe http://home.t-online.de/home/dj5nu/molily.html. Ich hätte dort genauso gut Tabellen benutzen können, IMHO wäre es legitim, aufgrund der Darstellung habe ich aber Definitionslisten benutzt, weil diese die Datenzuordnung IMHO genauso passend verdeutlichen - die von mir angesprochene höhere semantische Wertigkeit von Tabellen aufgrund der zusätzlichen Metainformationen über die erste th-Zeile ist hier ebenfalls nicht nötig (habe ich als Autor willkürlich entschieden).
Zur Darstellung: Ähm, wie wäre es mit einem float: left;? *duck*
Ja - darum geht es hier aber nicht, sondern darum, dass generell Metadaten mit einem anderen Datenpaket verknüpft werden, beispielsweise in Form einer Überschrift (header), eines Titels oder einer Zusammenfassung.
Die Darstellung ist im Endeffekt gleichgültig, denn sofern das Markup genug Struktur hergibt, lässt sich (im Idealfall) mit CSS jede mögliche Darstellung erreichen. Die einzige Frage ist deshalb, welches Markup am passendsten ist. float:left anzuwenden, ohne dass im Markup eine tatsächliche logische Verbindung besteht, wäre IMHO sogar gewissermaßen Missbrauch von CSS, da diese zuerst im Markup etabliert werden sollte.
Momentan besteht zwischen einem hX-Element und einem p-Element, welches logisch dem untergeordnet ist, keine Verbindung - das section-Element von XHTML 2 gruppiert immerhin diese zusammengehörigen Daten.
aber eine Tabelle wäre nicht strenggenommen nicht ein Verstoß gegen die Vorgabe, Tabellen nur für tabellarische Daten zu benutzen.
Im Fall eins würde ich doch dazu tendieren, dass das ein Verstoß wäre, im Fall zwei ist das nicht ganz so einfach zu entscheiden.
Warum? Ich sehe vom Datenmodell her keinen großen Unterschied - der Punkt ist einfach, dass hX existiert, welches explizit diesen Fall abdeckt. Ich wollte nur theoretisch beweisen, dass sich beides ineinander überführen lässt, ohne dass die Abhängigkeiten und Neben- und Unterordnungen verloren gehen. Somit läge nehazu dieselbe Struktur vor, semantisch exakter (weil weniger universell) wäre dennoch hX.
Im Zweifelsfall würde ich sicher auch etwas, was eindeutig als Kapitel (chapter/section)-Überschrift aussieht, mit einem hX-Element auszeichnen, wenn nicht alles in einer Tabelle äquivalent organisiert werden kann.
Deshalb wird auch mit einer scheinbar linearen Struktur eine Zu- und Unterordnung vorgenommen, eine Tabelle, welche explizit mit ihrem tr-Element einen Datensatz kennzeichnet und in Datensatztitel und Datensatzinhalt aufteilt, ist nicht unbedingt nötig, hätte aber mehr semantisschen Wert.
Unter Umständen: ja. Wenn man alle 'Kapitel' in eine Tabelle packt, könnte das legitim sein.
Genau, darauf wollte ich hinaus.
Wenn man die erste Ebene eines Dokuments anschaut, kann man sicherlich eine sequentielle Struktur erkennen...
Darum geht es hier aber nicht, ich gehe von einer
...nicht verschachtelten Struktur aus. Die Datenmodelle setzen sich ja gleichförmig bei der Verschachtelung fort, insofern reicht es, das Grundmodell zu betrachten.
(Die minutenlange Verzögerung beim Absenden und bei der Vorschau bringt mich komplett durcheinander...)
Der Vorteil der Tabelle liegt auf der Hand - denn über die th-Elemente lassen sich sogar quasi neue Elementnamen einführen (um in der Veranschaulichung zu bleiben) beziehungsweise die Bedeutung der Elemente determinieren.
Hmmm, ja, aber wir entfernen uns hier wieder vom tabellarischen.
Über die Definition einer Tabelle und damit was »tabellarisch« ist, lässt sich streiten. :) Alles, was einander zu- bzw. untergeordnet wird, lässt sich für mich mittels einer Tabelle darstellen, da ich versucht habe, die Tabelle als XML-Datenmodell aufzufassen, haben alle HTML-Strukturen mit der Tabelle sehr viel gemein... (Die Tabelle ist der Archetyp jedes Datenmodells, oder die Brutstätte... Asche zu Asche, Staub zu Staub, beziehungsweise Metalement zu Metaelement und Datenelement zu Datenelement. ;))
Wenn ich folglich eine Datenstruktur in XML abbilden würde, würde ich ohne Zweifel die erste, semantisch vollwertigere Struktur benutzen. Warum die Semantik verschenken, wenn diese Daten in (X)HTML transformiert werden?
Ja klar, aber Du darfst XML nicht mit XHTML mischen, denn <table>&co sind in XHTML nicht anderes als Tabellen, bei XML können die Tags eine von Dir festgelegte, andere semantische Bedeutung haben.
Die festgelegte Semantik der HTML-Elemente reicht aber (IMHO) nicht aus, um bestimmte Datenstrukturen adäquat abzubilden. Wenn man ul, ol, dl, hX und table nur in einer Weise benutzt, wie sie explizit vorgesehen ist, wird man nicht weit kommen, deshalb möchte ich gerne die Tabelle als Muster für die anderen Elementstrukturen sehen... (Siehe mein Beispiel, indem ich strenggenommen dl missbrauche, weil es sich nicht um einen Glossar handelt.)
Oder reicht es nicht, wenn ich <th> für die Zeilen mit dem Label verwende?
IMHO ja.
Sollte übrigens »doch, es reicht aus« heißen, denn eine positive Antwort auf eine negative These wird in der Regel als Bestätigung der Annahme aufgefasst. Deine Annahme lautete »Es reicht nicht aus, (...)«, ich antwortete inkorrekt: »Diese Annahme halte ich für wahr (true, ACK).« *smirk*
(Ich glaube, ich habe mich insgesamt einige Male wiederholt. Hmmm.)
Grüße,
Mathias
»Auschwitz beginnt da, wo einer im Schlachthaus steht und denkt, es sind ja nur Tiere.« - Theodor W. Adorno