ブラウザベンダによる Flash 包囲網の現状メモ ( 2016年12月20日アップデート )

Flash の息の根がいよいよ止まりそう

※ ( 2016年7月21日 ) Firefox について動きがあったので追記しました
※ ( 2016年10月10日 ) Chrome について 8/9 付けの動きを追記しました
※ ( 2016年10月10日 ) Safari 10 の挙動について追記しました
※ ( 2016年12月20日 ) Chrome のについて 12/9 付けの動きを追記しました
※ ( 2016年12月20日 ) Edge について 12/14 付けの動きを追記しました

脱 Flash、祝 HTML5 という機運が高まったのはだいぶ前の話ですが、実際には Flash コンテンツは今もなお数多くが生き続けています。たとえばニコニコ動画のプレイヤーであったり、アメーバピグ艦これのような人気ゲームにも Flash で作られているものがあります。

各ブラウザの状況

まだまだ Flash が現役な分野は残っていますが、現実は厳しさを増しています。

いくつかのブラウザが Flash をデフォルトで自動再生されないようにし、実行に際して「このサイトで Flash Plguin を実行してよいか?」という確認をユーザに求めるような転換が始まっています。現状どうなってるっけ?というのを改めてまとめました。

今わかっている限りだと、少なくとも 2016 Q4 のうちに主要ブラウザは次のような状況になります。(追記時点で、なりました)

  • Internet Explorer → 影響なし
  • Edge → 広告 Flash は自動再生しない(2017年にはオプトイン化)
  • Chrome → メインコンテンツでない Flash を自動再生しない(2017年には段階的にオプトイン化)
  • Firefox → 不可視の Flash ユーティリティをブロックする(2017年にはオプトイン化)
  • Safari → Flash の実行はすべてオプトイン

以下、個々の詳細です。

Internet Explorer

Flash と運命を共にしそうなので、余生を見守るモード

Internet Explorer は既に Microsoft 謹製のポジションを Edge に譲り、バージョン 11 を最後に老後生活に入っています。未だ高いシェアをもっていますが、Flash に対して積極的に自動再生をブロックするなどの措置は行われていません。むしろ、Flash と共に Web の世界からフェードアウトしていく運命にあると言えるのかもしれません。

Edge

広告やサブコンテンツの Flash は自動再生しない(メインコンテンツ相当の Flash は自動再生を認める)

(New!) Flash は殺す。絶対にだ。(2017 年中にメインコンテンツ相当の Flash もオプトイン)その4

Putting Users in Control of Flash | Microsoft Edge Dev Blog によれば、Windows 10 build 14316 から広告やメインコンテンツでない Flash を自動再生しないようになります。

Flash content that is central to the page, like video and games, will not be paused.

一方で動画やゲームなど、ページの中央にある Flash を止めることは(今回は)しないので、ニコ動も艦これも命拾いしています。

Over time, we will provide users additional control over the use of Flash (including content central to the page) and monitor the prevalence of Flash on the web.

引き続きページの中央にあるような Flash もコントロール対象にするタイミングを見ていくということですが、一旦の猶予はあるようです。

Windows 10 への強烈な自動アップグレード通知を通して、Edge を使用するユーザも増えていくのではという期待があります。自分が関わっているサービスの UserAgent 比率を見る限りは、今のところそこまでシェアを伸ばしているわけではなさそうです。Windows 10 に IE11 は残っていますし、Windows 10 の Service Pack で IE11 を消滅させるなどの措置を行わない限り、そう劇的な変化はないのかもしれません。

2016年12月20日 追記

2016年12月14日に公開された Extending User Control of Flash with Click-to-Run - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog によると、Edge でも Flash はデフォルト無効としてオプトイン方式の実行に切り替る発表がされました。

この対応は2017年に予定される Windows 10 Creator’s Update で Edge 安定版に入るとのこと。ただし、色々な不都合が起きづらいようにするための配慮か、他と比べると緩やかな移行計画がほのめかされています。

Chrome

