無料サンプルレッスン:
HTML:行と列が伝わる表
表の見出しを見た目だけで済ませず、caption・th・scopeで関係を示します。行の入れ替えと一セルの更新を通して、原稿との照合まで練習する無料レッスンです。
1. ゴールと準備
一つの時刻について「どの部屋の何曜日か」を、見た目とHTMLの両方から説明できる表を作ります。HTMLの基本要素を学んだ人向けです。エディターとブラウザーを用意し、練習用フォルダで作業してください。
この課題・初稿・レビューは編集部が作った架空のサンプルです。実際の受講者の提出物や講師による個別評価ではありません。セル結合のない、小さなデータ表だけを扱います。
2. 課題:四つの値を取り違えずに載せる
工作室の開始時刻は、木工室が土曜10時・日曜11時、紙工作室が土曜13時・日曜10時です。表の名前、曜日の列見出し、部屋の行見出しを付けてください。行を入れ替えても意味が崩れないことが条件です。
提出物はHTMLファイルと、「紙工作室の日曜日は10時」のように四つの値を文章へ戻した確認メモです。単に太字や背景色を付けた画像を提出する課題ではありません。
3. 初稿:太字だけでは関係が残らない
<table> <tr><td><b>部屋</b></td><td><b>土曜</b></td><td><b>日曜</b></td></tr> <tr><td>木工室</td><td>10時</td><td>11時</td></tr> <tr><td>紙工作室</td><td>13時</td><td>10時</td></tr> </table>
初稿はbodyへ置く断片です。数値は合っていますが、すべてtdなので、どのセルが見出しかをHTMLで区別していません。表の名前も周囲の文章に頼っています。
4. レビュー例:セルの役割を先に確定する
- 曜日は列全体を説明するためthとscope="col"にします。色を変える前に、どの値を説明しているかを確認します。
- 部屋名はその行の時刻を説明するためthとscope="row"にします。部屋名にcolを付けると向きが違うので、右へ読む関係と照合します。
- captionで表の内容を識別します。「表1」だけでなく、何の時刻かを示します。ページ全体のh1は別に残します。
参考:MDNのthとscope(2026年10月27日確認)。複雑な結合表では、この一段のscopeの例だけで対応しきれない場合があります。
5. 修正版:一枚で開けるHTML
次をtable-practice.htmlとして保存して開きます。CSSは表示を整えるためのもので、見出しの関係はthとscopeが担当します。
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>工作室の開始時刻(練習)</title>
<style>
body { margin: 1rem; font-family: sans-serif; line-height: 1.8; }
main { max-width: 42rem; margin-inline: auto; }
table { width: 100%; border-collapse: collapse; }
caption { text-align: left; font-weight: bold; margin-bottom: .5rem; }
th, td { border: 1px solid #777; padding: .5rem; text-align: left; }
th { background: #fff0dd; }
</style>
</head>
<body>
<main>
<h1>工作室の案内(架空の練習)</h1>
<table>
<caption>土日それぞれの利用開始時刻</caption>
<thead><tr><th scope="col">部屋</th><th scope="col">土曜日</th><th scope="col">日曜日</th></tr></thead>
<tbody>
<tr><th scope="row">木工室</th><td>10時</td><td>11時</td></tr>
<tr><th scope="row">紙工作室</th><td>13時</td><td>10時</td></tr>
</tbody>
</table>
</main>
</body>
</html>
6. 合格基準と再提出
- captionを読むと土日の利用開始時刻の表だと分かる。
- 四つのデータを行名・列名・時刻で読み直し、原稿とすべて一致する。
- tbodyの二行を入れ替えても、部屋名と時刻の組が一緒に移る。
- 幅320pxで文字が欠けず、横方向にページ全体がはみ出さない。
15〜20分を目安に、木工室の日曜日だけを12時へ更新してください。解答では該当する一セルだけが変わり、確認メモも「木工室・日曜日・12時」へ変わります。別の時刻まで変わったら、行のまとまりを読み直して再提出します。
読み上げ環境を使える場合は表内を移動し、見出しとの関係が伝わるかも確認してください。未実施なら構造確認と分けて記録します。行と列の見出しの解説、HTMLの基礎レッスンも参照できます。
無料で読める、
15のサンプル。
実際の受講と同じように、課題 → レビュー → 修正 → 合格基準まで公開しています。
見た目ではなく「意味」でHTMLを書き、読み上げ・検索・保守に強いマークアップへ直します。
02CSSレスポンシブCSS固定幅で崩れるカードを、clamp・grid・container queryを使って小さい画面でも破綻しない設計へ直します。
03Direction / UX情報設計とワイヤーフレーム装飾を始める前に、ユーザーが知りたい順番と事業側の目的を整理してワイヤーに落とします。
04UI DesignUIデザインレビュー色や装飾より先に、優先順位・余白・タイポグラフィで読みやすい画面へ修正します。
05JavaScriptJavaScript:フォームUIクリックで動けば終わりではなく、入力状態・エラー・キーボード操作まで含めてフォームを作ります。
06Accessibilityアクセシビリティ:操作とコントラスト自動チェックだけに頼らず、キーボード・フォーカス・コントラストを実際に確認します。
07WordPress / CMSCMS:更新しやすい設計ページを作るだけでなく、運用担当者が壊さず更新できる情報構造と入力項目を設計します。
08SEOSEO:検索意図とページ設計キーワードを詰め込むのではなく、検索する人の疑問とページの役割を合わせます。
09QA / TestingQA:公開前テスト自分の端末で見えたからOKではなく、正常系・異常系・実機・速度をチェックリスト化します。
10Deploy / Operation公開・運用:リリース設計ファイルをアップして終わりではなく、公開前確認・切り戻し・監視までを一つのリリースとして設計します。
11Direction / Client Workヒアリングと要件定義「何を作りたいですか?」だけで終わらず、背景・課題・優先順位・制約を聞き、制作要件に変換します。
12HTML / AccessibilityHTML:行と列が伝わる表表の見出しを見た目だけで済ませず、caption・th・scopeで関係を示します。行の入れ替えと一セルの更新を通して、原稿との照合まで練習する無料レッスンです。
13CSS / PrintCSS:紙に残す案内の設計画面のメニューを印刷時だけ外し、集合場所や持ち物を紙へ残す無料レッスンです。初稿の適用範囲を直し、印刷プレビューと通常表示の両方で合格条件を確かめます。
14JavaScript / DOMJavaScript:一覧の絞り込みカテゴリ選択を一覧表示へつなぐ無料レッスンです。全件・一致・0件・全件への復帰を実装し、結果の重複や件数のずれを初稿から修正して確認します。
15Operation / Handover運用:更新を引き継ぐ手順書担当が替わっても更新できる手順書を作る無料レッスンです。架空の休館案内を使い、編集元・確認者・公開担当・停止条件・公開後確認を一枚へ整理します。