ウェブエンジニア問題集
第6章

HTMLのリストとテーブル — ul・ol・dl・tableを使い分ける

3
この章の目次開く

情報を並べるとき、HTMLではリストとテーブルを使い分けます。単なる見た目ではなく、情報の関係性で選びます。

リストのチートシート

タグ用途
ul順序のない箇条書き特徴、持ち物、メニュー
ol順序のある箇条書き手順、ランキング
liリストの各項目ul / ol の中で使う
dl説明リスト用語と説明、項目名と値
dt説明される用語名前、項目
dd説明文値、説明
<ul>
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
</ul>
html
<ol>
  <li>HTMLで構造を作る</li>
  <li>CSSで見た目を整える</li>
  <li>JavaScriptで動きを付ける</li>
</ol>
html

説明リスト

用語と説明、プロフィール項目、FAQのような組み合わせには dl を使えます。

<dl>
  <dt>HTML</dt>
  <dd>Webページの構造を作る言語です。</dd>
  <dt>CSS</dt>
  <dd>Webページの見た目を整える言語です。</dd>
</dl>
html

テーブルのチートシート

タグ用途注意点
table表全体レイアウト目的に使わない
caption表の説明表の内容を短く説明する
thead表のヘッダー行グループ必須ではないが構造化に便利
tbody表の本文行グループデータ行をまとめる
trth / td を入れる
th見出しセルscope を付けると関係が明確
tdデータセル表の値
<table>
  <caption>学習カテゴリ</caption>
  <thead>
    <tr>
      <th scope="col">カテゴリ</th>
      <th scope="col">役割</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>HTML</td>
      <td>構造</td>
    </tr>
    <tr>
      <td>CSS</td>
      <td>見た目</td>
    </tr>
  </tbody>
</table>
html
table は表形式のデータに使います。ページの2カラム配置など、レイアウト目的では使いません。

よくあるミス

ミス問題修正
メニューを div だけで並べるリスト構造が伝わらないulli を使う
手順を ul にする順序の意味が伝わらないol を使う
表見出しに td を使うセルの関係が分かりにくいthscope を使う
レイアウトに table意味と見た目が混ざるCSS Grid/Flexboxを使う

参考リンク

次章では、ユーザー入力を受け取るフォームを学びます。

HTMLクイズに挑戦するリスト、説明リスト、テーブルの使い分けをクイズで確認しよう