アクセシビリティ・ページのつくりの工夫

見出しは順番どおりに

「大きい文字にしたいからh1」は事故のもと。見出しはページの目次——順番どおりに使うと、読み上げソフトにも検索エンジンにも伝わるページになります。

<h1><h6>の見出しタグは、文字を大きくする道具ではありません。正体はページの目次です。目次だと分かって使うと、読み上げソフトの人にも、検索エンジンにも、ページの構造がきちんと伝わります。

見出しだけを拾って読む人がいる

読み上げソフト(スクリーンリーダー)には、ページ内の見出しだけを一覧して、読みたい場所へジャンプする機能があります。目が見える人が「ざっと見出しを流し読みして、読みたい節から読む」のと同じことを、この機能でやっているわけです。

つまり見出しの階層が正しいと、それだけでページに目次がついたのと同じ。逆に太字の飾り文字で代用すると、その目次から丸ごと抜け落ちます。

右の目次は、左のページの見出しタグから自動で作ったもの。太字にしただけの「じこしょうかい」は、見出しタグではないので目次に現れません。

検索エンジンも同じように見出しの階層からページの構造を読み取ります。正しい見出しは、アクセシビリティとSEOの一石二鳥です。

やりがちな2つの事故

見た目のためにレベルを飛ばす

h2だと大きすぎるからh4にしよう」——これをやると、目次に存在しない階層の穴があきます。読み上げソフトの利用者は「h3を聞き逃したかな?」と迷子になります。大きさの調整はCSSの仕事です。

CSS文字の大きさをかえよう見出しの文字の大きさを変えたいときは、CSSコースのこの回へ

太字を見出しの代わりにする

太字の<p>は、見た目は見出しでも目次には載りません(上のデモのとおり)。逆に「見出しタグを、目立たせたいだけの一文に使う」のも同じ事故を逆向きに起こします。章のタイトルなら見出しタグ、強調したいだけなら太字と使い分けましょう。

h1はページに1つ

<h1>ページ全体の題名です。本の表紙が1冊に1つなのと同じで、1ページに1つだけ。その下の章立てを<h2>、さらに細かい節を<h3>が受け持ちます。

<h1>しまちゃんのページ</h1>   <!-- ページの題名:1つだけ -->
  <h2>すきなもの</h2>         <!-- 章 -->
    <h3>たべもの</h3>         <!-- 章の中の節 -->
    <h3>あそび</h3>
  <h2>れんらく</h2>           <!-- 章 -->

インデント(字下げ)は分かりやすさのためで、実際のHTMLでは不要です。頭の中でこの目次の木が描ければ合格です。

見出しをぜんぶ並べたとき「本の目次」に見えたら、それが正しい階層だよ

このレッスンのまとめ

  1. 見出しはページの目次h1h2h3と階層の順番どおりに使う
  2. 大きさが気に入らないときはCSSで直す(レベルを飛ばさない・太字で代用しない)
  3. <h1>はページの題名として1つだけ