HTMLのthead・tbody・tfootの使い分けを完全解説!初心者でもわかるテーブル構造の基本
生徒
「先生、HTMLのテーブルでthead、tbody、tfootって何ですか?どう使い分ければいいんですか?」
先生
「簡単に言うと、theadは表のヘッダー、tbodyは本体、tfootはフッターの部分を分けるためのタグです。見た目だけでなく、検索エンジンやスクリーンリーダーにも意味が伝わります。」
生徒
「見た目は同じテーブルでも、分けて書く必要があるんですか?」
先生
「はい。特に大きな表や複雑な表では、thead、tbody、tfootを使うことで構造がはっきりしますし、印刷やスクロールにも便利です。それでは順番に見ていきましょう!」
1. theadとは?テーブルのヘッダーを作る
theadはテーブルの見出し行をまとめるタグです。表の列の名前や説明を入れる場所です。ユーザーが表を見たときに、各列が何を表しているのかすぐわかるようにします。
<table border="1">
<thead>
<tr>
<th>商品名</th>
<th>価格</th>
<th>数量</th>
</tr>
</thead>
</table>
ブラウザ表示
ここでは「商品名」「価格」「数量」が列の名前としてthead内に記述されています。
2. tbodyとは?テーブルの本体データをまとめる
tbodyはテーブルの本体、つまり実際のデータを入れる部分です。theadで列の意味を示したら、tbodyで具体的な情報を記入します。tbodyを使うと、行をグループ化できるのでスクロールやスタイルの調整がしやすくなります。
<table border="1">
<thead>
<tr>
<th>商品名</th>
<th>価格</th>
<th>数量</th>
</tr>
</thead>
<tbody>
<tr>
<td>りんご</td>
<td>100円</td>
<td>5個</td>
</tr>
<tr>
<td>バナナ</td>
<td>80円</td>
<td>10本</td>
</tr>
</tbody>
</table>
ブラウザ表示
3. tfootとは?テーブルの集計や補足情報をまとめる
tfootは表の最後に出す合計や平均などの情報をまとめるためのタグです。表の下に計算結果や補足を置くことで、表全体を見やすく整理できます。
<table border="1">
<thead>
<tr>
<th>商品名</th>
<th>価格</th>
<th>数量</th>
</tr>
</thead>
<tbody>
<tr>
<td>りんご</td>
<td>100円</td>
<td>5個</td>
</tr>
<tr>
<td>バナナ</td>
<td>80円</td>
<td>10本</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>合計</td>
<td>180円</td>
<td>15</td>
</tr>
</tfoot>
</table>
ブラウザ表示
4. thead・tbody・tfootを使うメリット
これらのタグを使うと、検索エンジンやスクリーンリーダーに表の構造を正しく伝えられます。またCSSでスタイルを指定しやすく、印刷やページスクロール時にヘッダーを固定することも可能です。表を分けることで、後からデータを追加する際にも見やすく整理できます。
<table border="1">
<thead>
<tr><th>科目</th><th>点数</th></tr>
</thead>
<tbody>
<tr><td>数学</td><td>90</td></tr>
<tr><td>英語</td><td>85</td></tr>
</tbody>
<tfoot>
<tr><td>平均</td><td>87.5</td></tr>
</tfoot>
</table>
ブラウザ表示
5. 実務での使い方のポイント
実際のWeb制作では、商品一覧、売上表、社員名簿など、行数が多くなる表でthead・tbody・tfootを活用すると便利です。CSSでtheadを固定してスクロールしたり、tfootを目立たせたりすることもできます。HTMLの意味的な構造を意識すると、アクセシビリティも向上します。
<table border="1">
<thead>
<tr>
<th>社員名</th>
<th>部署</th>
<th>勤続年数</th>
</tr>
</thead>
<tbody>
<tr><td>田中太郎</td><td>営業</td><td>5年</td></tr>
<tr><td>鈴木花子</td><td>開発</td><td>3年</td></tr>
</tbody>
<tfoot>
<tr><td colspan="2">平均勤続年数</td><td>4年</td></tr>
</tfoot>
</table>
ブラウザ表示
6. thead・tbody・tfootを使わない場合との違い
もしtheadやtfootを使わず、すべてtrだけで書くと、表の意味が検索エンジンや支援技術に伝わりにくくなります。データが増えたときに見づらくなるだけでなく、アクセシビリティの面でも不利です。構造化されたHTMLを意識することが大切です。
<table border="1">
<tr><th>商品名</th><th>価格</th><th>数量</th></tr>
<tr><td>りんご</td><td>100円</td><td>5個</td></tr>
<tr><td>バナナ</td><td>80円</td><td>10本</td></tr>
</table>
ブラウザ表示
この場合、見た目は同じですが、thead・tfootを使ったときよりも意味が伝わりにくくなります。
7. まとめのポイント
HTMLのthead、tbody、tfootを正しく使うことで、テーブルの意味や構造を明確にできます。theadは列の名前、tbodyはデータ本体、tfootは合計や補足情報という役割です。初心者でも簡単に実践でき、後でCSSでスタイルを調整したり、アクセシビリティを向上させたりする際にも役立ちます。
まとめ
ここまで、HTMLの