適用 (対象)
HTML 及び XHTML
これは達成基準 1.3.1: 情報及び関係性 (失敗) に関する達成方法である。
解説
コンテンツ制作者にとってデータセルと見出しセルを明示的に関連付けるひとつの方法は id
属性及び headers
属性を使用することである。これによりコンテンツ制作者は複数の見出しセルに特定のデータセルを関連付けられる。これは複数の見出しをレベルをもつ複雑なデータテーブルの場合に必要になる。
この失敗例は、データセルと対応する見出しセルとの関係が、id
属性と headers
属性の関連付けが不完全であるため、正しくプログラムによる解釈が可能でない場合に発生する。例えば、テーブルのコードをコピーしたりコードのアップデートを忘れたときにおこる。
事例
注記: 以下の例は、H43: データテーブルのデータセルを見出しセルと関連付けるために、id 属性及び headers 属性を使用する の例 1 のような複雑なデータテーブルが存在することによる。
例 1: ネストされた見出しと正しく関連付けられていないテーブルコンテンツ
この例では、ネストされた見出しが使われているが、コンテンツのセルは id 属性及び headers 属性によって正しく関連付けられていない。全セルは「Exams」(id="e") のようなトップレベル見出しを参照する - これは「Projects」見出しを参照すべき最後の三つのセルにとって正しくない。また、第 2 レベルの列見出しの参照はコンテンツ (1, 2, Final) が繰り返されるようなこちらの例と違いはなくても、誤って取り違えられる。
コード例:
<table> <tr> <th rowspan="2" id="h">Homework</th> <th colspan="3" id="e">Exams</th> <th colspan="3" id="p">Projects</th> </tr> <tr> <th id="e1" headers="e">1</th> <th id="e2" headers="e">2</th> <th id="ef" headers="e">Final</th> <th id="p1" headers="p">1</th> <th id="p2" headers="p">2</th> <th id="pf" headers="p">Final</th> </tr> <tr> <td headers="h">15%</td> <td headers="e p1">15%</td> // should be "e e1" <td headers="e p2">15%</td> // should be "e e2" <td headers="e pf">20%</td> // should be "e ef" <td headers="e e1">10%</td> // should be "p p1" <td headers="e e2">10%</td> // should be "p p2" <td headers="e ef">15%</td> // should be "p pf" </tr> </table>
動作例 : Table incorrectly associating headers attributes in table content (td) to table headers (th).
検証
手順
- データセルが id 属性及び header 属性によって見出しセルと関連付けられたテーブルの場合、プログラム的な関連付けが正しいことを確認する。
期待される結果
- #1 の結果が偽である場合、この失敗条件は適用され、コンテンツは達成基準の失敗となる。