まぁ言ってる傍から、午前半休です。昨日ちょっと調子に乗り過ぎて、頑張りすぎたな、という反省。
さりげなく、表紙だけiPhone・iPod touch搭載のSafariに対応してみました。なかなかこのSafari、癖のある困ったヤツであります。
- 勝手に画面全体を拡大・縮小して表示する。つまり、文字サイズの指定や、画像のサイズをある意味無視するという仕様。
- 拡大縮小する倍率の判断は、表示物全体の横幅(Viewportと呼ばれる。初期値では最大を横幅980pxとしてレンダリングする)、ユーザの操作(ピンチイン・アウト)、iPhoneの向き(ポートレート表示/ランドスケープ表示)の3つから為される。
- このうち、iPhoneの向きによる表示の拡大縮小は、実際に手に持って操作してみるとかなり気持ちが悪い(個人的な感想)。テキスト中心のページで、一定のフォントサイズを指定しているのに、横向き(ランドスケープ表示)にした途端、文字や画像が1.3倍くらいに拡大されて表示されてしまうのは、親切なんだろうけども、何か嫌な感じだった。
- 結局、iPhone・iPod touchのSafari向けページのあり方としては、4つに絞られてくると思われる。
- 拡大縮小、総てを受け入れる。もうそういうものだから仕方が無い、という考え。これはこれでアリだとは思う。
- 最初から横幅をポートレート表示(320px)に合わせて構成する。ランドスケープ表示(横持ち・480px)になった際に、画像を含め拡大される、或いは、metaの指定により拡大縮小を禁止し、画面右側に空白が生じることは受け入れる。
- 最初から横幅をランドスケープ表示(480px)に合わせて構成する。ポートレート表示(縦持ち・320px)になった際に、画像を含め縮小される、或いは、metaの指定により拡大縮小を禁止し、横スクロールバーが表示されることは受け入れる。
- metaの指定により拡大縮小を禁止し、かつ、横幅をリキッドレイアウトにする。これにより、ポートレート表示・ランドスケープ表示いずれも、同じ文字サイズ・拡大倍率で、かつ、横スクロールバーが表示されない、空白が生じない見た目を実現することが可能。
- 一見、4.がすげぇ良く見えるけども、これは同時にブラウザの機能である「ピンチイン・アウト」を禁止してしまうことになるので、表示される文字サイズ、操作するボタンの大きさなど、かなり気を配る必要がある。
- 4.の場合。表示文字サイズをそれなりに読みやすくした際に、フォームの入力ボタンなどの大きさが、操作するには小さくなった印象。
- ランドスケープ表示(横持ち)にした際、上下にアドレスバー・操作ボタンが表示されることもあって、縦スクロールさせ辛い。縦スクロールさせるつもりが、行き過ぎてボタンを押してしまうこともしばしば。よって、長く文章を読ませるようなページには向かない。この辺、徹底して「ポートレート表示で見てね!」という前提で作るのも、アリかもしれない。
- まとめ。文字の表示やスクロールの操作などの感触は良好。この機体に作ったウェブサイトがきれいに表示されると、とても楽しい。ただ、画面サイズから言って、ボタンなどを並べて細かい操作をさせるページには向かない。ECサイトなどには向き辛いだろう。基本、読ませるページであって、ボタンは数個(iPhone・iPod touchのメインメニューアイコンのサイズ、80×80ピクセル以上が望ましいだろう)のようなものが心地よく操作できそう。ボタンは、横にいくつか並べるより、横長100%のボタンを縦に並べた方が選択しやすそうだった。
さて、ぼちぼち出社する準備でもしますか。今日も働くぞー。