WCAG 2.0 達成方法集

Skip to Content (Press Enter)

-

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

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

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

適用(対象)

HTML 及び XHTML

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

解説

この達成方法の目的は、(データテーブル内の)各データセルを適切な見出しセルと関連付けることである。まず、各データセル(td要素)にheaders属性を付加する。次に、データセルの見出しとなるセルにはid属性を指定する。データセルのheaders属性で指定するのは、関連付けられる見出しセルのid属性値であり、2つ以上のidを含める場合はスペース区切りで列挙する。

この達成方法は、データセルを2つ以上の行見出し及び(又は)列見出しに関連付ける場合に利用する。こうすることで、th要素のみ、またはth要素にscope属性を付けただけでは、データセルと見出しセルの関係が複雑すぎて定義できない場合でも、スクリーンリーダーは各データセルと関連付けられている見出しセルを読み上げることができる。また、表現形式が変わったとしても、これらの複雑な関係を知覚しやすくなる。

この達成方法を、レイアウトテーブルに利用することは推奨しない。なぜなら、レイアウトのためにテーブルを利用する際には、意味がないにも関らず何らかの関係性を示してしまうことになるからである。

事例

事例 1: 行見出しが複数あるテーブル

コード例:

<table>
   <tr>
     <th rowspan="2" id="h">予習</th>
     <th colspan="3" id="e">試験</th>
     <th colspan="3" id="p">課題</th>
   </tr>
   <tr>
     <th id="e1" headers="e">1</th>
     <th id="e2" headers="e">2</th>
     <th id="ef" headers="e">最終</th>
     <th id="p1" headers="p">1</th>
     <th id="p2" headers="p">2</th>
     <th id="pf" headers="p">最終</th>
   </tr>
   <tr>
    <td headers="h">15%</td>
    <td headers="e e1">15%</td>
    <td headers="e e2">15%</td>
    <td headers="e ef">20%</td>
    <td headers="p p1">10%</td>
    <td headers="p p2">10%</td>
    <td headers="p pf">15%</td>
   </tr>
  </table> 

参考リソース

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

検証

チェックポイント

  1. レイアウトテーブルかどうかを確認、テーブルのセルの内容が同じ行や列に含まれる他セルの内容と関係があるかどうか判断する。「いいえ」の場合、そのテーブルはレイアウトテーブルである。「はい」の場合、そのテーブルはデータテーブルである。

  2. データテーブルである場合、2つ以上の行見出し及び(又は)列見出しと関連付けられているあらゆるデータセルのheaders属性に、関連付けられている全ての見出しセルのidを指定している。

  3. データテーブルでは、id属性またはheaders属性を指定しているあらゆるセルについて:

    1. データセルのheaders属性で指定した各idが、見出しセルのid属性値と一致している。

    2. データセルのheaders属性で、そのデータセルと関連付けられた全ての見出しのid属性値を指定している。

    3. 全てのidが一意的であり、重複して使用していない(つまり、ページの中で2つ以上の要素が同じidを持つことはできない)。

判定基準

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