なぜ「リスト」は一つじゃないの? `dl`, `dt`, `dd` を使った、伝わるHTMLの書き方
Webサイトを作っていると、真っ先に覚えるのが `
- ` や `
- dl (Description List):説明リスト。このグループ全体を包む箱です。
- dt (Description Term):説明される用語。つまり「見出し」や「項目名」。
- dd (Description Details):詳細。その項目に対する「答え」や「説明」。
- HTML
- Webページの骨組みを作るための言語です。
- CSS
- Webページを彩り、レイアウトを整えるための言語です。
- ブランド名
- TechGear
- カラー
- スペースグレイ
- 重量
- 1.2kg
- 店員
- いらっしゃいませ!ご注文はお決まりですか?
- お客様
- カフェラテを一つお願いします。
- 発送日
- 2023年10月25日
- 配送業者
- 〇〇急便
- ` ですよね。「箇条書きならこれ!」と迷わず使っている方も多いはず。
でも、ふと「あれ、これってただの箇条書きじゃないよな……」と手が止まる瞬間はありませんか? 例えば、辞書のような「言葉と意味」の並びや、オンラインショップの「商品情報」など。
そんな時、HTMLの世界には「dlタグ」という心強い味方がいます。今回は、この `dl`, `dt`, `dd` という少しマイナーだけれど非常に優秀なトリオについて、現場の知見を交えて優しく解説しますね。
—
「dl」は、ただのリストではなく「関係性」を伝えるタグ
`
- ` や `
- ` が「順番や並び」を伝えるものだとしたら、`
- ` は「関連付け」を伝えるためのタグです。
これだけだと少し硬いですよね。もっと身近な例で考えてみましょう。
例え話:カフェのメニュー表
カフェで黒板に書かれたメニューを想像してください。「カフェラテ:500円」「サンドイッチ:700円」。
これは「項目名(カフェラテ)」と「詳細(500円)」という、切っても切れないペアになっていますよね。こういうものこそ、`dl` の出番なんです。
—
こんなに便利! セマンティックな使い分け
実は最近のHTML仕様(HTML5以降)では、この `dl` の役割が少し広がりました。単なる辞書だけではない、モダンな使いこなし方をご紹介します。
1. 基本編:用語と説明
まずは王道。辞書のような形式ですね。
2. 応用編:メタデータ(お買い物サイトのスペック表)
オンラインショップで、商品の詳細スペックがずらっと並んでいるのを見たことはありませんか? あれも `dl` で書くのが一番きれいで、検索エンジンにも「これはスペック情報ですよ!」と正しく伝わります。
3. 発展編:対話形式(実はチャットも書ける!)
これは意外かもしれませんが、実は会話のログにも使えるんです。ブラウザが「誰が言ったことか」を理解しやすくなるので、チャットツールのようなものを作るときには最適です。
—
つまずきやすいポイント:ここだけ注意!
「`dl` の中に `div` を入れてもいいの?」という質問をよく受けます。
結論から言うと、「大丈夫です!」。
最近のデザインでは `dt` と `dd` を横並びにしたり、グループごとに背景色をつけたりしたくなりますよね。そんな時は、`dt` と `dd` をセットで `
—
最後に:HTMLは「見た目」ではなく「意味」を刻むもの
Web制作を始めたばかりの頃は、「どう見せるか(CSS)」ばかり気になってしまうものです。でも、HTMLは「これは何の情報なのか」という手紙の宛先を書くようなものです。
`dl`, `dt`, `dd` を正しく使うことで、Googleの検索ロボットや、視覚障害の方が使う読み上げソフトに対して「ここは商品のスペックですよ」「ここは会話のログですよ」と、優しく教えてあげることができます。
最初から完璧にできなくても大丈夫。まずは「あ、この項目と説明はペアだな」と思ったら、`ul` ではなく `dl` を思い出してみてください。その小さな心遣いが、あなたの書くコードを世界で一番美しいものにしていきますよ。
それでは、また次回の記事でお会いしましょう!コーディングを楽しんでくださいね。

コメント