✅セマンティックHTMLの重要性
セマンティックHTMLとは、HTMLの構造に適切な意味を持たせてコーディングすることを指します。
セマンティックHTMLを使うことで、以下のようなメリットがあります:
- コードの可読性と保守性の向上
- SEO対策の強化
-
アクセシビリティ(利用しやすさ)の改善
✅セマンティックHTMLの重要なタグ一覧
文書全体の構造・セクション系
| タグ |
意味・用途 |
| <html> |
HTML文書のルート(全体) |
| <head> |
メタ情報、スタイル、スクリプトなどを含む部分 |
| <body> |
ページの内容本体 |
| <header> |
セクションやページのヘッダー部分 |
| <footer> |
セクションやページのフッター部分 |
| <main> |
文書の主たる内容(1ページに1つだけ) |
| <section> |
意味のあるセクション・章のようなまとまり |
| <article> |
独立した内容(ブログ記事、ニュースなど) |
| <aside> |
関連情報・補足情報(サイドバーなど) |
| <nav> |
ナビゲーションリンクのまとまり |
テキスト・コンテンツ系
| タグ |
意味・用途 |
| <h1>〜<h6> |
見出し(数字が小さいほど重要な見出し) |
| <p> |
段落(paragraph) |
| <blockquote> |
引用 |
| <cite> |
出典、引用元など |
| <abbr> |
略語(省略語に意味を与える) |
| <address> |
連絡先情報(企業情報、著者情報など) |
| <pre> |
整形済みテキスト(コード表示など) |
| <code> |
プログラムコード |
| <strong> |
強調(論理的な強調、SEO的にも重要) |
| <em> |
強調(感情的・文脈的な強調) |
| <mark> |
ハイライト・強調表示 |
| <time> |
日時、時間の意味付け |
| <small> |
補足・注意書きなどの小さな文字(コピーライトなど) |
リスト・グループ系
| タグ |
意味・用途 |
| <ul> |
順序なしリスト(unordered list) |
| <ol> |
順序ありリスト(ordered list) |
| <li> |
リスト項目 |
| <dl> |
定義リスト(description list) |
| <dt> |
用語(definition term) |
| <dd> |
定義(definition description) |
テーブル系(ややセマンティック)
| タグ |
意味・用途 |
| <table> |
テーブル(表) |
| <thead> |
テーブルのヘッダー部分 |
| <tbody> |
テーブルの本体部分 |
| <tfoot> |
テーブルのフッター部分 |
| <tr> |
テーブルの行 |
| <th> |
ヘッダーセル(列見出しなど) |
| <td> |
データセル(テーブルの中身) |
| <caption> |
テーブルのタイトル |
補足:セマンティックではないが、よく比較されるタグ
| タグ |
備考 |
| <div> |
意味を持たない汎用コンテナ(非セマンティック) |
| <span> |
意味を持たないインライン要素(非セマンティック) |
| <iframe> |
外部コンテンツを埋め込むための非セマンティック要素(title属性が必要) |
✅非セマンティックの<div>の活用法
<div>と<section>の比較
非セマンティックの<div>と一番対比されやすいタグは、「構造的な区切り」に使われ、意味を持つセマンティックタグである<section>だと思います。
| 比較項目 |
<div> |
<section> |
| 意味(セマンティクス) |
なし(ただの箱) |
意味がある(まとまった内容) |
| 目的 |
スタイルやスクリプト用のグループ化 |
意味のあるセクションの定義 |
| 検索エンジン最適化(SEO) |
弱い |
強い(意味づけされるため) |
| アクセシビリティ(A11y) |
弱い(補助技術が理解しづらい) |
強い(スクリーンリーダーが理解しやすい) |
| スクリーンリーダーでの扱い |
単なるコンテナとして読み飛ばされることも |
「セクション」などとして読み上げられる |
いつ<div>を使うのか
- 意味を持たない装飾・スタイル用のグループ化だけしたいとき(例:グリッドやFlexboxのためのラッパー)
- 明確にセマンティックタグが合わない、または細かく分けたくないケース
補足:用語
アクセシビリティとは
アクセシビリティとは、すべての人が、状況や能力にかかわらず、平等にウェブを利用できるようにすることです。
アクセシビリティが支援する人たちの例:
| 状況・人 |
支援内容 |
| 👨🦯 視覚障害(全盲) |
スクリーンリーダーで読み上げる。意味ある構造が重要。 |
| 👓 弱視・色覚障害 |
コントラスト、文字サイズ、色に依存しない表現が重要。 |
| 🧏♀️ 聴覚障害 |
音声・動画には字幕やテキスト代替が必要。 |
| ♿ 運動障害(キーボードしか使えない人など) |
マウスなしで操作できる設計(フォーカス順・Tab移動) |
| 🧠 認知障害 |
シンプルで分かりやすい構造、明確なラベルが助けになる。 |
| 📱 モバイルユーザー |
小さい画面・片手操作などにも配慮が必要。 |
| 🚶 一時的な障害(例:手が怪我中) |
音声操作や片手ナビゲーションが有効。 |
| 👴 高齢者 |
小さな文字が読みにくい、操作が複雑すぎない配慮が必要。 |
参考
Discussion