2026.09.23 泊まれる場所4,223 立ち寄りスポット59,693 営業中を確認したキャンプ場1,005 note を読む

スマホでフォームを触ったら、画面が勝手に寄った。犯人は文字の大きさだった

入力欄をタップした瞬間にページが拡大して、そのまま戻らない。
iPhoneでよく起きるあの動きには、はっきりした条件があった。

自分のサイトの問い合わせフォームを、久しぶりにスマホで開いた。
名前の欄をタップした瞬間、画面がぐっと寄った。
文字が大きくなったのではなく、ページ全体が拡大されて右側がはみ出している。
そのまま打ち込んで送信ボタンを探したら、画面の外にあった。

パソコンで作っているとまず気づかない。
僕もずいぶん長いあいだ、そのまま置いていた。

なぜ勝手に拡大するのか

これは不具合ではなく、ブラウザが親切のつもりでやっている動きだ。
iPhone の Safari は、入力欄の文字がある大きさより小さいと「このままでは打つ人が読めない」と判断して、ページのほうを自動的に拡大する。
その境目が16pxで、15pxだと寄って、16pxだと寄らない。
1pxしか違わないのに、起きるか起きないかがきれいに分かれる。

Android の主要なブラウザでは、同じ動きをしない。
手元の確認用の端末が Android だけだと、この症状は一生見えないままになる。
僕が長く気づかなかったのも、たぶんそれが理由だった。

本当に困るのは、拡大したあと

拡大されること自体は、実はそれほど問題ではない。
困るのは、勝手に寄ったあと自分では元に戻らないことだ。

横に広がったまま次の欄へ移るので、指で戻しながら入力することになる。
送信ボタンが画面の外に出てしまい、押せないと思ってやめる人も出る。
そもそも「触ったら画面が勝手に動いた」という体験そのものが、この先を触るのが怖い、という感じにつながる。

問い合わせが少ない原因を、僕は文章と導線のほうに探していた。
実際にはその手前で、指が止まっていたわけだ。

直し方は、ほとんど一行で済む

入力欄の文字を16px以上にする。
対象は input と textarea と select の三つで、これだけで寄らなくなる。

画面が狭いときだけ16pxにする、という書き方もできる。
ただ僕は全部16pxで揃えてしまった。
パソコンで見ても16pxの入力欄が読みにくいということはないし、条件を分けるほど、あとから触ったときに壊す。

「入力欄が大きく見えて不格好だ」と感じるなら、直すのは文字ではなく余白のほうがいい。
上下の余白と枠の高さを詰めれば、文字は16pxのまま見た目は落ち着く。
小さく見せたいという気持ちの正体は、たいてい文字の大きさではなく欄の高さのほうだった。

やってはいけない直し方

調べると、ページの設定で拡大そのものを禁止する方法が出てくる。
たしかにこれでも寄らなくなる。
ただこれは、拡大が必要な人からピンチ操作を取り上げる直し方だ。

小さい字が読みにくい人は、指で広げて読んでいる。
こちらの都合で勝手に寄るのを止めたいだけなのに、その人が読む手段まで一緒に消してしまう。
原因が文字の大きさなのだから、文字の大きさで直すのが筋だと思う。

ついでに直した二つ

電話番号の欄とメールアドレスの欄に、種類を指定し直した。
種類を書いておくと、スマホのキーボードが数字だけになったり、アットマークが最初から出ていたりする。
打つ手間が減るぶん、途中でやめる人が減る。

もうひとつは、項目の名前をタップしても入力欄に入るようにしたことだ。
指で狙う的が広がるので、押し間違いが目に見えて減った。

フォームは、書いた文章より先に触られる場所だ。
寄るか寄らないかは些細な話に見えて、触った人の一手目の印象をそっくり決めていた。
リンクの見え方について書いた下線の回と、結局は同じことを言っている気がする。

まる子パパ

まる子パパ

会社員。受託開発のエンジニアで、その前は寿司職人・長距離運転手・農業。 技術ブログは、キャンプの合間に踏んだバグと、AI・Web開発の運用の失敗を書いています。 このサイト自体が、開発に携わっているCMS「コンテナ」の稼働中の実例です。 このサイトについて

—

ほかにも書いています

note・スタンプ

※noteは運営者が個人で書いているものです。

技術ブログ一覧へ戻る