さよなら Flash Player

昨年末(2020年12月31日)に Adobe Flash Player のサポートが終了(www.adobe.com) しましたが、本日(2021年1月12日)より「コンテンツの実行をブロック」するフェーズに移行し、それに伴い'00年代に流行った Flash を使った Web コンテンツはブラウザで閲覧することができなくなってしまいました。

Web サイトのリニューアルや事業の廃統合、あるいは個人サイトであれば管理人のモチベーション低下やホームページ公開サービスの終了などで、これまでも数多の貴重な Web サイトが消えてゆきましたが、 HTML で作られたサイトならば URL さえ記録されていれば Internet Archive(archive.org) などのサービスを利用して引き続き閲覧することが可能です。一方、今回の件はひとつの技術が事実上滅び、アーカイブサービスを活用することもできず、ブラウザからの一切のアクセス手段が失われたという点で、個人的には Web の歴史の中でもっともショックの大きな出来事です。

以下に示すスクショ画像は、2007年に放送された、あるTVアニメの公式サイトのトップページ(index.html)です。

メインコンテンツエリアは白背景に Flash アイコンのみ表示され、コンテンツは表示されていない様子

当時よくあった構成ですが、トップページ(index.html)に Flash アニメーションを貼り、アニメーションの再生が終了した後に本当のトップページ(top.html)にリダイレクトするというものになっています。しかし、2021年1月12日以降はもはや Flash アニメーションは再生されず、 top.html への遷移は行われません。

2007年といえば初代 iPhone が出たばかりの時代、この Web サイトの制作に関わった発注者、受注側ともに、14年後にこのような事態になるとは想像もしていなかったことでしょう。


さて、2021年現在 Flash を使って新規に作られるサイトは言うまでもなく皆無です。一方で Flash 全盛時代と変わらず、特定の技術に依存したサイト作りは今も蔓延しています。

ここで JavaScript を無効にした状態で Twitter と YouTube のトップページを見てみましょう。

Twitter のトップページ。「JavaScript is not avaliable.」のタイトルと数行の英文メッセージ、「Help Center」へのリンクのみが表示。
YouTube のトップページ。各動画のサムネイル、タイトルなどがすべて灰色一色で塗りつぶされており、それぞれがなんの動画かは分からない。

2000年代初頭までは、 HTML さえ認識するソフトウェアを使えば Web ページの閲覧や書き込みができるのは当たり前のことでしたが、2021年現在はスクリプトが動かなければ我々は140文字のテキストメッセージを投稿することすらできません。

これが今この時代のことだけを考えるなら、PCだろうとスマホだろうと JavaScript が動作するブラウザをインストールするのは容易なので、「スクリプト無効で利用できない」という意見は無視するという考え方もできます。

では未来のことを考えるとどうでしょう。 Flash Player は25年で死にました。 JavaScript が10年後、20年後に同じ道を歩むことはないと誰が言えるでしょうか。

一部のブラウザを除きプラグインとして別途インストールする必要のあった Flash Player と、ほとんどのブラウザがエンジンを内蔵している JavaScript では状況が異なりますから、もちろん同列の比較はできません。しかし、もし JavaScript に言語仕様上どうしようもない致命的なセキュリティ欠陥が発見されたら? あるいは JavaScript を圧倒的に凌駕する魅力的な新技術が発明され、ほとんどのサイトがその新技術に移行したら?

ブラウザで JavaScript が実行できなくなるまでは行かないにしても、今より重要度が低下し、特別な準備が必要になる(ブラグインとして分離されるとか)くらいは将来的な可能性として充分考えられると思います。


先ほど、 Twitter と YouTube をわざわざ名指しで例に挙げたのは、これらのサービスがスクリプト無効で使えない方針自体を批判するつもりはないからです。なぜなら、世界的な規模でサービスを展開する彼らは、仮にそのような事態になれば即座にサイトをそれに対応できるでしょうから。

同様にコーポレートサイトであれば、その企業が潰れたり大幅な事業改変をしない限り、サイトのメンテナンスは続くことが期待できます。

一方、ランディングページと言われる特定サービスの特集ページであったり、冒頭に挙げたアニメ作品の公式サイトのようなものは短期間(数か月〜数年)のアピールを終えた後、メンテナンスが行われなくなることが最初から明らかですが、ユーザーとしてそういったサイトに求めるのはコンテンツに恒久的にアクセスできることです。欲を言えばサイトが公開され続けるに越したことはありませんが、ユーザーにとってはアーカイブサービスを使う選択肢もあるので閉鎖されることは許容範囲です。しかし公開継続の有無を問わず、(Flash を使ったページが見られなくなったように)コンテンツにアクセスできなくなってしまうのは最悪の事態です。

この問題は制作エンジニアの立場では特定の技術に依存しないことでその影響を最小限に留めることが可能です。具体的にいえば、 Flash 全盛時代なら「Flash に依存しない」、2021年現在なら「JavaScript に依存しない」ということです。

JavaScript を使うなと言いたいわけではありません。しかし技術を「使う」ことと「依存する」ことは異なります。 JavaScript が動かないと情報にアクセスできない作り方は(Flash がそうだったように)将来的に遺恨を残す可能性が考えられます。

そうならないようにするのは技術的に難しい話ではありません。 HTML 上にもコンテンツ(あるいはコンテンツへの導線)を出力する、それだけです。

冒頭に挙げた、もはや top.html に遷移できなくなってしまったページの場合、 Flash の埋め込みタグの直後にでも <p><a href="top.html">トップページ</a></p> の一行さえ挿入しておけば良かったのですが、実際には Flash が動作すること前提のサイト作りをしてしまったために、公開から14年後に「無意味な index ページから先へ進めない」という致命的な事態になってしまったのです。

中には JavaScript 前提であることこそが価値のあるサイトも存在します。ブラウザ上で稼働するアクションゲームや地図サービスのように特定のユーザーアクションに強く依存したサービスもあるでしょう。しかし、そうではない多くのサイトでは「スクリプト無効環境を考慮する」という、昔は誰でもそうしていた基本的な点に今一度立ち返ってみることが必要ではないでしょうか。

私が愛してやまないアニメ作品の Web ページが、無機質なエラーアイコンに覆われてしまった悲しい状況を目の当たりにして、こういう歴史を繰り返してはならないと改めて思ったのでした。