@kazuhito
Kazuhito Kidachi's Personal Web Site Since 2000

user-scalable=no よさらば

いろいろ覚え書きしておきたい事柄は溜まっているのですが、息子の夏休みが終わり週三日、平日の晩に塾へ迎えに行く生活に戻ってからというもの、なかなか時間をうまく使えず四苦八苦。それでも、これだけは書いておかねば......と思って書くのが、iOS 10のリリースに伴うSafariのアップデート。

既にベータ版がリリースされた時点でcss - disable viewport zooming iOS 10 safari? - Stack Overflowあたりで取り沙汰されていたことですが、user-scalable=no という、ユーザーによる画面拡大を妨げる指定が無効化されました(ベータ版のリリースノートには、理由としてTo improve accessibility on websites in Safari, users can now pinch-to-zoom even when a website sets user-scalable=no in the viewport.と書かれていたらしい)。

user-scalable=no にしろ maximum-scale=1 にしろ、アクセシビリティないしユーザビリティ的に長らく問題視されてきた指定ですけども(例えばuser-scalable=noを使う理由と弊害(スマホのviewportを見直す)|2.IDEA参照)、自分で実験してみたところ、確かにどちらを指定しても(もちろん両方を併記・指定しても)iOS 10のSafariでは無視され、ピンチズームすることができました。万歳!!

もっとも、この無効化というのはあくまでiOS 10のSafariで表示されるWebページでの話、という点には注意が必要(なので、実は完全に「さらば」というわけではない)。iOS SDK Release Notes for iOS 10.0でSafariの項には、以下のくだりがあります:

WKWebView now defaults to respecting user-scalable = no from a viewport. Clients of WKWebView can improve accessibility and allow users to pinch-to-zoom on all pages by setting the WKWebViewConfiguration property ignoresViewportScaleLimits to YES.

とはいえ今回のSafariの仕様変更、個人的に「user-scalable=no 警察」を演ずる必要性が下がって一安心というのはさておき、基本的にグッジョブと言わざるを得ません。もちろん、これを手放しで歓迎しないデザイナーや開発者もいるでしょうけども、一人でも多くのユーザーにとって「使える」「使いやすい」Webを創ることの重要性を再確認する契機になれば良いなと。それにしても、こういう形で user-scalable=no に引導が渡されることになろうとは......一体どういった経緯・背景からのことか、興味深くもあります(是非、詳細を知りたい)。

[ 2016-09-15 追記 ] maximum-scale の扱いについてはよく分かっていない(明確な仕様を見つけられていない)のですが、maximum-scale=2 と書いても2倍以上にピンチズームできたので、maximum-scale 自体が無効化されているような気がします。

現在地:ホーム > 覚え書き > 月別アーカイブ > 2016年9月 > user-scalable=no よさらば
Google カスタム検索を利用しています