HTML5 の 2010 年 3 月 4 日付 W3C 草案 で、dl
要素は以下のように定義されています:
The dl
element represents an association list consisting of zero or more name-value groups (a description list). Each group must consist of one or more names (dt
elements) followed by one or more values (dd
elements). Within a single dl
element, there should not be more than one dt
element for each name.
HTML4 では、dl
要素は definition list (定義リスト) であり、term (dt
) と description (dd
) から構成されるとされていました (Lists in HTML documents)。それが HTML5 では「名前と値のグループからなるリスト」となっており、その例として、「定義語とその定義」や「メタデータの題目と値」などが挙げられています。
ちょっときびしいなと思うのが、“Within a single dl
element, there should not be more than one dt
element for each name.” という部分。1 つの dl
要素の中で、同じ内容を持つ dt
要素が複数存在すべきではない、とのこと。より「連想配列」的な性格を強めたということでしょうか。
しかしそうなってくると、以下のような dl
の使い方は推奨されないということになりますよね…
<dl class="news">
<dt>2010-04-27</dt>
<dd>ブログを更新しました</dd>
<dt>2010-04-27</dt>
<dd>プレスリリースを発表しました</dd>
<dt>2010-04-01</dt>
<dd>サイトをリニューアルしました</dd>
</dl>
<dl class="dialog">
<dt>Costello</dt>
<dd>Look, you gotta first baseman?</dd>
<dt>Abbott</dt>
<dd>Certainly.</dd>
<dt>Costello</dt>
<dd>Who's playing first?</dd>
<dt>Abbott</dt>
. . .
</dl>
ひとつめの例はサイトの更新履歴、ふたつめは会話文のマークアップ例ですが、どちらも同じ内容を持つ dt
要素が 2 回以上出現しているので、あまりよろしくないということになります。あくまで “should not” ですが。