サイトアイコン WEBデザインMATOME

HTMLアウトラインアルゴリズム完全解説

見出し構造とセマンティックHTMLを正しく理解する

HTMLでセマンティックな構造を設計するうえで、よく出てくる言葉があります。

アウトライン(Outline)

これは簡単に言うと、

ページの「目次構造」

のことです。

例えば本には必ず目次がありますよね。

第1章
1.1
1.2
第2章
2.1

HTMLでも同じように、
見出しとセクションによって文書構造が作られます。

この記事では

を、実務目線でわかりやすく解説します。

アウトラインとは何か?

HTMLのアウトラインとは、

見出しタグによって構築される文書構造

です。

例えば次のHTML。

<h1>HTML入門</h1><h2>基本構造</h2><h2>タグの種類</h2><h3>ブロック要素</h3><h3>インライン要素</h3>

アウトラインはこうなります。

h1 HTML入門
├ h2 基本構造
└ h2 タグの種類
├ h3 ブロック要素
└ h3 インライン要素

これがページの論理構造です。

アウトラインアルゴリズムとは?

HTML5では、

<section>
<article>
<nav>
<aside>

などのセクショニング要素によって
アウトラインが自動生成されるという仕様がありました。

これを

HTMLアウトラインアルゴリズム

と呼びます。

しかし重要な事実

実は現在、

アウトラインアルゴリズムはブラウザで実装されていません。

つまり、

<section>
<h1>タイトル</h1>
</section>

のように書いても、

ブラウザやSEOが
自動的に階層を再構築することはありません。

そのため実務では、

見出しレベルを正しく使うことが最重要

になります。

見出し構造の基本ルール

HTMLには6段階の見出しがあります。

h1
h2
h3
h4
h5
h6

基本構造はこうです。

h1 ページタイトル
├ h2 セクション
│ ├ h3 サブセクション
│ └ h3 サブセクション
└ h2 セクション

正しい例

<h1>Web制作入門</h1><h2>HTMLとは</h2>
<p>説明</p><h2>CSSとは</h2><h3>レイアウト</h3><h3>装飾</h3>

階層が自然です。

よくある間違い

見出しジャンプ

<h1>タイトル</h1>
<h4>説明</h4>

これはアウトラインが崩れます。

見た目で見出しを使う

<h2 class="big-title">

見出しはデザインのためのタグではありません

<section> とアウトライン

<section>

新しいテーマのブロック

です。

そのため通常は見出しが必要です。

<section>
<h2>サービス</h2>
</section>

<article> とアウトライン

<article>

独立したコンテンツ

です。

ブログ記事なら:

<article><h1>記事タイトル</h1><section>
<h2>導入</h2>
</section><section>
<h2>まとめ</h2>
</section></article>

理想的なページ構造

header
main
├ section
│ ├ article
│ └ article
├ section
│ ├ article
│ └ article
aside
footer

これがセマンティックHTMLの基本構造です。

SEOとの関係

検索エンジンは

を使ってページ内容を理解します。

つまり、

アウトラインが整理されているページは理解されやすい

と言えます。

ただし、

h1が1つじゃないとダメ

というルールは現在ありません。

実務のおすすめ構造

ページ

h1
├ h2
│ ├ h3
│ └ h3
└ h2

ブログ記事

h1 記事タイトル
├ h2 見出し
│ ├ h3
│ └ h3
└ h2

実務チェックリスト

ページ作成時は次を確認。

まとめ

アウトラインアルゴリズムの本質は、

見出しで文書構造を作ること

です。

重要ポイント:

これだけでHTMLの質は大きく変わります。

最後に

セマンティックHTMLは、

SEOのためだけの技術ではありません。

すべてに影響します。

モバイルバージョンを終了