Page Top

Web標準と(x)HTML 5とXHTML 2.0と - これからのWebはどうなるのだろう?

August 20, 2007

そもそもは、Zeldman氏のブログにある記事、”What crisis?”を読んだことがきっかけでした。そのブログ記事の中で、彼は、”What exactly is the crisis in web standards?”と言っており、Mollyさんのブログ記事にリンクを張っていました。このZeldman氏のブログ記事は、Mollyさんが書いた記事に対する記事のようでして、私はこの記事を読んで初めてWebのこれからについての議論が、巷において平穏ならぬ様相で語り合われていることを知ることになりました。

今熱く語られているHTML5(やXHTML2.0)のことに対して気に留めていなかった私にとって、Mollyさんのその記事は、彼女が危機感を持ってHTML5に対して真剣に訴えている、ということ以外何を具体的に訴えようとしているのかが良くわからず、ズラ~っとあったコメントを辞書を引き引き読み、それでなんとなく意味がわかるような気がしてきたのですが、それでも、いまいちピンとくるものがなく・・、これはHTML5についてや、XHTML2.0について、そして今のWebの何が問題なのかを知らないことが原因なのだと考え、これらについて自分なりの理解を求め具体的に調べることになりました。

そもそもHTMLを作り出したのは、イギリスのTim Berners-Leeでした。彼がHTMLを作り上げる経緯やWWWの目標など、分かりやすくThe Web KANZAKIさんが書かれています

ここ(上述のKANZAKIさんの記事)に書かれている中で、
”WWWの目標の一つは、文書をコンピュータ処理することで、より強力な情報システムを作ることでした。”
とあり、Tim Berners-Leeが述べたこととして以下のようにあります。

”ウェブの到達目標は次のようなものです:人間とハイパーテキストの相互のやりとりが十分直感的に分かりやすいものとなって、コンピュータで読みとれる形の情報の空間が、人々の思考、やり取り、仕事のパターンの状態を適切に反映できること;そうすれば、コンピュータによる分析は、極めて強力なマネジメントのツールになり得ます。我々の仕事におけるパターンを見いだし、大規模な組織のマネジメントを困難にする典型的な問題から我々を解放して仕事を楽にしてくれるのです。

Tim Berners-Lee, The World Wide Web: Past, Present and Future, 1996”

このような目的だからこそ、1つの大きなデータベースであるWWWワールドにとって、Web標準がとても重要であるわけで、正しいHTMLを書くこと、脱テーブルレイアウト、色々なデバイスに応用が可能なXMLとしてのXHTMLへの移行が重要であるのですが、実際のところ、Web標準への移行はTim氏が思っていたほど進行しなかったようなのです。これは、Tim氏のブログに書かれている次のパラグラフで言われています。

”Some things are clearer with hindsight of several years. It is necessary to evolve HTML incrementally. The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn't work. The large HTML-generating public did not move, largely because the browsers didn't complain. Some large communities did shift and are enjoying the fruits of well-formed systems, but not all. It is important to maintain HTML incrementally, as well as continuing a transition to well-formed world, and developing more power in that world.”

結局のところ、後方互換性を保つことが最大限注意されているWebブラウザなため、例え推奨されていないような作りのウェブページであっても、それをエラーを起こすことなく表示してしまう環境なわけなので、皆で作り上げているWWWの目標と、その利点を知らなかったりすると、必要性に迫られなければ別に問題は起きないし、そのままでもいいじゃない?というようなことも実在することだと思うし、実際問題、web標準でなかったらどんなデメリットがあるのか、というのが強く表に出てこないような現在の状況であると思われます。

ちなみに今現在のXHTMLの普及状況がHTML 5の編集者であるIan Hicksonさんによって公表されていることをミツエーリンクスさんのブログ記事で見つけることができました。
これによると・・、
” * 統計の対象となったHTML文書の数は数十億。
* デフォルトの名前空間がXHTMLのもの、つまりxmlns="http://www.w3.org/1999/xhtml"が指定されたHTML文書の割合は、昨年の15%から20%に増加。
* DOCTYPE宣言のないHTML文書の割合は、昨年の50%から41%へと減少。
* XHTML1のDOCTYPE宣言を行うHTML文書の割合は19%。
* HTML 4.01 TransitionalのDOCTYPE宣言があり、そのうちURI(システム識別子)のないものは11%。URIのあるDOCTYPEは6%。
* application/xhtml+xmlで送信されるXHTML文書の割合は、昨年の0.014%から0.062%へ増加。

