CSS Image Animation Module 仕様の First Public Working Draft が公開

CSS Image Animation Module Level 1(W3C) なる仕様が First Public Working Draft になりました。アニメーション GIF / PNG / WebP のようなアニメーション画像の再生制御を行うもののようです。

ざっと仕様を眺めてみて、主にアクセシビリティ面で感じたことをつらつらと。

まず第1章のイントロダクションにはこんな注釈が書かれています。

Nothing in this specification precludes user agents offering users a setting to control image animation globally, such as an option to turn all animated images into static images.

CSS Image Animation Module Level 1 – 1. Introduction(W3C)

すでにデスクトップ版 Vivaldi には画像のアニメーションを再生という設定項目があり、ループを行わないようにしたり(1回のみアニメーションする)、アニメーションを完全に無効にしたりすることができます。

サムネイル画像
Vivaldi 7.9.3970.50 の「ウェブページ」設定。「画像のアニメーションを再生」に「繰り返し」「1回のみ」「しない」のラジオボタンがある。オリジナル画像

また Netscape / IE の2大ブラウザの時代は伝統的に Esc キー押下でアニメーション GIF のアニメーションを止めることができました。ただしこれは Firefox 20(2013年4月リリース)で廃止されており、現代のブラウザでは効きません。

いずれにせよアニメーション画像というものは昔から「ユーザー環境によってはアニメーションするとは限らない」ものであり、それは今回の仕様で定義された image-animation プロパティが実装されても変わらないことでしょう。

次に、第5章では「アクセシビリティに関する考慮事項」と題して4つの注意点が書かれているのですが、このうち下記の3点は注目に値します。

  • 代替テキスト(alt 属性)はアニメーションが実行中か一時停止中かに関わらず、変更する必要はないとしている
    • ただし代替テキストが空のケースで問題があるとの異論も出ている[1]
  • アニメーション画像と非アニメーション画像の区別、また一時停止中と再生中の区別を今後支援技術が実装する可能性に言及
  • 将来的に image-animation プロパティに値を増やすなどして、ブラウザが UI を提供する可能性に言及
    • <video controls> のようなものを想定している?
    • HTML 側でも <img controls> の追加が検討されているが[2][3][4]、それとの兼ね合いはどうなる?

個人的な感想として、この仕様で定義された image-animation プロパティと :animated-image 擬似クラスが実装されたところで、アニメーション画像のアクセシビリティやユーザビリティが劇的に改善されることはなく、現状のように何も制御するすべがない状態よりは多少マシになる程度ではないかと感じています。

どちらかというと CSS 技術そのものよりは、<img controls> によるブラウザ UI の提供や、Vivaldi がすでに行っているようなブラウザ設定による制御が普及するきっかけとなることに期待を持っています。30年間ほとんど進化のなかったアニメーション画像が時代に合った価値を高められるのかどうか注視してゆきたいところです。

脚注