正月の帰省で実家で暇だから自主的にちまちま進めてる開発をやってたのですが、section タグ内での h1 タグの扱いについて 1 時間程悩んだ結果、自分の答えに辿り着いたので忘れないようにまとめときます。そもそも数ヶ月前に調べたはずなのに頭から抜けてたんで(苦笑)
まず w3.org のサンプルを見てみると、section 毎に h1 タグを使うのが推奨ではあるようです。こちらにサンプルがあります。
それじゃ h1 タグ以外使っちゃいけないのか?というと、そうではないようで、section のネスト毎に HTML4.01 の頃と同じように h タグの番号を増やしていっても問題ないようです。というか、上記のサンプルを w3c validator に通すと warning が出るんですよ。こちらのページがその warning のリンク先である解説です。
要は「まだこの section タグを使った構造に対応してないブラウザなり screen reader(目が不自由な方のためのソフトが主でしょうか)が対応してないかもしれないから、h1 タグ以外を使った方がいいかもよ?」ってことですね。
この warning に対してメーリングリストで疑問が出てたっぽいですね、ぐぐったら引っかかりました、こちらです。日付見て愕然、もう 1 年半ぐらい前から出てた問題じゃないですか、俺遅すぎる(‘A`)
上記メーリングリストの答えも踏まえた個人的結論として、不特定多数の大勢を対象としたサービスの場合は h1 タグ以外も使った方が良さそうですね。一方自分が知ってる範囲内だけが対象で、使っても問題ないと思うようなら h1 タグだけでも大丈夫じゃないでしょうか。
とはいえ h1 タグ以外を使った場合でも、本来は h1 タグを使うことが推奨されているわけで、そのうち h1 タグだけに切り替えた方がすっきりすると思います。どのタイミングで全てのブラウザが対応したか調べるのが面倒 しっかりとした判断つかないですが、w3c validator の warning から消えたらもう h1 タグに切り替えれば良いんじゃないかなと思います。
個人的な結論はこんなところでした。まだ調べ足りない点もあるかもしれないので、指摘・意見等ありましたら Twitter からよろしくお願いします。