データの表にpre要素を使用していませんか?
米国508条 1194.22(g); WAI/ WCAG1.0 チェックポイント 5.1
 
 
概要

Webページに表のようにフォーマットされたデータを含む<pre>タグがあります。もし、その<pre>タグがデータを表すのに用いられているのであれば、<table>タグに変換してください。

 
 
チェック方法

もし、データを表形式で配列して表すのに<pre>タグを用いているのであれば、<table>、<tr>、<th>、<td>タグを適切な属性(id、headers、scope)とあわせて用いて、データをテーブルでフォーマットしてください。

さらに、

  • <th>タグには、識別のためにid属性をつけるべきです。
  • <td>タグには、適切な<th>タグと関連付けるheaders属性をつけるべきです。

あるいはまた、<th>タグにはscope="col" あるいは scope="row" という属性をつけます。これは、その見出しセルが、それぞれ列全体あるいは行全体のデータセルに対する見出しセルであることを示します。

<th>タグの中でabbr属性を用いて見出しの省略語を提供して、特定のブラウザがそれを繰り返すようにするのもよいかもしれません。

 
 
解説

データテーブルは、縦横の二次元で情報を伝えるのに用いられ、しばしば特定のユーザーにはその内容が理解できないのです。以下のような例を考えてみてください。

  • テキストブラウザは、複数の行と列を正しく一列に並べることができないかもしれない。
  • 音声ブラウザはテーブルの内容を連続して読み上げる。
  • 点字ピンディスプレイもテーブルを連続してスキャンする
  • (PDAあるいは携帯電話のような)とても小さいディスプレイのブラウザはテーブルの限られた部分しか表示しない

これらすべてのケースにおいて、ユーザーはセルの前後関係(そのデータセルが参照しているのはどの行と列の見出しセルなのか?)を記憶しなければなりません。これは、例えば、テーブルが大きいとき、あるいはユーザーが急いでいるとき、ユーザーが必要な情報を探すにはあまりにも無理な要求であり、耐えられないことです。

また、こういったシチュエーションでは、ユーザーはテーブルのあるセルから他のセルへ直接移動できないかもしれないことも考慮してください。ユーザーは、あるセルから(例えば、同じ行の中で)隣のセルに移動するしかないのです。