きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

【追記・訂正あり】IE11の互換モードの現在の挙動が仕様だとセキュリティ的によろしくないかもしれない件

※追記というか、色々書き直しました。前のバージョンはこちら → http://megalodon.jp/2013-0913-0031-50/d.hatena.ne.jp/kiyokura/20130911/p1

最近、IE11で既存サイトに問題が無いか検証しています

Windows 8.1のRTMが公開されてから、IE11の互換性の確認を少しずつ試しています。


RTM版のIE11は概ね動作も良好で、Web標準への準拠やHTML関連APIへの対応具合など、なかなか素晴らしいと思っています。


ただそんな中で、少し不具合ではないかと思われる挙動をいくつか検出しています。条件などを絞り込んでみたところ、共通して下記に該当するケースが多いことがわかりました。

  • ドキュメントモードが過去の互換モード
    • IE5 QuirksやIE7モードなど。
    • x-ua-compatibleヘッダ等により明示してる場合など
  • 対象のサイトが"インターネットゾーン"に該当

具体的にはMS Connect*1のフィードバックでこのあたりが上記の挙動に当てはまります(私自身が投稿したものも含めて)。

他にも私が保守しているアプリケーションなどでレンダリングがこちらが想定する過去バージョンのIEと互換の無い物なるなども見つけています(が、再現するミニマムコードを作る暇がなかったりしてConnectには投稿できてなかったり)。

これは仕様か?不具合か?

このあたりの際限手順などを調査・確認しながら、ふとこんな風に呟きました。



すると@さんからこんなお返事をいただきました。



早速その『IE11 Preview における互換性の変更点』を確認してみました。すると、確かに、例えばこんな一文もあります。

IE11 Preview 以降では、一時的な使用を除き、ドキュメント モードは使用されなくなります。 従来の機能とドキュメント モードに依存しているサイトは、最新の標準を反映するように更新する必要があります。

IE11 Preview における互換性の変更点


うーん、マジか…と思ったものの、すぐ近くにはこんな記述も書かれています。

現在、x-ua-compatible ヘッダーを使って、従来のドキュメント モードをターゲットにしている場合、IE11 Preview で得られる最高のエクスペリエンスがサイトに反映されない可能性があります。 詳しくは、modern.ie をご覧ください。

IE11 Preview における互換性の変更点

また、その他全体を読むと…仕様として互換モードが無くなる訳でも無さそうですが、正直良くわかりません。



そんなこんなで、その時はこんな風に思ってしまいました。



実は上記のconnectにあるものの他、私がいくつか確認している非互換の挙動も下記の条件であれば再現しません*2。今まで通り、互換を保った状態で表示・実行されます

  • 対象のサイトが"イントラネットゾーン"もしくは"信頼済みサイト"にある
  • もしくは"インターネットゾーン"でセキュリティレベルを下げる


なので、下記のような仕様なのかもしれない、と納得しかけてしまいました。【※後述しますが、多分違います。仕様ではないと思います。

  • インターネットゾーンではドキュメントモードを指定しても過去と互換性のない挙動となる
  • イントラネットゾーンや信頼済みゾーンでは互換モードが今まで通り有効である


この互換モードの主戦場と思われる社内用Webアプリなんかでは特に問題にならなさそうですし。

いや、でもやっぱり、それはまずくないか

しかし、少し考えてみると、これは不味いのではということに思い当たりました。

例えば『SSLの警告が出ても"続行"して使ってください』なアナウンスをするサイトと同様に、安易に『IE11で当サイトを正常に表示する場合は当サイトを"信頼済みサイト"に追加してください』とかアナウンスするサイトが出てこないといえるでしょうか*3


このようなリスクを考えると、本当にこのような仕様なのだとしたらそれは問題だと思います*4

【2013.09.12追記】やはりこの挙動は仕様ではなさそうです

そうこうしていると、Build Insiderにこのような記事がアップされました。
Web制作者は注意! Internet Explorer 11で変更された「互換性」
恐らくベースにされているのは主に前述のドキュメントだと思うのですが、この説明だと全体的に整合性があいますので私としては非常に腑に落ちました。


とするならば、やはり最初に書いた挙動は仕様では無く不具合であるとしたほうが自然ですし、理にもかなっています。

【2013.09.12追記】検証して、不具合があればConnectに投稿しよう!

しかし、今現在は現実の挙動として、Windows 8.1 RTM版同梱のIEでこのような挙動となっています。一般への配布は10/18の予定だそうですが、それを過ぎても現象が終息していなかった場合、結局同じことになります。


もし、同様にIE11のRTMやPreviewで互換性の面で問題のある挙動を確認したら、ぜひ、Connectに投稿してみましょう*5
https://connect.microsoft.com/IE



そして関係者の方におかれましては、ぜひ、一刻も早く対処していただきたいと切にお願いします。

*1:マイクロソフトが運営している、製品のバグレポートや要望などのフィードバックを受け付けるサイト。英語のサイトですが、日本語で投稿しても多分、読んでくれる(ハズ)

*2:私が試したかぎりでは

*3:ちゃんとしてる社内システムなんかだと問題ないと思いますが、SSLもない不特定多数向けのパブリックなサイトとかだと…

*4:『セキュリティーゾーンを問わずドキュメントモードによる互換性を一切考慮しない』のほうがましかもしれません。もしくはAD必須とかならまだ。

*5:事前にPreview版が提供されたり、MSDN等で早期にRTM版が提供されるのには、こういった一般ユーザへの配布前の事前チェックとフィードバックのタイミングを作るという意味もあります。