Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第17章 h1 は 1 個だけなのか

この章では、「ページに h1 は 1 個だけ」という有名な言い方を、そのまま正誤で裁くのではなく、編集上の助言、仕様上の事実、HTML5 時代の議論に分けて整理します。ゴールは、この標語を見聞きしたときに、「完全に間違い」と切るのでも「絶対ルール」と信じるのでもなく、どの文脈で出てきた言い方なのかを説明できるようになることです。

前章までで、HTML の歴史は単純な善悪で割れないと見てきました。この章からは、その複雑さが実務の言説としてどう現れるかを見ます。次章では、同じく強い善悪で語られがちな table の話を扱います。

17.1 「1 個だけ」は仕様の絶対規則ではない

まず事実から押さえると、HTML では h1 が複数あるだけでただちに不正になるわけではありません。見出し要素は文書の構造を示すものであり、ページ全体に 1 個だけという単純な個数制限で定義されているわけではないからです。

この点を外すと、h1 を 2 個書いた瞬間に仕様違反だ、という雑な理解になります。しかし仕様上の話としては、問題は個数そのものより、見出しの構造がどうなっているかです。

つまり「h1 は 1 個だけ」は、少なくとも仕様の絶対規則として読むと粗い。ここを最初に切り分けておかないと、あとの議論が全部ずれます。

17.2 それでも「1 個だけ」が広まった理由

では、なぜこの言い方がここまで広まったのでしょうか。理由の 1 つは、編集や執筆の感覚としては、それなりに筋が通っていたからです。

1 本の文書に大見出しが 1 つあり、その下に h2 h3 と階層が続く、という構成は分かりやすい。教える側にとっても、「まず h1 はページの主題」と言ったほうが説明しやすい。だから h1 を 1 個にしておく実務上の助言は、一定の整理として長く使われました。

しかもこの助言は、人間の読者だけでなく、テンプレート設計やレビューでも扱いやすい既定値になりやすい。ページの主題はここ という合意を 1 つ置くほうが、チーム内でも説明しやすいからです。だから標語としては生き残りやすかった。

ここで大事なのは、それが仕様の強制と同じではないことです。編集上の助言としては有効でも、HTML の絶対規則だと言い切ると雑になる。h1 を 1 個にするのが常に悪いわけでも、複数あるのが常に悪いわけでもありません。

17.3 HTML5 とアウトラインアルゴリズムが混乱を増やした

話をややこしくしたのが、HTML5 時代のアウトラインアルゴリズムをめぐる議論です。一時期は、各セクション(articlesection のような、文書を意味のかたまりに区切る要素。仕様では sectioning content と呼びます)の中で h1 を使ってもよい、という説明が広まりました。

<article>
  <h1>記事タイトル</h1>
  <section>
    <h1>節タイトル</h1>
  </section>
</article>

この発想では、文書全体で 1 個の h1 を守るより、セクションごとに見出しを立てるほうが自然に見えます。理屈としても一貫しています。しかし実務では、このモデルが期待されたほど単純には定着しませんでした。支援技術、既存の解説、開発者の理解、検索やツールの現場が、必ずしもその説明にきれいには揃わなかったからです。

つまり問題は、「理論として破綻していた」ことより、「現場の道具と理解がその理論を前提に揃わなかった」ことでした。仕様の中にある説明と、実際に人が書き、ツールが読み、支援技術が伝える文書構造が、きれいに一体化しなかったのです。

決定的だったのは、このアウトラインアルゴリズムが どのブラウザにも支援技術にも実装されなかった ことです。仕様の中だけに存在する理想で、実際の見出しレベルを組み替えてくれる実物はどこにもありませんでした。そのため後に、この仕組みは HTML の標準仕様からも削除されました。いま現実的な結論は単純で、「セクションごとに h1 を置けば自動でレベルが調整される」とは考えず、h1 から h6 までを自分で明示することです。

その結果、「h1 は 1 個だけ」と「各セクションに h1 でよい」が、時代によって別々に広まり、現場には混乱だけが残りやすくなりました。

17.4 実務では個数より見出し構造を見る

では、いま実務ではどう考えるべきでしょうか。いちばん重要なのは、h1 の個数だけで良し悪しを決めないことです。見るべきなのは、ページの主題が伝わるか、見出し階層が読者にとって自然か、その構造が支援技術や人間の読解にとって分かりやすいかです。

多くのページでは、結果として h1 が 1 個に落ち着くことはあります。それは自然な設計であることが多い。しかしそれを「絶対にそうしなければならない」という都市伝説へ変えると、判断基準が逆に貧しくなります。

この章の要点は、h1 を何個置けるかというクイズの答えではありません。編集上の助言、仕様上の事実、HTML5 時代の議論を分けて読む視点です。そうすれば、「h1 は 1 個だけ」という短い標語が、なぜ部分的には便利で、同時にそのままでは雑なのかを説明できます。次章では、同じように強い標語で語られがちな table の善悪を見直します。

参考資料