W3C「ウェブページでの user-scalable=no は消毒だ」

今年8月に最初の草案が公開された W3C のHTML 5.2 仕様書(www.w3.org)ですが、10月25日付で1回目の更新が行われました。最近は WHATWG の HTML Living Standard の方しか見ていないので、何が変わったのかほとんど追いかけていないのですが、meta要素の節(www.w3.org)で個人的に注目していた拡大禁止指定に関する注意喚起が反映されました。

HTML内に

<meta name="viewport" content="user-scalable=no">

と指定することで、 iOS や Android のブラウザではピンチ操作による拡大・縮小をさせないようにすることができますが、これはアクセシビリティやユーザビリティ上の問題があるので指定すべきではないというものです。

Authors should not suppress or limit the ability of users to resize a document, as this causes accessibility and usability issues.

HTML 5.2 / 4.2.5. The meta element(www.w3.org)

前後の文章も含めた意訳をすると、こんな感じです。

  • meta要素による拡大禁止設定はアクセシビリティやユーザビリティ上の問題があるので指定すべきではない。
  • 例えば地図アプリで、スクリプトを介してズーム機能を行うようなケースでは使用をしても良いが、一般的には避けるべきだ。
  • HTMLに拡大禁止が指定されている場合、バリーデーターツールは警告を出す必要がある。
  • meta要素によるviewport指定にかかわらず、今日ではいくつかのユーザーエージェントは常にユーザーによる拡大が可能である。

地図アプリのような例外もあるので、今後使用が禁止されるようなことはないでしょうけど、バリーデーターツールが警告を出すべきと言及していることには注目したいです。今のところ、W3C Markup Validation(validator.w3.org)では警告は行われませんが、そのうち対応されるのかもしれません。

HTMLの指定にかかわらずズームされうるという話は、9月にリリースされた iOS 10 の Safari で user-scalable=no 指定が無効化されるようになった件を意識したものでしょうね。

今のところ仕様書でこれらのような注意書きを行っているのは W3C の HTML 5.2 のみで、 WCAG 方面や WHATWG の HTML Living Standard での動きは聞こえてきませんが、実際問題としてブラウザ側でも「拡大禁止を禁止する」対応が行われていることから、時間の問題ではないかと思います。