Flash は殺す。絶対にだ。(2017 年中にメインコンテンツ相当の Flash も段階的にオプトイン)

Intent to implement: HTML5 by Default - Google Groups によれば 2016 Q4 にメインコンテンツ相当の Flash も自動再生させず、Flash コンテンツを含む Web サイトへの初回訪問時にオプトイン方式でユーザーに Flash の利用許可を求めるようになります。

初回訪問時の許可は記録されるので、非 HTTPS 環境の Geolocation 許可ほどは鬱陶しくならないはずです。とはいえユーザにとって「初回訪問時によくわからんプラグインの実行許可を求められる Web サイト」が好ましいものではないのは間違いなく、既存ユーザはまだしも新規ユーザを獲得したいビジネスにとって Flash の利用はリスクになり得ます。

(1) Where aggregate usage of a specific domain puts it in the top 10 domains using Flash, based on Chrome’s internal metrics. Those sites currently are: 1. YouTube.com 2. Facebook.com 3. Yahoo.com 4. VK.com 5. Live.com 6. Yandex.ru 7. OK.ru 8. Twitch.tv 9. Amazon.com 10. Mail.ru

Flash を利用している一部の大規模サイトについてはホワイトリスト扱いで、Flash の自動再生が許可されます。このホワイトリストも1年後には再度見直しをかけるとのことなので、次第に強制力を強めていくものと考えられます。

Chrome は去年、小さい広告的な Flash を Chrome で自動再生させちゃうアレ ::ハブろぐにもまとめた通り一部の Flash を自動再生させない措置をすでに適用しています。未来の Web という錦の旗をふりかざし、なにげにタカ派なあたりは流石 Google だなと思う次第です。

2016年10月10日 追記

2016年8月9日付けの Google Chrome Blog: Flash and Chrome によれば、Chrome 53 で小さいサイズの Flash を完全にブロックされて実行時の許可が必要になり、Chrome 55 ではすべての Flash が同様に扱われるようになります。

Flash がブロックされたことの通知が存外に控えめな表示のため、ユーザーがこれに気づく前にサイトの不具合と判断して(ある意味で不具合ですが)離脱してしまう可能性がありそうです。これは中々手痛い。Java アプレットのような趣を思い出させます。

2016年12月20日 追記

Chromium Blog: Roll-out plan for HTML5 by Default によれば、Chrome 55 で行われる予定だった全 Flash のオプトイン方式化は 2017年1月中に予定される Chrome 56 に延期されました。またその対応も一律のものではなく段階的な計画になるとしています。

Flash Roadmap - The Chromium Projects によれば HTML5 By Default という機能として Chrome 55 以降、徐々にユーザーに影響を与えていきます。最初のうちは、Site Engagementによる SEI (Site Engagement Index) を元に、ユーザーごとに SEI が低いサイト(接触頻度の低い、または初めて訪れたサイト)で Flash をオプトイン方式で扱います。その後、段階的に SEI が高いサイトにも適用を進めて、2017年10月にはすべての Web サイトで Flash のオプトイン化が完了する見込みです。各リンクを参照すると詳しい情報が掲載されています。

Firefox

セキュリティ上何かやらかしたらまた止めるだろうけど、まだ様子見(?)

(New!) Flash は殺す。絶対にだ。(2017 年中にメインコンテンツ相当の Flash もオプトイン)その3

Firefox は以前、Blocked Add-ons :: Add-ons for Firefox にも記録が残っていますがセキュリティ上の問題を含む Flash の全バージョンを自動再生禁止にして「任意で実行できるけどセキュリティ上のリスクがあるよ」という扱いでブロックしました。その後、Adobe がリリースしたセキュリティ対策版以降のバージョンはブロックされていません。

詳細を追えてはいませんが、Mozilla の Firefox における Flash の扱いは決して友好的なものではなく、同社の Web 標準の普及に対する考え方やユーザーの利益を考える姿勢をみるに、Flash 廃止の方向性は持っているものと思われます。今年に入ってからの他ブラウザの対応に追従する可能性も十分に考えられるので、時間の問題と言えるでしょう。