ということのようで、ブログの影響もあって、XHTMLで作られているページが増えているようなのですが、ミツエーリンクスのフロントエンド・エンジニア 矢倉さんが言われているように、例え、XHTMLで作成されているページであっても、それがどれだけ整形式(well-formed)であるかどうかはこの統計からはわからない、ということもこの統計の側面にはあると思います。

しかしながら、せっかくXHTMLのドキュメントが増えているのに、問題なのは、XMLとしての拡張性を備えることを目的にHTML 4をXML 1.0 アプリケーションとして再定式化されたXHTML1.0が、XML文書において推奨されているXML宣言をすると、IEでは(IE7を除く)後方互換モードになるという問題があります。

しかし、XHTML 1.0文書では、次にあるように
”An XML declaration is not required in all XML documents; however XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16 and no encoding was determined by a higher-level protocol.”

文字コードがUTF-8やUTF-16以外の場合は、XML宣言をすることが強く推奨されていますが、文字コードがUTF-8やUTF-16であることが指定されていれば、XML宣言を省略することができ、この方法をとっているサイトも多いと思われます。

これ以外にも問題があり、それは、MIMEタイプの指定なのですが、本来XHTMLのMIMEタイプはapplication/xhtml+xmlが推奨されているのですが、IEがこれに未対応(IE7においても未対応)であるので、application/xhtml+xmlを使うのであれば、IEを使わなければ良いだけの話なのですが、今も尚多くの人が使っているブラウザなので、使わない!ということは現実的ではないので、IEを考慮に入れなければなりません。なので、XHTMLを使用するにあたって推奨されているapplication/xhtml+xmlが使えないという状況なのですが、XHTML1.0 TransitionalもしくはFramesetではMIMEタイプにtext/htmlを使っても良しとされているので、XMLとしてであれば使うことが出来るMathMLやSVGなどを使わないのであれば、殆どのサイトではたとえページがXHTMLではあっても、そのMIMEタイプにtext/htmlが使われていると思います。ブラウザは、MIMEタイプがtext/htmlであるので、そのドキュメントがXMLの構文で組み立てられたドキュメントであっても、HTMLとして表示します。なので、構文的にエラーがあっても、表立って明らかにエラーであることがわからないのが現実です。

こういったことから、文書はXHTML形式ではあるけれども、実際のところは、HTMLの文書である、というのが殆どの場合に当てはまると思われ、その場合、ブラウザはXMLとしてのエラーを表示しないので、非整形式のドキュメントがたくさん出てくる可能性がたくさんあります。よって、XMLとしてブラウザが処理することができずに、非整形式のドキュメントがWWW上にたくさんできるようであれば、本来のWWWの目的が遂行されず、Webが混沌とした世界になるとも限らないわけで、それに、前述しましたが、いくら今Web標準と言われ、XHTMLが推奨されていても、HTMLが厳禁されているわけではないので、HTMLを使う人は今もたくさんいるわけです。

また、今主に使用されているHTML 4 や XHTML 1.0にはたくさんの問題があるようなのです。SuikaWikiさんのところで詳しく述べられており、引用すると、
”HTML 4 や XHTML 1 は現在多くの問題を抱えています。一番大きな問題はその対象で、 HTML は昔から簡単なハイパーテキスト (文章 + ハイパーリンク) による情報交換を目的にしていますが、現在 HTML が使われている場面の多くは簡単なハイパーテキスト ではなく、 Web 上に構築された応用(アプリケーション)の界面です。

W3C は XHTML 1 の後継として XHTML 2.0 の開発を進めていますが、 XHTML 2.0 の目的は 簡単なハイパーテキストに Semantic Web のための機能を加えたものに過ぎず、需要に応えられそうにありません。 XForms 1.0 や XForms 1.1 は Web 応用(アプリケーション)の媒体としての機能の一部を提供しますが、あくまでフォーム関連の部分だけで、十分ではありません。なにより、 XHTML 2 と XForms 1 は従来の HTML 4 や XHTML 1 と互換性がありません。

