508 準拠のコードを作成する必要があり、ヘッダーのないテーブルで問題が発生しています。各行には、左側の列にカテゴリ名、右側の列に値が含まれているだけです。だから私の最初の質問は、これはデータテーブルですか? リストのように、代わりに別の方法で表現する必要がありますか? 有効なデータ テーブルの場合、各列のヘッダー名を作成する必要がありますか? 情報は列ヘッダーを持たない特定の形式であるため、クライアントがこれらを必要とするかどうかもわかりませんが、厳密に 508 に準拠するためにそこにある必要があることを伝える必要があるかどうか疑問に思っています. ? 最後に、たとえばスクリーン リーダーを使用しているユーザーがこれらのヘッダーにアクセスできるが、通常の閲覧者には見えないようにする方法はありますか?
1 に答える
はい、これは非常に単純な構造のデータ テーブルですが、それでもなおです。として表現することdl
は可能ですが、さまざまな書式設定の問題が発生し、アクセスしにくくなる可能性があります (ブラウジング ツールは HTML テーブルを特別にサポートしている可能性があり、dl
.
508 規則の条項 (g) は次のように述べています。厳密な解釈では、すべての行とすべての列にヘッダーが必要です。あなたの場合、これは行の問題ではありません。最初の列のセルはここでは論理的に行ヘッダーであるため<td scope=row>
、それらに使用するだけです。ただし、列ヘッダーの行を追加する必要があります。
これがコンプライアンスに必要かどうかは明確ではありません。ルールには「すべて」という言葉がなく、説明文には「各テーブルの最初の行には列見出しを含める必要があります」と書かれています。したがって、「すべき」や「しなければならない」ではなく、「すべき」を使用します。
ルールで列ヘッダーが必要な場合、たとえば、クライアント側のスクリプトを使用して列ヘッダーを追加することはできません (スクリプトが無効になっていると列ヘッダーは存在しないため)。また、一部のブラウジング モードだけで使用することもできません。ルールは一般的なものです (ヘッダーは、「通常の」ブラウジングでも非常に役立ちます)。
ページを見ていない人に読み上げられたときにページがどのように動作するかを検討してください。表の内容が警告や説明なしで始まっていると、混乱を招く可能性があります。グラフィックのブラウジングでも、認知障害の影響もあって、ユーザーは困惑することがあります。表の前のテキスト (見出しまたはテキスト段落)、表のキャプション、および列ヘッダーの行の説明はすべて、ここで役立つ場合があります。列ヘッダーの内容は、これの一部として計画する必要があります。状況が他のテキストで明確にされている場合、それらはかなり簡潔かもしれません.