iPad(iPhone)の困った仕様

iPadのSafariでは、スクロールバーという物が表示されません。(iPhone向けにサイトを開発してきた人には耳タコの事実なのでしょうが)
スクロールバーが出る場所というと、こんなところでしょうか。

(1)ページ全体
(2)divでoverflow:scrollなどの指定をしたとき(3)flame、iframe
(4)textarea


(1)は製作側にはあまり関係ないです。
使う分には若干不便かもしれませんが、iPadのスクロールは操作感が良いので、それほど問題となりません。

(2)の場合、スクロールバーが出ませんが、2本指でなぞると、スクロールします。
この動作を知っている人がどれだけいるのでしょうか。仮に知っていたとして、特定の場所でこの動作が必要だと分かる可能性がどれくらいあるでしょうか。
divのスクロールは使ってはいけない、と思った方が良いのだと思います。この時点でめんどくさいです。

(3)の場合、スクロールが発生しないようにフレームが伸びます。
そのためレイアウトが崩れたりします。
更に問題なことに、そのフレームを囲っているdivに、もしoverflow:hiddenが指定してあった場合には大変です。中身のフレームが伸びるのですが、divが伸びず、しかも2本指でのスクロールもできません。つまり、iPadではどうしても見えない部分が出てきてしまうことになります。大問題です。

(4)これは(2)と同じで、2本指でスクロールできます。
textareaは通常枠が付くので、divよりは分かりやすいかもしれません。


レイアウトやプログラムの互換性を考えて、今ある物を最小限の努力でiPad対応にしたい場合、JavaScriptでスクロールするインターフェースを用意しないといけないような気がしますが、iPad以外で見たときのことも考えなくてはいけないので…。


困った仕様です。
要検討です。

この問題については、こちらも詳しいです。(英語ですが)
http://www.webmanwalking.org/library/experiments/dsp_frames_outer_document.html
--

コメント