あるいは、 HTML 4.01, XHTML 1.0, XHTML m12n, XHTML 1.1, DOM水準2 HTML と仕様書が沢山あって (しかも依存関係があって) わけがわからないとか、 DOM水準0 の標準化が行われていないとか、色々と問題が残っていますが、 W3C は積極的に解決する気がないようです。

HTML 5 はこのような問題を解決して、 HTML を Web 応用(アプリケーション)の媒体として今以上に適当なマーク付け言語に拡張しようとしています。”

ということのようなのです。だから今のHTML4.01では駄目で、HTML4.01を受けて作られているXHTML1.0も現在のWebの需要にこたえられるようではなく、だからといって、XHTML2.0は進んではいるものの、後方互換性がなく、XFormなどの強力なフォーム関連の機能があるようなのですが、現在必要とされているものが十分ではなかったりと今の時点では十分ではないようなのです。

ちなみに2007年はまだ勧告にはならないだろうと言われているXHTML2.0ですが、よりXML化しているらしく少し複雑になっているらしいのですが、私が欲しいと思っていたような機能が用意されてもいるようなんです。それはH1, H2, H3, H4, H5, H6タグに代表される見出し用のタグが、hとsectionというものだけで自動的に見出し順位が形成される、というところなのですが、私はHTMLページを作成するとき、基本的に、トップページであれば、ロゴがこのドキュメント(Webサイト一連)のH1(大見出し)にあたると思っていますが、トップページから階層を降りていった、たとえば、”About”というページにおいては、ロゴがこのページの大見出しではなく、”About”がこのページの大見出しにあたると思っているわけですが、オリジナルで作られたブログサイトならまだしも、現在のブログなどのCMSだと、テンプレートとして存在するようなブログの場合が多くあり、実際に使用するのが不特定大多数の人であるので、タグ付けを正しく実現するのはなかなか難しい問題であると思っています。そうなると、やはりエラーを出さずに、文章構造をconformさせるには、やはりすべてのページにおいてロゴをH1にすることが妥当であり、実際の見出しはすべてH2から始まることが現実的であるように思えるのですが、あまり納得のいくものではありません。。これをXHTML2.0であれば、hとsectionタグでうまく見出し構造を構築できるようなのです。(これについて、IBMのHTMLの将来、パート2:XHTML 2.0で詳しく例と共に述べられているのでこちらを参照してください。)

話を戻して・・、なのでこのような状況から、Tim氏が新たなHTMLを作成する必要があるとして、W3Cの中にHTML Working Groupが作られ、今新たに活動が活発化しているようなのですが、そんな中、Apple、Mozilla Foundation、Opera Softwareが”Web Hypertext Application Technology Working Group(WHAT WG)”としてHTML5を策定しており、4月にこれをW3C HTML Working Groupに対して”Proposal to Adopt HTML5”として送信したということなのです。今はW3CのHTML Working GroupとWHAT WGがこれを検討しているようなのですが、もう私はこの時点でHTML WGだとか、WHAT WGだとか、HTML 5だとかで、どっちがどっちなのか、かなり混乱してしまいました・・。

このHTML 5ですが、HTML 5であるけれども、XHTML 5でもあるようで、XML構文をサポートするようなんです。なので、XML構文にする場合は、MIMEセットにapplication/xhtml+xml (またはapplication/xml)を使用しなければならないそうなんです。これはミツエーリンクスさんの”HTML 5により見直されるXHTML”に以下のように述べられています。
”SVGを埋め込んだりXSLTを使うなどXMLとして扱いたい場合にのみXHTMLを使用し、通常のWebサイトやWebアプリケーションはHTMLを用いるよう促しています。”

これは、これまでのXHTML1.0において、XHTMLであるのに実際のところはXMLではない、という問題をなくすためのようなのですが、”HTML5.JP - 次世代HTML標準 HTML5情報サイト”さんのところで日本語に翻訳されている”WAHTWG - WHATWG and HTML 5 FAQ 日本語訳”を読むと、MIMEタイプについては結構強く推奨されているのが分かります。

