テーブル

情報の中には、グリッド形式のものがあります。電車の時刻表、価格プラン、リーグテーブル、栄養成分表:いずれも行と列を持ち、その意味は行と列の整列方法にあります。HTMLには、まさにこの種のコンテンツ用の専用要素セットがあり、それを使用することで、画面とページを読み上げるソフトウェアの両方でグリッドを読み取り可能に保ちます。
テーブルの基本
**テーブル**は、スプレッドシートと同じ形状の行と列のグリッドです。4つの要素で構築します。<table>はグリッド全体をラップします。各<tr>は1つの行です(trはtable rowの略)。行の中に、各<td>は1つのデータセルです(tdはtable dataの略)。セルが列または行にラベルを付ける場合は、代わりに<th>を使用します(thはtable headerの略)。ブラウザはそれを太字で中央配置して、データから区別します。
<table>
<tr>
<th>曜日</th>
<th>営業時間</th>
</tr>
<tr>
<td>月曜日</td>
<td>8:00から18:00</td>
</tr>
<tr>
<td>土曜日</td>
<td>9:00から14:00</td>
</tr>
</table>2つのヘッダーセルが上部にあり、次に2つのデータ行があります。ブラウザはグリッドを描画し、各列をそのコンテンツに合わせてサイズ設定し、2つの<th>セルを太字でレンダリングします。
<table>、各行の<tr>、セルの<td>、ヘッダーセルの<th>。ヘッダーセルは太字で中央配置されるため、データと区別できます。一度に1行ずつ構築すれば、列が自動的に整列します。 テーブルの構造化
行の順序は人々が読む順序なので、<th>セルで構築した**ヘッダー行**を上部に配置してください。その後、すべての行を同じ長さに保ちます:ヘッダー行に3つのセルがある場合、その下の各<tr>にも3つの<td>セルが必要です。セルが不足している行はグリッドに隙間を残し、列は整列しなくなります。ここで学ぶべき新しいことはなく、既に知っている行に注意を払うだけです。
<table>
<caption>地域別四半期収益</caption>
<thead>
<tr>
<th>地域</th>
<th>Q1</th>
<th>Q2</th>
</tr>
</thead>
<tbody>
<tr>
<th>北部</th>
<td>£12,000</td>
<td>£15,400</td>
</tr>
<tr>
<th>南部</th>
<td>£9,800</td>
<td>£11,200</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>合計</th>
<td>£21,800</td>
<td>£26,600</td>
</tr>
</tfoot>
</table><th>セルのヘッダー行で始めてください。その後、すべての行を同じ長さに保ちます:上部に3つのヘッダーがある場合、下の各行に3つの<td>セルが必要です。セルが不足しているのはグリッドの隙間であり、これが初期段階で人々を困惑させるものです。 アクセシブルなテーブル
アクセシブルなテーブルは、スクリーンリーダーを使用してページを**スクリーンリーダー**(ページを読み上げるソフトウェア)で聞く人を含め、誰もが理解できるテーブルです。最も役立つことは、既にツールキットにあります:<td>ではなく、すべてのヘッダーセルに<th>を使用してください。スクリーンリーダーはどのセルがラベルであり、どれがデータであるかをリスナーに伝えることができるため、「£15」のような値は、それが属する列とともに発表されます。すべてのセルが通常の<td>であるテーブルは、数字の平らな壁として読み上げられ、それを基盤にするものはありません。
アクセシビリティはテーブルだけに広がります。Accessibilityチャプターは画像の残りの部分をカバーしています。
<th>、データに<td>を使用します。スクリーンリーダーはその分割に頼って、各値を属する列ヘッダーで読み上げます。「£15」は単独ではなく列とともに到着します。スキップするとテーブル全体が散在する数字の壁として着地します。 テーブルはデータ用で、レイアウトではない
CSSがレイアウトを処理できる前の時代、人々はテーブルからページレイアウト全体を構築していました:メニューを左に、コンテンツを右に配置する<table>です。視覚的には機能するため、古いページと一部のメールテンプレートにまだ表示されます。コピーしないでください。テーブルは**表形式データ**用です。行と列のグリッドに属する情報です。ページの部分を配置することは、CSSの仕事です。データを保持する代わりに物を配置するのにテーブルを使用すると、スクリーンリーダーを使用している人はページを読みにくくなり、後で調整しにくくなります。
<!-- 誤り:サイドバーを記事の横に配置するために使用されるテーブル -->
<table>
<tr>
<td><nav>...</nav></td>
<td><article>...</article></td>
</tr>
</table>
<!-- 正しい:実際の要素で、CSSが列を処理 -->
<nav>...</nav>
<article>...</article>これは、What is HTMLに記載されている構造とプレゼンテーション分離と同じです:HTMLの構造、CSSのレイアウト。意味別に要素を選択する場合は、Semantic HTMLを参照してください。