2016年7月21日 追記

Mozilla から Reducing Adobe Flash Usage in Firefox | Future Releases という今後の Flash 対応に関する方針の発表がありました。この発表によれば、今年中にコンテンツではなくユーティリティのようなユーザーには見えない Flash の実行が Firefox で停止されるようになります。広告の表示測定に使われるような Flash の代わりに IntersectionObserver を使うようにとも勧めています。

現在 mozilla-services/shavar-plugin-blocklist: ❌ Firefox plugin blocklist で管理されるプラグインリストは次のような基準を持っています。

  • Blocking the content will not be noticeable to the Firefox user.
  • It is possible to reimplement the basic functionality of the content in HTML without Flash.

ブロックしてもユーザーが気づかず、Flash を使わなくても HTML ... というか Web プラットフォーム技術で機能的に代替可能であることの2点を条件としています。Chrome や Safari とも違うアプローチですが、好ましく感じます。

2017 年にはすべての Flash コンテンツの実行にはユーザーの許可が必要になるとしています。都度の許可なのか、ドメイン単位の恒常許可なのかは不明です。2016 年から 2017 年にかけて、Flash のお墓画像が作られるのも時間の問題でしょう。

Safari

Flash は殺す。絶対にだ。(メインコンテンツ相当の Flash もオプトイン)その2

Next Steps for Legacy Plug-ins | WebKit によれば、macOS Sierra および、OS X Yosemite や OS X El Capitan に向けて提供される Safari 10 から Flash の自動再生をさせなくなります。Chrome と同様にオプトイン方式で実行許可を求めますが、標準の選択肢が Use Once なので Chrome よりも微妙なウザさが予想されます。

Safari 10 は navigator.pluginsnavigator.mimeTypes に Flash (だけでなく QuickTime や Java、Silverlight など)プラグインの情報を提供しなくなります。デフォルトが Flash で、HTML5 へのフォールバックがなく、Flash のダウンロードリンクが提供されたときユーザがそれをクリックすると Flash インストール済であれば実行許可の選択肢を提供するそうです。また Flash が直接 Web ページに embed されている場合は、Flash の表示エリアに Click to use と表示させて、それを Click しても同様に実行許可の選択肢が提供されます。

細かい振る舞いは実物を見てみないと不透明なところもありますが Chrome と同様、またはそれ以上のレベルで Flash の利用を制限するように見えます。

2016年10月10日 追記

Safari 10 でデフォルトで Flash が無効化されました。Preferences -> Security -> Plugin Settings から Adobe Flash にチェックを入れて、サイトごとの設定とデフォルトの設定を指定できます。

  • On 今までと同様に Flash が動作する
  • Off Flash を完全にブロックする(プラグイン無効と同じ)
  • Ask Flash のエリアに Click to Use というボタンが出て、Trust (以後 On 扱い) にするか選択できる

デフォルトで Flash 無効化だし、When visiting other websites もデフォルトは Off なのでエグめです。気合い入れないと有効化できません。


Safari 10 の Flash 有効化


先細る Flash

Flash 製造器の代表格たるソフトウェアは Adobe Flash Professional を Adobe Animate CC に名称変更 | Adobe Creative Station で Animate にその名を変え、Canvas や WebGL をサポートした出力をするようになりました。

一見するとついに開発元が...! というニュースではありましたが、これは大した出来事ではなく Flash がいまだに強い存在感を示すのは、動画プレイヤーやゲームといった分野です。

特に自分がいま関わり始めている動画分野においては、Media Source Extensions を前提としたライブラリを利用してストリーミング動画を安定再生させるのが思いの外難しいという問題があったり、Encrypted Media Extensions があるとはいえ DRM 周りは色々なものが複雑に絡みあっていて Web 標準どころではない部分もあったりします。

どうやら Flash ベースのライブラリのほうが枯れている分、安定している傾向にあるため某プロダクトでも Flash に依存しています。これを早々に脱却せねばなるまいな、という気持ちを新たにするのでした。

よろしくお願い申し上げます。