あと、このQ&Aで、”空要素は /> や > で閉じなければいけませんか?”という問いがあるのですが、この答えとして以下のようにあります。
”HTMLのvoid要素(空要素の新しい言い方)は、要素を閉じるためのスラッシュは必要ありません。例えば、<br /> と書く代わりに、<br> とだけ書けば良いのです。これは、img, input のようなすべてのvoid要素に当てはまります。

しかし、HTML 1.0の利用の広まりによって、終了タグのスラッシュを使っているページが山ほどあります。XHTML 1.0からHTML 5へ移行しやすいように、HTML 5では終了タグのスラッシュを(推奨ではありませんが)許可することになりました。

この構文は、HTMLでは何も目的を果たさず、ブラウザに無視されるに過ぎない点をよく理解してください。それがXML構文に基づいているのは事実ですが、HTML文書がXMLツールで構文解析されることを意味するものではありません。HTMLとXHTMLはシリアライゼーションが分かれており、それらは、それぞれのフォーマットを処理するために設計されたツールを使って処理されなければいけません。”

このことからも、今後HTML 5においては、XMLの技術が必要なMathMLやSVGなどを取り入れることがない限り、HTMLとしてページを作成し、HTMLとしてコーディングをする、ということのようなのです。つまり、これまでのような、XHTMLという名前のファイルではあるけれども実際のところはHTMLのページ、というようなものはWWWからなくさなければならず、XHTMLというページであるからには、XMLでなければならない、というより明確な立場になるのだと思います。

また、このFAQで、”HTML 5の開発はいつ終わるのですか?”という問いに、

”HTML5は、2022年以降にW3C勧告に至ると見込んでいます。2004年半ばから始めましたので、だいたい18年から20年の開発となるでしょう。”

とあることから、今色々騒がれてはいるけれども、HTML 5がW3Cの勧告になるには結構時間がかかるようなので、今のところはひとまずXHTML1.0とCSSでWeb標準に従ってページを作成していれば良いのかな?と思います。でも、まだHTML 5が次世代HTML規格になるのかわからないし、将来勧告されるのがHTML 5よりも早くなるであろうXHTML 2.0が勧告された後の反応がどうなるのかであったりして、どっちがどっちで何を先々に備えて考えておけばよいのか良くわかりません。HTML 5のHTMLシリアライゼーションであるのか、XHTML 2.0であるのか?あ~なんだかまだ何も始まってはいないのに、既に疲れてしまいました・・。

(2007年8月20日、記。)

最新記事

Comments

ぷっは~、お疲れ様です。とっても密なエントリでしたね。
akiさんの記事でまたしても「なるほど~」と頷きました。なんだかいろんな専門用語出てきて、けっこう圧倒されてますが、同時にもっと勉強せねばと思ってます。ウェブ標準の意味を最近になって理解し始めたB級デザイナーな私は、問題点とこれからのxhtmlとHTMLを気にも留めてませんでした。でもまだまだ先の話のようですね、次世代のxhtmlとHTMLは。今はただクリーン構文を書く事を心がけるのが一番なのでしょうか。がんばります!

この出来事を色々調べるのにものすごい時間かかってしまって・・、もう最後の方はど~っと疲れがでました。(笑)モーリーさんのちょっとしたお騒がせ(?)な記事が結果的には良いお勉強の元になったわけですが、それにしても、せっかくこの数年でみんなHTMLからXHTMLに書き方を変えていってたのに、今更ながら(と言ってもまだ先だと思いますが)またHTMLの書き方に戻すのもなんだかね?という感じがしないこともないような?
きっと数年後は、「あの頃XHTMLに書き換えてたのはなんだったんだろーねー?」ていう感じになっちゃったりするんでしょうかね?あと、endunhamさんはB級デザイナじゃないと思いますよ~~!!自信をお持ちくださいませ~☆私もまだまだたくさん勉強しないと~。webの世界は早いからすぐ置いてけぼりな気持ちになる私でした・・。