これは私がしばらく苦労してきた質問です。名前と値のペアをマークアップする適切な方法は何ですか?
私は<dl>要素が好きですが、問題があります。あるペアを別のペアから分離する方法はありません。一意のコンテナーがありません。視覚的には、コードには定義がありません。しかし、意味的には、これは正しいマークアップだと思います。
<dl>
<dt>Name</dt>
<dd>Value</dd>
<dt>Name</dt>
<dd>Value</dd>
</dl>
上記のコードでは、コードとレンダリングの両方で、ペアを視覚的に適切にオフセットすることは困難です。たとえば、各ペアの周囲の境界線が必要な場合、それは問題になります。
テーブルを指す場合があります。名前と値のペアは表形式のデータであると主張することができます。それは私には間違っているように思えますが、私は議論を理解しています。ただし、HTMLは、位置またはクラス名の追加を除いて、名前と値を区別しません。
<table>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
</table>
これは、コードとCSSの両方で、視覚的な観点からはるかに理にかなっています。前述の境界線のスタイル設定は簡単です。ただし、前述のように、セマンティクスはせいぜいあいまいです。
考え、コメント、質問?
編集/更新
おそらくこれは構造に関して明示的に言及すべきものでしたが、定義リストには、ペアを意味的にグループ化しないという問題もあります。dd
aとaの間の順序と暗黙の境界dt
は簡単に理解できますが、それでも私には少し違和感があります。