XHTML 1.1 で作成したページを IE6 で見てみるとうまく表示されない(スタイルが設定されないなど)という現象にあってしまいました。しかもページによってその現象がでたり出なかったりしたのでなにがなにやら。
とりあえずタグの対がきちんと合っているか、スタイル指定が間違っていないかちまちま調べたり、IE Developer Toolbar とか駆使して調べてみたんですが、原因が分からず。現象の起こるページと起こらないページをコピーし、コードをどんどん減らしていく消去法でテスト。それでも分からずorz。んなアホな。
最初簡単に直るんだろうなとタカをくくってやっていたら結局半日くらい消費。もうしょうがないので検索してみたら案の定10分くらいで見つけてしまいました(^^;)。
原因はXML宣言があると IE6 で DOCTYPE宣言 を無視してしまうため、互換モード での表示になってしまうからでした。さっきの2つのページを見比べてみると確かに1行目に XML宣言 のあるなしの違いが。そんなところ見てなかったって…orz。
XML 文書には XML宣言をつけるべきなのですが、UTF-8 の文字コードで作ったページに関してはXML宣言を省略できるそうなので、とりあえずそれで対処しました。
アクセス解析をしてみても IE6 を使っているユーザーはいまだに 50~60% 以上いるのでなかなか無視できないんですよね。ちなみに IE7 が 20%、FireFox が 15%。IE4 とか Netscape3 とかもいまだに現存しているようです。
まあ原因がひとつわかったのでひと安心。(^^)