HTML、css、そしてHP

4.0以後のHTMLのスローガン「構造はHTMLで、表現はスタイルシートで」を忠実に守ってしまうと、論文みたいなページになってしまうし、他人のサイトと似通ってしまいます。このことは以前書きました。
 
そして、論文みたいなページの典型である「論文」も、HTMLのみで構造を完全に記述できるとは限らないのです。たとえば引用は、BLOCKQUOTE要素を使いますよね。しかしBLOCKQUOTE要素は構造を示すだけですから、どのように表示されるかはブラウザに依存しています。つまり、「この部分がどのように表示されるかはブラウザによります。とりあえず、引用部分であるということはソースに書いておきます」というようなものです。論文を書くときには、こんないいかげんな方法は到底使えません。どんなブラウザを使われようとも地の文章と引用文がはっきり分けられていないと、論文の場合はちょっと困ります。というわけで、引用を示すいちばん確実な方法は、文字データの部分で明記することです。つまり文中にカギカッコでもつけて、はっきりここは引用ですと示す方法です。
しかしこんな方法を使うということは、私はHTMLの仕様を信用していないと言っているのと同様です。
また、HTMLで用意されている要素だけですべての構造が記述できるかといえば、それも怪しいです。たとえば、はてなダイアリーでは上部に「ようこそゲストさん  最新の日記 ログイン ヘルプ」と書かれたヘッダがつくことがあります。ではこの部分の「構造」は何でしょうか。段落でしょうか。しかしこの部分を「段落」と呼ぶのには抵抗があります。ここの構造をあえていえば「ヘッダ」ですが、HTMLには「ヘッダ」を表す要素は存在しません。同様に、「要約」は見出しでも本文でもありませんが、これもHTMLの要素では記述できません。「検索窓」や「プルダウンメニュー」を段落だというのは無理があります。フラッシュ動画だけでページを作ったときに、そのフラッシュの「構造」は見出しでしょうか、段落でしょうか。そのフラッシュが何を映しているかによって「構造」が変わるとは考えられないでしょうか。
 
要するに、「構造はHTMLで、表現はスタイルシートで」というのは、「オマエのページのすべてを、見出し、段落、連絡先、・・・に分類せよ」と言っているのと同義なのです。