【入門編】dl, dt, ddのセマンティックな使い分け – HTML実践ガイド

なぜ「リスト」は一つじゃないの? `dl`, `dt`, `dd` を使った、伝わるHTMLの書き方

Webサイトを作っていると、真っ先に覚えるのが `

    ` や `

      ` ですよね。「箇条書きならこれ!」と迷わず使っている方も多いはず。

      でも、ふと「あれ、これってただの箇条書きじゃないよな……」と手が止まる瞬間はありませんか? 例えば、辞書のような「言葉と意味」の並びや、オンラインショップの「商品情報」など。

      そんな時、HTMLの世界には「dlタグ」という心強い味方がいます。今回は、この `dl`, `dt`, `dd` という少しマイナーだけれど非常に優秀なトリオについて、現場の知見を交えて優しく解説しますね。

      —

      「dl」は、ただのリストではなく「関係性」を伝えるタグ

      `

        ` や `

          ` が「順番や並び」を伝えるものだとしたら、`

          ` は「関連付け」を伝えるためのタグです。

          • dl (Description List):説明リスト。このグループ全体を包む箱です。
          • dt (Description Term):説明される用語。つまり「見出し」や「項目名」。
          • dd (Description Details):詳細。その項目に対する「答え」や「説明」。

          これだけだと少し硬いですよね。もっと身近な例で考えてみましょう。

          例え話:カフェのメニュー表

          カフェで黒板に書かれたメニューを想像してください。「カフェラテ:500円」「サンドイッチ:700円」。
          これは「項目名(カフェラテ)」と「詳細(500円)」という、切っても切れないペアになっていますよね。こういうものこそ、`dl` の出番なんです。

          —

          こんなに便利! セマンティックな使い分け

          実は最近のHTML仕様(HTML5以降)では、この `dl` の役割が少し広がりました。単なる辞書だけではない、モダンな使いこなし方をご紹介します。

          1. 基本編:用語と説明

          まずは王道。辞書のような形式ですね。

          HTML

          Webページの骨組みを作るための言語です。
          CSS
          Webページを彩り、レイアウトを整えるための言語です。

          2. 応用編:メタデータ(お買い物サイトのスペック表)

          オンラインショップで、商品の詳細スペックがずらっと並んでいるのを見たことはありませんか? あれも `dl` で書くのが一番きれいで、検索エンジンにも「これはスペック情報ですよ!」と正しく伝わります。

          ブランド名
          TechGear
          カラー
          スペースグレイ
          重量
          1.2kg

          3. 発展編:対話形式(実はチャットも書ける!)

          これは意外かもしれませんが、実は会話のログにも使えるんです。ブラウザが「誰が言ったことか」を理解しやすくなるので、チャットツールのようなものを作るときには最適です。

          店員
          いらっしゃいませ!ご注文はお決まりですか?
          お客様
          カフェラテを一つお願いします。

          —

          つまずきやすいポイント:ここだけ注意!

          「`dl` の中に `div` を入れてもいいの?」という質問をよく受けます。
          結論から言うと、「大丈夫です!」。

          最近のデザインでは `dt` と `dd` を横並びにしたり、グループごとに背景色をつけたりしたくなりますよね。そんな時は、`dt` と `dd` をセットで `

          ` で囲んでしまってもHTMLのルール違反にはなりません。安心してくださいね。

          発送日
          2023年10月25日

          配送業者
          〇〇急便

          —

          最後に:HTMLは「見た目」ではなく「意味」を刻むもの

          Web制作を始めたばかりの頃は、「どう見せるか(CSS)」ばかり気になってしまうものです。でも、HTMLは「これは何の情報なのか」という手紙の宛先を書くようなものです。

          `dl`, `dt`, `dd` を正しく使うことで、Googleの検索ロボットや、視覚障害の方が使う読み上げソフトに対して「ここは商品のスペックですよ」「ここは会話のログですよ」と、優しく教えてあげることができます。

          最初から完璧にできなくても大丈夫。まずは「あ、この項目と説明はペアだな」と思ったら、`ul` ではなく `dl` を思い出してみてください。その小さな心遣いが、あなたの書くコードを世界で一番美しいものにしていきますよ。

          それでは、また次回の記事でお会いしましょう!コーディングを楽しんでくださいね。

コメント

タイトルとURLをコピーしました