HTML講座 / caption・scope・セル結合で読みやすい表を作る

読みやすい表では、captionで表全体の内容を示し、thとscopeで値と見出しの関係を表します。colspanやrowspanによる結合は、データに必要な場合に使い、装飾だけを理由に複雑にしないことが大切です。

captionで表に題名を付ける

captionはtableの最初の要素として置き、表全体が何を示すかを説明します。近くに置いた通常の段落とは異なり、表の構造の一部です。対象期間や数値の測定方法が重要なら、題名や近くの説明にも条件を書きます。個々の行や列の名前は、別にthで示します。

scopeで見出しの方向を示す

列見出しはscope="col"、行見出しはscope="row"とします。例の「Monday」と「Morning」が交わる値は3人です。ここでの数値は構造説明用の架空のデータです。

<table>
  <caption>Visitors by day and time of day</caption>
  <thead>
    <tr>
      <th scope="col">Day</th>
      <th scope="col">Morning</th>
      <th scope="col">Afternoon</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Monday</th>
      <td>3 visitors</td>
      <td>5 visitors</td>
    </tr>
    <tr>
      <th scope="row">Tuesday</th>
      <td>4 visitors</td>
      <td>6 visitors</td>
    </tr>
  </tbody>
</table>

scopeは見出しとデータの関係を表すもので、セルを横へ並べたり色を変えたりする指定ではありません。単純な表では関係を推定できる場合もありますが、明示すると意図を確認しやすくなります。W3C WAIの表の解説に基本パターンがあります。

必要な場合だけセルを結合する

colspan="2"は二列、rowspan="2"は二行をまたぎます。次は午前と午後を共通の見出しでまとめる例です。colgroupで列のグループを定め、scope="colgroup"が何に対応するかを明確にしています。

<table>
  <colgroup><col></colgroup>
  <colgroup span="2"></colgroup>
  <tr>
    <th scope="col" rowspan="2">Day</th>
    <th scope="colgroup" colspan="2">Visitors</th>
  </tr>
  <tr>
    <th scope="col">Morning</th>
    <th scope="col">Afternoon</th>
  </tr>
  <tr>
    <th scope="row">Monday</th>
    <td>3 visitors</td>
    <td>5 visitors</td>
  </tr>
</table>

日付の一列と、午前・午後の二列を分けて考えます。結合されたセルを通常のセル一個として数えると配置を間違えるため、結合が占める行列まで含めて確認してください。基本の行とセルは表の基本、複雑な見出しはW3C WAIの不規則な表見出しを参照できます。

見出しとの対応を点検する

任意の数値を指し、「何曜日のどの時間帯の値か」を答えられるか確認します。色や位置だけで判断させず、見出しとの構造的な対応を持たせます。判断しにくければ表を単純化したり、複数の表へ分けたりします。

狭い画面で内容が欠けないか、複雑な表では読み上げで関係を理解できるかも確認します。操作や読み順の確認はアクセシビリティの基本と組み合わせてください。

같은 카테고리의 다른 글
HTML講座 / srcset・sizes・pictureでレスポンシブ画像を作る

HTML講座 / srcset・sizes・pictureでレスポンシブ画像を作る

同じ構図の解像度選択と、画面幅に応じた構図変更を区別して学びます。w記述子、ピクセル密度、currentSrcによる確認方法と、キャッシュが比較に与える影響も解説します。

HTML講座 / テキストの意味を表すem・strong・引用・コード

HTML講座 / テキストの意味を表すem・strong・引用・コード

emとstrong、qとblockquote、abbr、code、kbdの違いを学びます。太字や斜体という見た目ではなく、文章中の役割に合わせて要素を選ぶ方法を説明します。

HTML講座 / HTML文書の基本構造

HTML講座 / HTML文書の基本構造

doctype、html、head、bodyの役割と、文字コード・文書タイトル・viewportの設定を解説します。ファイルの保存から表示確認、表示されない場合の調べ方まで学べます。

HTML講座 / タイトル・説明・言語・文字コードを設定する

HTML講座 / タイトル・説明・言語・文字コードを設定する

title、meta description、charset、viewportとhtmlのlangを整理します。タブと本文の違い、文字化けの調査、検索結果の説明が必ず採用されるわけではない点も学べます。

HTML講座 / textarea・select・option・buttonを使う

HTML講座 / textarea・select・option・buttonを使う

複数行入力、選択メニュー、送信・リセット・通常ボタンを使い分けます。表示ラベルと送信値、初期値と現在値を実際のフォームで比較する方法も紹介します。

HTML講座 / placeholderと入力中も残る案内文を付ける

HTML講座 / placeholderと入力中も残る案内文を付ける

label、placeholder、valueの違いを学びます。inputとtextareaの例、aria-describedbyによる説明の関連付け、フォームデータで送られる値の確認方法も紹介します。

HTML講座 / audio・video・iframeでメディアを埋め込む

HTML講座 / audio・video・iframeでメディアを埋め込む

音声、動画、外部文書の埋め込みを学びます。字幕ファイル、代替リンク、画面幅への対応と、ファイル形式や提供元の制限による読み込み失敗の確認方法も説明します。

HTML講座 / table・tr・th・tdで表を作る

HTML講座 / table・tr・th・tdで表を作る

行と列を持つデータをHTMLの表で表す基本を学びます。見出しセルとデータセル、theadとtbody、横幅が広い表のスクロール方法も紹介します。

HTML講座 / HTMLとは何か、Webページでの役割を理解する

HTML講座 / HTMLとは何か、Webページでの役割を理解する

HTMLで文書の意味と構造を表す方法を、CSS・JavaScriptとの違いとともに学びます。実際にHTMLファイルを保存して、ブラウザーで確認する手順も紹介します。

HTML講座 / 見出しと段落を正しく使う

HTML講座 / 見出しと段落を正しく使う

h1〜h6で見出しの階層を表し、pで段落、brで段落内の改行を作る方法を学びます。文字サイズと文書構造を区別し、見出しの飛び級を修正する練習も行います。