HTML及びXHTMLのデータテーブル
これは、次の達成基準に関連する実装方法である:
この実装方法の目的は、見た目でテーブルの表題を付ける場合に、プログラムで解釈できるようにデータテーブルと表題を関連付けることである。表題はテーブルの識別子であり、タイトル又は見出しのような働きをする。
caption
要素は表題のテキストのための適切なマークアップであり、(初期状態では)表示上も、テーブルの識別子がそのテーブルに関連付けられていることを保証するものである。さらに、caption
要素を用いることによって、音声読み上げソフトウェアがテーブルの表題に利用者を直接誘導することも可能になる。
caption
要素は、テーブルにsummary
属性を指定しているかどうかに関わらず利用できる。caption
要素はテーブルを特定するもの、summary
属性はテーブルの概要を提供したり、見方を説明するものである。両方とも指定する場合、caption
要素にsummary
属性と同じ情報を含めるべきではない。
WCAG 2.0はレイアウトテーブルの利用を禁止していないが、CSSベースのレイアウトを推奨している。HTML及びXHTMLのtable
要素に与えられたセマンティックな意義を守り、コンテンツから表現を分離するというコーディングの実践に沿うためである。テーブルをレイアウトのために利用する場合、caption
要素は使用しない。レイアウトテーブルの目的は、コンテンツの配置を制御することのみであって、テーブルそのものは利用者から見て「透明」であるべきである。caption
要素を用いることによってテーブルの存在を示してしまうと、この透明性を壊すことになる。
Example Code:
<table>
<caption>3月6日の週のスケジュール</caption>
...</table>
この参考リソースは、あくまでも情報提供のみが目的であり、推薦などを意味するものではない。
HTML 4.01 Table Captions: The CAPTION element
レイアウトテーブルかどうかを確認:テーブルのセルの内容が同じ行や列に含まれる他のセルの内容と関係があるかどうか判断する。
「いいえ」の場合、そのテーブルはレイアウトテーブルである。
「はい」の場合、そのテーブルはデータテーブルである。
テーブルがレイアウトテーブルである場合、caption
要素を用いていない。
テーブルがデータテーブルであり、caption
要素を用いている場合、そのcaption
要素によってテーブルが特定できる。
データテーブルに、summary
属性とcaption
要素の両方を指定している場合、summary
属性の内容がcaption
要素の繰り返しではない。
レイアウトテーブルでは、2.を満たしている。
データテーブルでは、3.及び4.を満たしている。
注意: この実装方法が「達成基準を満たすことのできる実装方法」の一つである場合、このチェックポイントや判定基準を満たしていなければ、それはこの実装方法が正しく用いられていないことを意味するが、必ずしも達成基準を満たしていないことにはならない。場合によっては、別の実装方法によってその達成基準が満たされていることもありうる。
日本語訳における注記:
この文書の正式版は、W3Cサイトで公開されている英語の文書であり、この日本語訳には誤訳が含まれていることもありえます。なお、文中にある「日本語訳における注記」は、W3Cの原文にはないものであり、日本語訳監修者が追記したものです。