レイアウトテーブルの音声読み上げ順序をチェックしてください
WAI / WCAG 1.0 優先度2 チェックポイント 5.3
 
 
概要

Webページに、レイアウト目的で使用されていると思われるテーブル(すなわち、caption、thead、th、およびtfoot要素のないテーブル)が少なくとも1つあります。

テーブルがリニアライズ(線形化)されたときに、そのコンテンツが音声読み上げソフトで意図した通りの順序で読み上げられて、意味が通じるようにしなければなりません。

 
 
チェック方法

リニアライズされたときに、Webページにあるテーブルでレイアウトされたコンテンツが、正しい順序で読み上げられることを確認してください。考え方としては簡単です:単にすべてのタグを外してしまったときのことを想像すればよいのです。

また、1枚の紙を用意して、そのWebページ上でその紙を下げていきながら、上から順に1行ずつチェックしていくことで問題の有無が発見できることもあります。

表形式でデータを提供するテーブルに関しては、ここで述べているようにリニアライズする必要はありません。いわゆるデータテーブルは、適切なマークアップ(th要素、scope属性、axia要素、idおよびheaders属性など)によってアクセシブルにしなければなりません。この拡張機能には、WCAG 1.0 や508条のガイドラインに沿ってデータテーブルをチェックする項目が用意されています。

 
 
解説

アクセシビリティがWebページのデザイン・テンプレートが決まって完成した後に初めて考えられたときには、しばしばそのWebページのコンテンツをレイアウトしているテーブルの構造が、ノングラフィカルなブラウザでは正しく機能しないことがあります。

最もよくある失敗は、情報を(X)HTMLのテーブルで1行ずつレイアウトし忘れてしまうことです。

ノングラフィカルなブラウザは、テーブルのコンテンツを1行ずつ上から順番に表示したり読み上げたりします。たとえ、見た目では列ごとに順番に読み上げるように見えるレイアウトだったとしてもです。

以下の例を考えてみてください( &w3c_html_tech; [&url_w3c_html_tech;#tables-layout] より):

... もしテーブルが画面上でこのようにレンダリングされた場合:

今朝の降水確率は30%    ウィスコンシン大学の授業は
ですが、週末には雨は    9月3日に再開する。
やむでしょう。

スクリーンリーダーは以下のように読むことがある:

今朝の降水確率は30%ウィスコンシン大学の授業は
ですが、週末には雨は9月3日に再開する。
やむでしょう。

リニアライズというのは、テーブルのような二次元の構造を、一次元の構造に変換する処理のことです。これは、あらゆる音声ブラウザあるいはスクリーンリーダーがWebページのコンテンツを音声に変換するために行う処理です。