XML宣言で発生するIE6の問題

XHTML文書で必要なXML宣言

XHTMLはXMLアプリケーションの1つという位置づけです。そのため、文書の先頭でXML宣言を記述する必要があります。

HTML
<?xml version="1.0" encoding="UTF-8">

IE6で問題発生

しかし困った問題があるのです。今でも利用者が多いinternet explorer6において、XML宣言が記述された文書を読み込もうとすると意図通りに正しく表示されない(レンダリングモードが過去互換モードになってしまう)という問題が起こります。具体的には、CSSで指定したwidthプロパティやheightプロパティの解釈が変わってしまうのです。

この問題について「どのように回避するべきか」、文書作成者の間で様々な意見や方法が議論されてきました。

解決策の1つ: XML宣言を書かない

IE6問題の解決方法の1つに「文字コードをUTF-8で記述し、XHTML文書の先頭にXML宣言を書かない」というものがあります。

XHTMLの標準の文字コードセットはUTF-8、またはUTF-16であり、これらの文字コードを利用する場合、上記のXML宣言は省略することが仕様的に許されているのです。(できるだけ書くことが推奨されていますが)

IE6の問題のためだけに本来書くべきものを書かないというは、とても気持ちが悪いものです。ですが、仕様的に違反ではありませんので、思い切って割り切っても良いかと思います。