クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

タッチ操作と親指の届く範囲

このレッスンのあとで: 指で押しやすい大きさと間隔で、操作部品を決められる。

50分のレッスンコマンド1件モバイルウェブのラボ:ブラウザーで作るレスポンシブでインストールできるウェブアプリ

タッチターゲットとは

タッチターゲットは、指で押すボタンやリンクの、反応する範囲のことです。小さすぎると、押し間違いが増えて、使いにくくなります。

このレッスンでは、押しやすい大きさと間隔、親指の届く範囲を学びます。学食の注文アプリを例に使います。

このレッスンのゴール

メモ

指で押しやすい大きさと間隔で、操作部品を決められる。

重要な言葉

ことばいみれい
タッチターゲット指で押したときに反応する範囲
余白部品のまわりの、何もない空きpadding
間隔隣り合う部品のあいだの距離gap
サムゾーン片手で持ったとき、親指が楽に届く範囲
押し間違い隣の部品を押してしまうこと

学生が入力するセルは、このプレビューでは空白です。

指はマウスの矢印より大きい

マウスの矢印は、1点を指します。指は、およそ1 cm ほどの幅で画面を押し、しかも指で押した場所は、自分の指に隠れます。

そのため、小さい部品は、狙った場所を押しにくいのです。

押せる範囲は 44 px 以上が目安

よく使われる目安は、押せる範囲を、縦も横も 44 px 以上にすることです。隣の部品との間隔も、8 px ほどは空けます。

見た目の絵が小さくても、余白を足せば、押せる範囲だけを広げられます。

例: 注文アプリの部品を判定する

部品幅 × 高さ判定
注文するボタン280 × 48大きさは十分
数量の + ボタン36 × 36小さい
取り消しのリンク60 × 24高さが足りない
メニューの1行320 × 56大きさは十分

学生が入力するセルは、このプレビューでは空白です。

押せる範囲を広げる CSS

コード: web
/* 絵は小さくても、押せる範囲は 44 px 以上にする */
.icon-button {
  min-width: 44px;
  min-height: 44px;
  padding: 10px;
}

/* 並んだボタンの間は 8 px 空ける */
.buttons { display: flex; gap: 8px; }

ラボの CSS の大きさを数える

ラボの style.css を読んで、部品の大きさを調べるスクリプトがあります。44 px に届かないと UNDER 44、届けば ok と出ます。

最後の行は、44 px に届かない数です。ここでは数え方を読むだけで、CSS は直しません。

44 px に届かない部品を数える

コマンド
docker exec jupyter python3 steps/touch.py

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

スクリプトは何を数えるのか

スクリプトは、height、width、min-height、min-width で、px で書かれた数を探します。クラスのセレクターだけが対象です。

文字や入力欄のように、大きさを書いていない部品は、数に入りません。実際に指で押して確かめることも大切です。

親指は画面の下のほうが楽に届く

多くの人は、スマホを片手で持ち、親指で操作します。画面の下の中ほどは楽に届き、上の隅は届きにくくなります。

大画面のスマホでは、なおさらです。よく使う操作は、下のほうに置きます。

画面の場所と置くもの

画面の場所親指置くもの
下楽に届く注文するなど、よく使う操作
中ほど届くメニューの一覧
上の隅届きにくい見出し、あまり使わない設定

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

パソコンのマウスで押せたから、指でも押せると考える間違いが多いです。ブラウザのスマホ表示と、本物のスマホで、指で押して確かめてください。

このラボとソースについて: モバイルウェブのラボ:ブラウザーで作るレスポンシブでインストールできるウェブアプリ

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。