junk diary

junk diary

#118 h1とかheaderとか

なぜか会社で私のコーディング手法について説明することになり(技術屋以外は興味なしっぽかったけど)、「h1要素はその文書を表す見出しなので、bodyの直下に入れています。また、h1要素はdiv#headerの中には入れてません。」ということを話したのですが、いろいろ考えているうちに、なんか違うんじゃねぇかっていう自己矛盾に陥ってきた。

まず、h1要素をbodyの直下の件。といっても、bodyの真の直下はもろもろの理由でdivなわけですが、それは置いといて。

HTMLを純粋に文書のマークアップ言語と考えれば、bodyの直下がh1要素というのは正しいと思うのですが、現状のHTMLの使用方法は文書のマークアップというものを越えている感があり、h1要素をbodyの直下に置くとどこか違和感があります。ページのタイトルであるh1要素より上に、サイト名等々が位置することはよくあるわけですし。

てか、h1要素よりサイト名が上にくるっていうのも、実際はそういうのはmetaに書くっていうのがHTML文書的には正しいのだろうけど、現状metaの要素をページ上に出力することはできないわけで(JavaScript使えばできないこともないけど)。で、このあたりから「h1要素はdiv#headerの中には入れてません。」の件につながってくるわけですが、metaの要素をページ上にひょうじさせるために、div#headerというのを作って、そのなかにmeta的なものを記述し、その後にh1要素を続けるっていうのが正しいような気がしてきた。

「h1要素はdiv#headerの中には入れてません。」っていう私のポリシーは、h1要素をdivで囲っちゃったら全体の見出しでなくてdivの見出しになってしまう、h1要素がheaderの中で完結してしまう、っていうところからきています。ですが、こんな記事を見つけまして、

HTML5ではheaderという要素のなかにh1要素を含むっぽい。とすると、h1要素はdiv#headerの中にいれるのが正解ってこと…?

結論、HTML現状とのズレっていうのが一番の原因だと思うので、HTML5とかXHTML2とかは現状にマッチしたムリのでない仕様にして欲しいですね。で、できれば早くでてもらって、validじゃないのはブラウザで表示できませんというぐらい厳格にしてほしいですね。XMLみたいに。

でないと、テーブルで組もうがdiv病だろうがしっかり理論的に組もうが、見た目が崩れなければ良いという間違った認識がなくならないよ;;論理構造でいろいろ悩んでも、Webに対する知識の低いこんな地方では一切評価されないし、ってなんか個人的な愚痴になってきた…orz

深いなぁ…。

comment

 

trackback

ちょっ、先日書いた記事(h1とかheadearとか)のアクセス数がスゴイことに...

HTMLを純粋に文書のマークアップ言語と考えれば、bodyの直下がh1要素というのは正しいと思うのですが、現状のHTMLの使用方法は文書のマークアップ...

trackback url

http://blog.2inc.org/mt-tb.cgi/121