Zenn
🪬

セマンティックHTMLについて

2025/04/06に公開

✅セマンティックHTMLの重要性

セマンティックHTMLとは、HTMLの構造に適切な意味を持たせてコーディングすることを指します。
セマンティックHTMLを使うことで、以下のようなメリットがあります:

  1. コードの可読性と保守性の向上
  2. SEO対策の強化
  3. アクセシビリティ(利用しやすさ)の改善

✅セマンティック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

ログインするとコメントできます