早いもので、先月でこの連載を始めてから丸2年になりました。毎回、苦悶しながらやっとのことで筆を進めてきたにも関わらず、ここまで続けてこられたのは、読者の皆さんや編集を担当して下さった佐々木さんや岡本さんのおかげだと、最近、実感としてしみじみ感じるようになりました。
さて、今月はHTML5の締め。HTML5という規格を作る際の拠りどころになっている「HTML設計原則(HTML Design Principles)」という文書を通して、HTML5の設計基準や背景思想について見ていきます。
最初に理解のツボを明かしてしまうと、HTML5以降のHTMLは、その時々の市場の需要を徐々に取り込みつつ、絶えず仕様をメンテナンスし続けていく規格、そんなイメージを持つと、ぐっと理解しやすくなると思います。何十年も使い続ける完成度の高い標準規格という先入観を持ってしまうと、僕自身がそうであったように、負のイメージばかりがどうしても先行してしまいます。(実際に課題も少なくないのは確かで、そのあたりの指摘は、HTML5をよりよいものにするために依然 必要だと思います)
相互運用性の確保
ブラウザによって描画や挙動が異なるという問題には、この連載の読者の皆さんなら、これまで散々頭を悩ませてきたことでしょう。同じ情報を、異なるUAの間でも同じように解釈し、同じように出力することは、情報を交換する上でもっとも大事な事柄のひとつですよね。HTML 5では、こうした実装の食い違いをなくすための努力が払われています。この相互運用性確保のための取り組みこそ、目立たないながらも、HTML 5の大きな特長のひとつといえます。
多くの言語仕様は、妥当な文書のための適合性要件と、妥当な文書を検証する、実装のための適合性要件を規定しています。HTML 5 はすこし特殊であり、これらの要件のほか、適合する文書において認められない概念に対しても、実装の適合性要件を定義しています。
(HTML設計原則 - 1.1. 文書と実装の妥当性より)
- テストケースがボトルネックになる?
ただし、この取り組みは同時に、テストケースの増大を伴うことが容易に予想されます。ここでいうテストケースとは、ウェブブラウザなどのUAベンダーが、自分たちの製品が規格通りに実装できているかどうかを、各機能の要件ごとにチェックできるようにするためのコードのことです。このテストケースのセット一式を「テストスイート(Test suites)」といいます。
HTML5が正式に勧告されるには(正確には、その一歩手前の「勧告案(Proposed Recommendation)」の段階に進むには)、HTML WGがいずれ(近い未来とは考えにくい)公開することになる、このテストスイートを使って、それぞれの機能について、複数の実装がテストケースをパスすることが必要になります。
ところが、これが大変 手間暇の掛かる工程で、この工程(膨大なテストケースの作成と、ベンダーによる実装・チェック・レポート)が、しばしばボトルネックになります。作成することになるテストケースの数については想像すべくもありませんが、たとえば昨年から今年1月にかけて、MicrosoftのIE開発チームが、都合7,005件のテストスイートをCSS 2.1 WGに提出しています(※単純な比較はできませんがご参考まで)。仕様のサイズが膨張すると、その分だけこの工程でかなりの時間と労力を費やすことになります。
HTML5の勧告は2022年になるなんて言われているのも、この工程が大きな要因になっています。HTML Working Group Charterにある、2010年末の完了なんて、とてもとても……。
- 優先度の高くないものはHTML6へ
メーリングリストを眺めていると、時々、HTML WGのeditorであるIan Hickson氏が、"It's too complicated"(複雑すぎる)、だから(その機能|語彙|構文|方法は)採用できない、と提言者を突き放す場面を目にします。これは必ずしも実装が理論的に不可能だということではなく、テストケースの作成や全行程の工数などから考えて、「HTML5の時点では採用しがたい」という意味合いで言っているような印象をしばしば受けます。
どうも彼は、複雑になりそうな機能や、優先度の高くない機能は後日にまわし、HTML5の段階では見送る方針のようです。実際、彼はHTML6以降をすでに意識しているようで、HTML5の勧告前にHTML6の作業に着手すべきだとも主張しています。このあたりも、革新よりも漸進的な進歩(incremental baby steps)を志向する、HTML5の特徴のひとつといえるかもしれません。
HTML6は、まだ具体的には何も動いていない実態のない話ですが、HTMLが市場の要求を容れ続けるためには、むしろ、必然の流れになっていくと言っても過言ではないかもしれません
By the time HTML5 becomes a REC, it will have been out of date for a long
time. I would fully expect work on HTML6 to be in full swing by then, and
HTML6 would be able to track the new features easily.
(2009年3月11日付、public-html@w3.org MLより)
- HTML設計原則 (HTML Design Principles)
- 1.1. 文書と実装の妥当性 (Conformance for Documents and Implementations)
- 4. 相互運用性 (Interoperability)
- 2.5. 改革ではなく発展 (Evolution Not Revolution)
- HTML Working Group Charter(W3C HTML WG)
- W3C勧告プロセスの概要(The Web Kanzaki)
- Interview with Ian Hickson, editor of the HTML 5 specification.(The Web Standards Project)
- HTML5のeditor, Ian Hicksonへのインタビューが公開(Web標準Blog)
このエントリーをブックマークする
このエントリーにトラックバックする
このエントリーのトラックバックURL
http://withd.jp/mt/mt-tb.cgi/3745
WEBの新着記事
2009.06.29
行動につながる情報を見つけ出す
2009.06.25
人柄のデザイン
2009.06.25
Web標準と接する際の3つの留意点
2009.06.18
3年間ありがとうございました、のブックマーク放出
2009.06.11







