前後しますが、HTML 標準の更新に着手というプレスリリースがW3Cから出されています。XHTMLの導入が遅々として進まず、HTML 4(と言うよりはHTML 4.01だと思うのですが)が事実上の標準の座から降りない為に、HTML 4を基準とした、後方互換性にも配慮する新しいHTMLを作ろうという事らしいです。XHTML 2.0については、既に取組みを進めている活動については継続する一方で、市場における価値や独立性を明確化すべく、名称変更も含めた検討を行います
との事。HTML Working Group Charterによれば、勧告は2010年を目標にするようですね。
個人的には、面白くありません。Web の開発や設計に携わる関係者ら
が要求する実際の利用実態に即し
たHTMLっていうのはつまり、b要素やi要素やfont要素なんかがあるHTMLっていう事なんでしょう。これらの殆ど全てはXHTML 2.0では駆逐されるでしょうし、font要素など一部の要素はXHTML 1.1で既に放逐されてますものね。
違う、違う、HTMLの進むべき道はHTML 4の延長ではないはずです。CSSを知る人は、HTML 4のプレゼンテーション用要素の非効率さに気付いているはずです。XSLTを使う人は、厳密なツリー構造を持つデータがどれ程扱いやすいか解っているはずです。Microsoft Wordを愛用する人は、文書の構成要素に対して、別に定義した「スタイル」を適用する事の威力を肌で感じているはずです。構造とスタイルを分離する事は、遠回りなように見えて、却って近道です。
我々が、例えば本から情報を得る時、(目に障害が無ければ)文書構造は見た目から得ます。綴じられた本の一番最初に大きな文字で「ドルリイ・レーン 最後の事件」と書いてあれば、それが本のタイトルだと認識します。前後に数行の空白があり、少し字下げして「3 十九番目の男」と書いてあれば、それが見出しだと思います。改行されて一文字字下げされれば、新しい段落に入った事が判ります。太い活字で文章が書いてあれば、重要な事なのだと判断するでしょう。でも、見た目と文書構造は必ずしも一致はしません。要点は、必ずしも太字でしょうか? 赤い文字は重要じゃないのですか? 段落の区切りは必ずしも改行、一字下げですか? 時々見かける、「* * *」という罫線みたいなものは何ですか? 見出しは必ずしも数行の空白を伴いますか? 文字が大きく太くなって、数行の空白を伴わない文字列は段落なのですか? また、英語の文書では、字下げの代わりに一行の空白を空けて文章が並んでいる事がありますが、あれは段落ではないのですか? ──スタイルに配慮する事が無意味だとは言いません。むしろ、良いスタイルを与えられた文書は、文章が読みやすくなります。明確な基準で意味や文書構造と見た目が対応する文書は、構造を捉えるのが容易になります。でも、それはHTMLでやる仕事じゃないでしょ。CSSやXSL-FOとかでやる仕事でしょ。構造の記述とスタイルの記述を分離すると、HTMLソースは恐ろしい程見やすく、自分でも構成を理解するのが格段に容易になります(これは元々のソースの複雑さにも依りますが)。タイトルはtitle、見出しはh1からh6まで、段落はp、HTMLを書くのに最低限必要なのはこれだけでしょう? 実際、
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 //EN"
"http://www.w3.org/TR/html4/strict.dtd">
<title>タイトル</title>
<h1>見出し</h1>
<p>段落</p>
は妥当(Valid)なHTML 4.01 Strictです。勿論、p要素だけでは色々な形式のデータを表現できませんから、ulとかolとかdlとか、emとかstrongとか、qとかblockquoteとか、他の要素を使って意味や構造を表す訳です。大体のブラウザはMosaicスタイル? を採用してemで囲まれた文字列は斜体で表示しますが、私は強調は斜体じゃなくて太字でやりたいんだ、って人は、CSSを使ってem { font-weight : bold; font-style : normal; }
とかやる訳です。……人によって、「強調」という意味に与えるスタイルは異なるのですから。
僕の拙い主張じゃ納得できんって人は、RagettさんのGetting started with HTMLとか、神崎さんのごく簡単なHTMLの説明とか、すみさんの「via Internet」談義とかを読むといいのです。僕が初めてこういう思想に触れたのはごく簡単なHTMLの説明でだったのですが、初めて見た時は鳥肌が立ちましたよ。「正しいHTMLは美しいものなんだ」って。
どうも僕には、今回の新しいHTMLはHTML 3.2の再来のような気がしてなりません。仕様が現状に迎合していたのでは、いつまで経っても先に進めないと思うのですが……。