IE6のDOCTYPEスイッチ
このブログの出力するソースがXHTMLってことで、HTML-lintによるとファイルの先頭にXML宣言なる物をつけた方がいいらしいんです。 そういうワケで早速テンプレートファイルを修正してプレビューしてみたところ、IE6でなぜか表示が乱れる現象が発生。 bodyタグにCSSが効かなくなってるようでした。
調べてみたところ、IE6にはQuirksモードという古いブラウザ向けのページに対応するモードが存在していて、
ファイル先頭でXML宣言を行うとIE6は"DOCTYPE宣言をしない古い時代のページ"と認識してQuirksモードで動作するようです。
一方XHTMLの仕様だとXML宣言はファイル先頭でしか行えないとのこと。
なんという競合…
更に調べてみると、XHTMLのXML宣言は"強く推奨されている"ものの、UTF-8などの文字コードを使用している場合は"必須"ではないそうです。 丁度ブログ導入のときにShift_JISからUTF-8に乗り換えていたので、結局XML宣言はしないでおくことにしました。
でもHTML-lintだと大きめに減点されてるんだよなぁ。 強く推奨、って結局なきゃダメって事なのか・・・?
