Mit dieser Frage habe ich schon eine Weile zu kämpfen. Was ist der richtige Weg, um Name / Wert-Paare zu markieren?
Ich mag das <dl> -Element sehr, aber es stellt ein Problem dar: Es gibt keine Möglichkeit, ein Paar von einem anderen zu trennen - sie haben keinen eindeutigen Container. Visuell fehlt dem Code die Definition. Semantisch denke ich jedoch, dass dies das richtige Markup ist.
<dl>
<dt>Name</dt>
<dd>Value</dd>
<dt>Name</dt>
<dd>Value</dd>
</dl>
Im obigen Code ist es schwierig, die Paare visuell richtig zu versetzen, sowohl im Code als auch gerendert. Wenn ich zum Beispiel nur eine Grenze um jedes Paar haben wollte, wäre das ein Problem.
Wir können auf Tabellen zeigen. Es könnte argumentiert werden, dass Name-Wert-Paare tabellarische Daten sind. Das scheint mir falsch, aber ich sehe das Argument. Der HTML-Code unterscheidet den Namen jedoch nicht vom Wert, außer an der Position oder durch Hinzufügen von Klassennamen.
<table>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
</table>
Dies ist vom visuellen Standpunkt aus viel sinnvoller, sowohl im Code als auch im CSS. Das Styling des oben genannten Randes ist trivial. Wie oben erwähnt, ist die Semantik jedoch bestenfalls unscharf.
Gedanken, Kommentare, Fragen?
Bearbeiten / Aktualisieren
Vielleicht hätte ich dies in Bezug auf die Struktur explizit erwähnen sollen, aber eine Definitionsliste hat auch das Problem, die Paare nicht semantisch zu gruppieren. Die Reihenfolge und implizite Grenze zwischen a dd
und a dt
ist leicht zu verstehen, aber sie fühlen sich für mich immer noch etwas unangenehm an.