Web標準とその周辺技術の学び方

第3回 HTMLとXHTML,HTML5

この記事を読むのに必要な時間:およそ 2 分

HTML5という新しい仕様がでてきましたが,既存のHTMLやXHTMLとはどのような関係があるのでしょうか。簡単にHTMLとXHTMLの歴史を振りかえりながら,両者が抱えた問題や,HTML5の目的について説明しようと思います。

HTML ― 拡張のなかで進化していった言語

HTMLはWeb上での情報交換フォーマットとして,Tim Berners-Leeにより生み出されました。⁠シンプルなハイパーテキストを記述する」という目的があったため,定義されている要素は見出しやリスト,リンクなど,文書構造や文章の意味を記すものに限られていました。

ところが,Webが普及するにつれ,視覚表現をコントロールする要素(いわゆる「タグ」⁠がブラウザーベンダーにより追加されていき,語彙が膨れ上がってしまいました。さらには,要素の意図とは異なった使われ方をされる例blockquotetableなど)が増えていきました。

こうした問題に対処するため,HTMLの標準化が幾度かにわたり行われました。文書の構造や文章の意味を表す要素を中心に,広く使われている要素を取り込むといった形で,現実との乖離を抑えるように設計されました。

とはいえ,装飾的な要素や,要素の誤用は避けなければいけません。このため,fontuなど装飾的な要素については「利用を推奨しない」としたうえで,スタイルシートの利用を促すようにしました。

HTMLの最終版は,1999年に勧告されたHTML 4.01になります。これ以降,W3CはXHTMLの策定へ注力していきました。

XHTML ― XMLとしての価値を追求するフォーマット

XHTMLは,HTMLをXMLの構文に則って定義したものです。XMLベースになることにより,XMLの拡張性や,他のXML技術を利用できるといった利点があります。また,XMLは構文の制約が強いため,実装の非互換を生み出しにくいといった性質もあります。

HTMLはSGMLという言語をベースに標準化が行われました。しかし,SGMLの実装はとても複雑であったことと,初期のHTMLがSGMLベースではなかったことなどから,ブラウザーのHTML解釈がSGMLの仕様に沿わない独自のものになってしまった経緯があります。

HTMLと同じように,XHTMLにもいくつかバージョンが存在します。ひとつが,HTML 4.01をXMLで書き直したXHTML 1.0です。HTMLからXHTMLへの移行を促すべく作られたフォーマットで,新しい要素の追加などはありません。

ですが,XMLの特徴である拡張性は,XHTML 1.0では充分に発揮できません。この拡張性をXHTMLにも取り入れるべく策定されたもうひとつのXHTMLが,XHTML 1.1です。

XHTML 1.1は,HTMLの語彙を機能ごとに分割し定義した「モジュール」から構成されています。ニーズに合わせ,他のXML語彙を取り入れることが可能であり,ベクター画像のSVGや,数式のMathMLと組み合わせたプロファイルも作成されています。

XHTMLの普及と,新たに生じた問題

XHTMLは,2002年頃からの「ブログ」ブームや,⁠Web標準」な制作手法の広がりとともに普及しました。現在,新しくWebサイトを作るときに最も利用されるのは,XHTML 1.0になっているようです。

しかしながら,XHTML 1.1やその先の「XMLを利用したWeb」については,未だ広まっていないというのが現状です。その理由のひとつに,XHTMLやSVG, MathMLなどのXML関連技術を,全てのブラウザーが同じ水準でサポートしていないことが挙げられます。XMLの機能は,HTMLの処理系であるtext/htmlでは基本的に動作しませんから,新しい機能を使おうにもできない状態が続いたのです。

もう一つは,現在公開されているXHTMLを採用した文書や,ブラウザーとの互換性です。XHTML 1.0が主流のフォーマットになっている今ですが,先述した理由もあり,ほとんどすべてがtext/htmlで公開されています。しかし,text/htmlはXMLが求める,厳しいエラー処理を備えていません。また,ユーザー体験を低下させることの無いよう,HTML仕様的にエラーであるものについても柔軟に処理しています。

この結果,XHTMLを採用していながら,XML文書として処理できないものがWeb上にはびこる状態になってしまいました。

Note:
Opera Softwareが2008年に行った調査によると,調査対象のうちXHTML 1.0を利用しているもののなかで,W3CのValidatorを通ったものは13%ほどしかありませんでした。

「仕様に沿っていない文書が公開されているのは制作者が悪い」ということも言えるでしょう。しかし,XMLとして処理できない文書が蔓延する現状で,このまま「XMLなWeb」を推進し続けることは,現実的ではありません。

著者プロフィール

矢倉眞隆(やくらまさたか)

株式会社ミツエーリンクスにて、品質向上に関する業務やWeb標準の啓蒙などに取り組む。HTMLやCSS,WebAppsなどWeb技術の最新動向を追いかけ,「Web標準Blog」にて情報を公開中。

コメント

コメントの記入