IEサポートポリシー変更、IE8・IE10サポート終了の影響は?

IEは古いバージョンでもセキュリティ対策のアップデートが公開され、最新のセキュリティ環境で利用することができました。
マイクロソフトはこの姿勢を見直し、今後は最新バージョンのIEのみをアップデートすることとなりました。これにより、IE8・IE10がサポート対象外となります。
ホームページ管理者や開発者にどのような影響があるかを調べてみます。

「サポートポリシー変更」によってサポート対象外になるのは?

マイクロソフトの公式な発表の中身をまとめてみます。
IEの最新バージョンはIE11なので「IE11以外はサポート外」なのかと思いがちですが、サポート対象に含まれているWindows VistaではIE11がインストールできないため、Vistaでの最新バージョンであるIE9もサポート対象になっています。
また、ここではWindows Server 2012の最新バージョンがIE10と表記されおり、IE9~11の3つがサポート対象なのかと思いますが、マイクロソフトの別の案内ではIE9とIE11のみが強調されています。IE10がサポート対象なのかどうかは不明ですが、少なくとも一般人向けのOSにおいては、IE9・IE11のみがサポート対象であると認識すれば良いでしょう。

バージョン今後のアップデート
IE8×
IE9
Vistaの最新
IE10×
IE11
Windows7、Windows8.1の最新

ブラウザシェアへの影響、IEのシェアと将来のシェア予想

以前ブログに書いた「PC・モバイル(スマホ)混合ブラウザシェアランキング」からIE部分を抽出し、更に今回のサポートポリシー変更によるシェアの移動を勘案して将来のシェアを予想してみます。
単位はパーセント、パソコン・スマホの全アクセスを100とした場合の割合です。
サイトA・BはいずれもレスポンシブウェブデザインによりPC・スマホの両アクセスに対応しており、Aはモバイル、BはPCからのアクセスが多い傾向があります。

2015/6のシェア2016/1以降の予想
サイトAサイトBサイトAサイトB
IE60.040.10.040.1
IE70.130.40.130.4
IE80.531.420.130.4
IE90.72.881.13.9
IE100.952.880.130.4
IE119.3320.3810.1522.86

既にサポートの切れているIE6・IE7のユーザーが一定数残っていることからも、今後もIE8・IE10の利用者が残ると思われます。これをIE7のシェアと同じ割合とし、残りのIE8ユーザーがIE9へ、同じくIE10ユーザーがIE11へ移行したと想定した試算です。
PC・モバイルの全アクセスを100とした場合、モバイル・Mac・Windowsの他ブラウザ(Chromeなど)からのアクセスを差し引いたIEのシェアは1~3割です。
その中でも、IE8・IE10のシェアは1.5~3%超と大きくないため、ブラウザシェアへの影響は少ないといえます。
しかし、CSSをIE8に対応させていた開発者にとって、今回のサポートポリシーの影響は非常に大きなものです。これについては次項で説明します。

CSSへの影響

ここでは、以前ブログに書いた「ベンダーprefixの要否まとめ」を参考に、IE8・IE10がサポート対象外になり、IE9がサポート対象に残留した今回のポリシー変更がCSSコーディングに及ぼす影響をまとめてみます。

IE8を無視した場合に使えるようになるスタイル

IE8では利用できなかったCSSプロパティや疑似要素などのスタイルをまとめます。

IE8IE9~
メディアクエリ
(レスポンシブ対応)
×
rgbaによる色指定×
CSSプロパティopacity *1×
background-size×
background複数指定×
box-shadow×
border-radius×
transform
:rotate
:scale
:skew
×
疑似要素:first-child×
:last-child×
:first-of-type / :last-of-type×
:nth-child / :nth-of-type×

以下、それぞれについて解説します。
IE8からIE9への移行が瞬時に完了するわけではなく、IE6・IE7・古いSafariなどのブラウザを利用しているユーザーが一定数いることから、以下に解説することの実行の是非と時期については十分に検討する必要があります。

メディアクエリ

表示幅に合わせてスタイルを動的に変化させることが可能なメディアクエリが全ブラウザで利用可能となります。
元々、スマートフォンではメディアクエリを認識できたため影響は少ないように思いますが、メディアクエリの記述方法に影響が出ます。
メディアクエリのオススメの書き方で説明していますが、これまでの記述方法では、

#css {PC向け}
@media (max-width: 1020px) and (min-width: 768px) { #css {狭いブラウザとタブレット向け} }
@media (max-width: 767px) { #css{スマホ向け} }

のようにPC向けを基準としていました。これは、IE8をカバーするためにまずIE8を含んだPC向けの記述を行い、メディアクエリを認識できるその他のブラウザ用の記述を後から上書きしていたからです。
しかし今後は、

#css {スマホ向け}
@media (min-width: 768px) and (max-width: 1019px) { #css{狭いブラウザとタブレット向け} }
@media (min-width: 1020px) { #css {PC向け} }

のような記述も可能となります。
PCよりもモバイルからのアクセスの方が多い現状では、モバイルファーストのこちらの方が自然な記述のように思えます。

rgbaによる色指定

rgba(128, 128, 128, 0.5)のようにして透過度アルファチャンネルを含んだ色指定が全ブラウザ対応となります。影響大です。
IE8ではrgbaの色指定を無視して透明にしてしまうため、暗め透過色に白のテキストを載せている場合にIE8で判読できなくなり、必ずこれをフォローする必要がありました。今後はその必要がありません。
透過色を重要な場所に利用できるようになり、表現の幅が広がります。やむを得ずopacityで代用していた部分をrgbaで表現できます。

filter: alpha(opacity=100)が不要に

要素全体を透過させるopacityは、通常はfilter: alpha(opacity=50); や -ms-filter: "alpha(opacity=50)";といった旧IE用の定義を併記していましたが、これが不要になります。

background-size

background-size:cover; background-size:contain;などをbackground-imageと組み合わせることで背景画像を描写領域に合わせて自動調整できる便利な機能が全ブラウザ対応となります。
background-sizeは、メディアクエリとの親和性が良く広く利用されています。
100x100pxの領域に300x300pxの画像をbackground-size:coverと合わせて利用すると、スマートフォンを中心に普及が進む高精細なディスプレイで画像がきれいに表示されるメリットがあります。しかし、background-size未対応のIE8では画像の一部しか表示されまずフォローが必要でした。

backgroundの複数指定

background-imageやbackground-positionなどはカンマ区切りで複数指定が可能です。これにより、複数画像の配置、画像を重ねるレイヤー表現、animationと連動させたスライド表示などが可能です。
未対応のIE8用に別途必要だったフォローが不要になり、複数指定を利用して重要な表現をしてもユーザービリティを損ないません。

box-shadow / border-radius / transform

影を付けるbox-shadow、角丸を実現するborder-radius、要素を回転させたり歪めたりと形状を変えるtransformも全ブラウザ対応となります。

疑似要素

表や箇条書きでストライプの表現を実現するなど使いどころの多いnth-child / nth-of-typeが全ブラウザ対応となります。

IE9がサポート対象に残留した影響

text-shadow、グラデーション(gradient)、transition、animation、border-imageを利用する場合は、以前としてIE9用のフォローが必要です。

IE10がサポート対象外になる影響

細かいバグからの解放はあるものの特に影響はありません。border-imageの適用範囲が若干増えます。

2016/1/14