WCAG 2.0 達成方法集

Skip to Content (Press Enter)

-

H63: データテーブルの見出しセルとデータセルを関連付けるために、scope 属性を使用する

達成方法に関する重要な情報

これらの達成方法(参考)の使用法及び、それらがWCAG 2.0 達成基準(規定)とどのように関係するかに関する重要な情報については、WCAG 達成基準の達成方法を理解するを参照のこと。適用(対象)セクションは、その達成方法の範囲について説明しており、特定の技術に関する達成方法があるからといって、WCAG 2.0 を満たすコンテンツを作成する際に、常にその技術が使用可能であるわけではない。

適用(対象)

HTML 及び XHTML

これは、次の達成基準に関連する達成方法である:

ユーザエージェント及び支援技術によるサポート

H63 に関するユーザエージェントサポートノート (英語)を参照のこと。

解説

この達成方法の目的は、scope 属性を利用して見出しセルとデータセルを関連付けることである。 scope 属性を利用するのは、見出しとして利用するあらゆるセルが及ぶ範囲を明確にするためである。範囲とは、そのセルが行、列、行グループ、列グループのどの見出しであるかを特定するものである。rowcolrowgroupcolgroup という値によって範囲を特定することになる。

事例 1 のように、見出しが 1 行目や 1 列目にない単純なテーブルに対してこの達成方法が利用できる。今日のスクリーンリーダーのサポートを考えると、単純なテーブルについて次の 2 つの状況が当てはまる場合に、この達成方法の利用が示唆される:

注記 1: 1 行目や 1 列目に見出しがある単純なテーブルについては、scope 属性を指定せずに th 要素を利用するだけで十分である。

注記 2: 複雑なテーブルについては、H43: データテーブルのデータセルを見出しセルと関連付けるために、id 属性及び headers 属性を使用するの通り、id 属性と headers 属性を利用する。

注記 3: 1つの複雑な表よりも、単純な複数の表を用いて作業するほうが簡単だと思う利用者もいるだろう。制作者は、複雑な表を1つ以上の単純な表に変換できるかどうかを検討したい場合がある。

事例

事例 1: 単純なスケジュール表

次のコード例では、1 列目にテーブルの行番号を示す連番が含まれている。行の中でも重要な値は 2 列目に含まれるため、各セルにscope="row" と指定してある。1 行目のセルは td 要素でマークアップし、これらにも scope="col" と指定してある。

コード例:

<table border="1">
  <caption>連絡先</caption>
  <tr>
    <td></td>
    <td scope="col">名前</td>
    <td scope="col">電話番号</td>
    <td scope="col">ファックス番号</td>
    <td scope="col">市名</td>
  </tr><tr>
    <td>1.</td>
    <td scope="row">ジョエル・ガーナー</td>
    <td>412-212-5421</td>
    <td>412-212-5400</td>
    <td>ピッツバーグ</td>
  </tr><tr>
    <td>2.</td>
    <td scope="row">クライブ・ロイド</td>
    <td>410-306-1420</td>
    <td>410-306-5400</td>
    <td>ボルティモア</td>
  </tr><tr>
    <td>3.</td>
    <td scope="row">ゴードン・グリニッジ</td>
    <td>281-564-6720</td>
    <td>281-511-6600</td>
    <td>ヒューストン</td>
  </tr>
</table>

参考リソース

この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。

検証

チェックポイント

各データテーブルについて:

  1. th 要素全てに、scope 属性が指定されている。

  2. 他の要素の見出しとしての役割を果たす全ての td 要素に、scope 属性が指定されている。

  3. 全ての scope 属性に、値として rowcolrowgroupcolgroup が指定されている。

判定基準

この達成方法が「十分な達成方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの達成方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の達成方法によってその達成基準が満たされていることもありうる。