Web標準Blogでは、Web標準の利用に興味のあるWebサイト管理者、Webデザイナーの方向けに、Web標準を利用するための手法やノウハウ、参考になるリソース等を、国内外を問わずご紹介します。
なお当Blogでは、Web標準に関する疑問や質問を募集しています。Webコンテンツ実装プロセスにまつわるお悩みでも結構ですので、お気軽に電子メールでstandards@mitsue.co.jp宛にお送りください。
2007年06月29日
HTML 5により見直されるXHTML
フロントエンド・エンジニア 矢倉
「HTML 5はXML構文も用意するので、XHTML 1.0に対しても改正が行われる」と先日の記事に書きましたが、そもそもなぜ、HTMLとXHTMLというふたつの構文が必要なのでしょうか。これには、それぞれの文書が採用するMIMEタイプ、およびXHTMLが持つ「XMLであることの意味」が関わっています。
現在XHTMLには専用のMIMEタイプであるapplication/xhtml+xmlが定義されていますが、Internet Explorerがこれを解釈できないため普及していません。また、XHTML 1.0であればHTML用のMIMEタイプであるtext/htmlを使用することも許可されているため、現在Web上にあるほとんどのHTML文書およびXHTML文書はtext/htmlで送信されています。
しかし、XHTML文書でtext/htmlを用いる際は注意が必要です。なぜならブラウザは文書をXMLとしてではなくHTMLとして解釈し、XHTML文書のXMLエラー検証を行わなくなるからです。例えば、文字参照を誤ったり非整形式のXHTMLであったとしても、MIMEタイプがtext/htmlであればブラウザはHTML文書と同じように表示してしまいます。このため、検証チェックを行わなければ作者はこれらのエラーに気づきにくくなります。しばしばこのようなエラーもちのXHTML文書を見かけますので、皆さんも公開の前にはきちんと整形式であるかどうかをチェックしてみてはいかがでしょう。
さて、HTML 5ではこの問題を憂慮し、XML構文はMIMEにapplication/xhtml+xml (またはapplication/xml)を用いるものであると定義しました。SVGを埋め込んだりXSLTを使うなどXMLとして扱いたい場合にのみXHTMLを使用し、通常のWebサイトやWebアプリケーションはHTMLを用いるよう促しています。XMLとして解釈できない「XHTML文書」が増えても良いことはありませんし、XHTMLやXMLの未来を閉ざすことになるかもしれません。HTML 5により、XHTMLの持つXMLとしての意味が、改めて見直されることを期待したいと思います。
