Windows Internet Explorer 9

現在開発が進められているIE9は、これまでのIEシリーズの中でもっとも標準規約に準拠したものになる。しかし、IE6やIE7に準拠するように開発されたサイトやWebアプリケーションもあり、IE9はこうしたレガシーコンテンツにも対応する機能も提供している。こうした互換機能に関するまとめがIE’s Compatibility Features for Site Developers - IEBlogに掲載されている。どういった機能が用意されているかがまとまっており参考になる。

説明によれば、IE9の互換機能は大きくみて2つの視点に分けられる。ブラウザモードとドキュメントモードだ。ブラウザモードにはIE9、IE9 Compatibility View、IE8、IE7があり、次の3つの振る舞いを決定する。

  • IE9が送るUser-Agentヘッダ文字列
  • デフォルトで使うドキュメントモード
  • 条件コメントの評価方法

ブラウザモードはIE Developer Toolsの「Browser Mode:」メニューアイテムから変更できるほか、互換ボタンをクリックしての閲覧で変更することもできる。

ドキュメントモードはIEのTridentレンダリングエンジンがどのようにコンテンツをレンダリングするかを設定する。IE9 Standards、IE8 Standards、IE7 Standards、Quirksが用意されており、次の3つの方法で設定できる。

  • doctypeで指定
  • X-UA-Compatibleメタタグで指定
  • HTTPヘッダで指定

X-UA-Compatibleに指定できる値はIE=IE9、IE=8、IE=7、IE=5、IE=EmulateIE9、IE=EmulateIE8、IE=EmulateIE7、IE=Edgeなど。ドキュメントモードはIE Developer Toolsの「Document Mode:」メニューアイテムから操作できる。1ページのみ変更するようなケースではmetaタグによる指定を、全体を指定する場合にはHTTPサーバ側で設定してHTTPヘッダで指定する方法が推奨されている。

IE9をベースにページを制作する場合、こうした互換機能は指定せずに作ったほうがいいとされているほか、同一の要素構成で各種ブラウザに対応するために条件コメントは使用せず、かわりに機能や振る舞いを検出して動作を変える実装をした方がいいとされている。