mixiのXHTML・CSS関連コミュニティでもたまに語られる【dl
要素】は様々な使い方がされている。アットスタイルやBlogStyleでも積極的に使用している。
XHTML+CSS (r)evolution: dl要素の応用例、ご意見募集でも数件の利用方法がコメントがされ、その後のXHTML+CSS (r)evolutionでもプレゼンされている。
プレゼン資料(XHTML+CSS (r)evolution スライド)によると
h1
-h6
要素はページ全体から見た文脈上の見出しでしかないため、個別的・直接的な見出しをdt
要素で示し、対応する内容をdd
要素で示す方法が好んで使われる。dt
要素の子要素にはテキスト/インライン要素しか置けないが、dd
要素の子要素にはさらにブロックレベル要素も置ける。この内容モデルの自由さが多目的利用のひとつの理由に。dl
要素はtable
要素の使用を避ける目的でも使われる。th
要素をdt
要素に、td
要素をdd
要素になぞらえる。
DTDを見てみる
<!-- definition lists - dt for term, dd for its definition -->
<!ELEMENT dl (dt|dd)+>
<!ATTLIST dl
%attrs;
>
<!ELEMENT dt %Inline;>
<!ATTLIST dt
%attrs;
>
<!ELEMENT dd %Flow;>
<!ATTLIST dd
%attrs;
>
接尾演算子に注目
(dt|dd)+
であるため、順序には関係なくdt
またはdd
のいづれか一方が1回以上出現すればよい
あるサイトを見て最近気になったのが、以下の例
<dl>
<dd>
<pre>(ソースコード)</pre>
</dd>
<dt>(タイトル)</dt>
</dl>
dt
より先にdd
が出現している。DTDから考えると間違いではないが、文書の構造的にはおかしくはないか...
1月22日追記:記事を一部修正いたしました。