データテーブルにキャプションを付けるためにデータセルまたはヘッダーセルを使用しないでください
修正方法
この問題を修正するには、セルと colspan
属性を使って視覚的にキャプションを表すのではなく、テーブルに実際の caption
要素を使うようにします。
スクリーン・リーダーのユーザーがテーブル形式のデータを理解できるようにするには、画面上のタイトルに caption
要素を使用します。
例: caption
要素を使用したシンプルなデータテーブル
<table class="data">
<caption>
Greensprings Running Club Personal Bests
</caption>
Greensprings Running Club Personal Bests
</caption>
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">1 mile</th>
<th scope="col">5 km</th>
<th scope="col">10 km</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Mary</th>
<td>8:32</td>
<td>28:04</td>
<td>1:01:16</td>
</tr>
<tr>
<th scope="row">Betsy</th>
<td>7:43</td>
<td>26:47</td>
<td>55:38</td>
</tr>
<tr>
<th scope="row">Matt</th>
<td>7:55</td>
<td>27:29</td>
<td>57:04</td>
</tr>
<tr>
<th scope="row">Todd</th>
<td>7:01</td>
<td>24:21</td>
<td>50:35</td>
</tr>
</tbody>
</table>
なぜ重要なのか
スクリーン・リーダーはテーブルを特定の方法で読み上げます。テーブルが正確にマークアップされていない場合、混乱させるような、あるいは不正確なスクリーン・リーダーの読み上げ内容になる可能性があります。
テーブルにセルと colspan
属性を使って視覚的にキャプションを表す代わりに、実際の caption 要素でマークアップしないと、スクリーン・リーダーのユーザーはテーブルの目的を正しく理解できません。
ルールの説明
データテーブルのマークアップは長く複雑になりやすいです。スクリーン・リーダーはテーブル移動を楽にするいくつかの機能を持っていますが、これらの機能が正しく動作するには、テーブルが正しくマークアップされていなければなりません。いくつかのテーブルは実際の caption 要素ではなく、セルと colspan
属性を使ってキャプションを視覚的に表します。
仕組みについて (簡単に言うと)
テーブルセルでマークアップされたデータテーブルが視覚的にキャプションを表すために colspan
を用いているか確認します。