<tr>
の外側にある場合<tbody>
、ページは検証されません:
http://validator.w3.org
他の人が指摘したように、または<tbody>
を使用していない限り、オプションです。後者の 2 つの要素を使用する主な理由は、長い表を印刷する場合に各ページでヘッダーとフッターが繰り返されるようにするためです。<thead>
<tfoot>
カレンダーのようなものを作成しているように思えます。そこでは、<th>
(日付など) と<td>
(その日付のイベントなど) の行を交互に並べたいと考えています。その場合は、交互の行を<thead>
andでラップしない<tbody>
でください。そうすると、ページを印刷するときにブラウザが混乱する可能性があります。グループ化要素をそのままにしておくと、テーブルが検証されます。ただし、一部のスクリーン リーダーは、そのマークアップによって混乱し、ヘッダーの一番上の行をその下のすべてのセルに適用する場合があります。このような複雑なテーブルの場合は、スクリーン リーダーがテーブルの構成を確実に理解できるように、マークアップを追加する必要があります。アクセス可能なマークアップを含むテーブルを次に示します。
<table summary="A brief description of how the table is organized, for screen reader users">
<tr>
<th colspan='2' id="header1">...</th>
</tr>
<tr>
<td headers="header1">...</td>
<td headers="header1">...</td>
</tr>
<tr>
<th colspan='2' id="header2">...</th>
</tr>
<tr>
<td headers="header2">...</td>
<td headers="header2">...</td>
</tr>
</table>
または、データを複数のテーブルに編成できるかどうか、またはスクリーン リーダー ユーザーにとって使いやすい代替バージョンを提供できるかどうかを検討することもできます。たとえば、イベント カレンダーを追加でイベントのリストとして表示できます。