こんにちは!UIデザイナーのYunyです。
- スマホアプリやWebのUIで、モーダルとボトムシートの使い分けに迷っている方
- 何でもモーダルダイアログで表示してしまい、操作性やキーボード干渉に悩んだ経験がある方
- Apple HIGやMaterial Design 3の標準仕様に基づいた、破綻しないUIパターンの選定基準を知りたい方
スマートフォンの画面を設計していると、一時的な情報入力や選択肢の提示をどのUIコンポーネントで表現すべきか悩む場面が多いのではないでしょうか。
「とりあえず画面中央にモーダルダイアログを出しておこう」と安易に設計してしまうと、実機で操作した際に思わぬ使いづらさを引き起こす原因になります。
自分自身も過去の制作で、設定フォームを中央モーダルで実装したところ、入力キーボードが立ち上がった瞬間に決定ボタンが画面外へ追いやられて操作不能になるという苦い経験をしました。
本記事では、モーダル、ボトムシート、サイドドロワー、画面遷移という4つのUIパターンの特徴と比較表を詳しく解説します。
【結論】強制中断して警告する重大な確認は「モーダル」、文脈を保ち親指で操作する選択は「ボトムシート」を選びます。
一時的な表示UIは「取り消しの重大さ(失敗のリスク)」と「元の画面の状況を保てるか」の2軸で判断します。アカウント削除や課金など作業を完全に中断させる確認には「モーダルダイアログ」、元の画面を見ながら片手で手軽に操作させたいフィルターや共有には「ボトムシート(ハーフモーダル)」が最適です。
- なぜ「とりあえずモーダル」はスマホで失敗するのか?
- 1. 親指が届かない「画面上部×ボタン」問題
- 2. キーボード立ち上がり時のボタン埋没
- 3. コンテキストの強制断絶
- 【前提】「モーダル」と「ボトムシート」を正しく比較するための用語整理
- 3つの言葉が指している本質的な属性の違い
- 実務で使われる正規の組み合わせ(モーダル vs ノンモーダル)
- モーダルとボトムシートの決定的な違い(ドロワー・画面遷移との境界線)
- 1. モーダルダイアログ:取り消せない決断を迫る「警告・確認」
- 2. ボトムシート:文脈を保ち親指で操作する「タスク実行」
- 参考:サイドドロワーや画面遷移へ切り替える境界線
- 【保存版】モーダル vs ボトムシートの使い分け比較表
- モーダルダイアログ vs ボトムシート 直接比較表
- 参考:ドロワー・全画面遷移を含めたUIパターンの特徴比較表
- 迷ったときの3秒判定フロー
- 実務で差がつく!ボトムシート(ハーフモーダル)設計の黄金律
- 1. スワイプダウン(下フリック)による直感的なクローズ
- 2. デテント(Detent:高さ可変)の2段階設定
- 3. リストスクロールとシート終了ジェスチャーの競合回避
- 取り消せない操作に限定する!モーダルダイアログの正しい設計ルール
- 1. 「取り消せない操作」や「重要な確認」だけに絞る
- 2. ボタン文言の具体化(「OK」を使わない)
- 3. 削除など「危険な操作ボタン」のカラー設計
- 次のステップ:あわせて深掘りしたい知見
- 終わりに
なぜ「とりあえずモーダル」はスマホで失敗するのか?
PCのデスクトップ画面では重宝されるモーダルダイアログですが、スマートフォンの画面設計にそのまま持ち込むと、数多くのユーザビリティ上の問題を引き起こします。
画面サイズが限られ、タッチ操作が前提となるモバイル環境特有の制約を把握しておくことが大切です。
1. 親指が届かない「画面上部×ボタン」問題
スマートフォンの大画面化が進んだ現代において、画面中央から上部にかけて配置された「×」ボタンは、片手操作時の大きな負担になります。
画面の下半分に親指を置いた自然なグリップ状態から、画面右上まで指を伸ばす動作は、持ち替えを強いるため落下のリスクや操作ストレスを高めてしまいます。

モバイルUXで重視される「サムゾーン(Thumb Zone:親指の届く快適な操作域)」の考え方や、AppleのHuman Interface Guidelines(HIG)でも、画面下部の押しやすいエリアへの重要コントロール配置が推奨されています。
画面中央のモーダルダイアログは視線を強制的に集める点では優れていますが、日常的な繰り返し操作には適していません。
2. キーボード立ち上がり時のボタン埋没
モーダルダイアログの中にテキスト入力フィールドを配置すると、ソフトウェアキーボードの起動によってレイアウトが崩れやすくなります。
入力欄をタップした瞬間に画面の下半分がキーボードで占有され、モーダルの下部に配置されていた「保存する」や「次へ進む」といった主要なアクションボタンが画面外に隠れてしまうトラブルが頻発します。
もちろん、長文の利用規約やアクセシビリティ(文字拡大)対応など、モーダル内部のスクロールが正当な設計となる場面もあります。
しかしフォーム入力において安易にスクロール任せにすると、キーボードの開閉と狭い表示領域が干渉し、ボタンを押すために余計なスクロールを強いる離脱要因になります。
3. コンテキストの強制断絶
モーダルダイアログは通常、背景全体に暗いオーバーレイ(スクリム)を敷き、元の画面の操作を完全に遮断します。
ユーザーが「直前の画面で何を見ていたか」という視覚的な文脈が遮断されるため、作業の継続性や認知のつながりが途切れてしまいます。
単なる補足情報の確認や気軽な選択肢の変更において、前の画面が完全に見えなくなるUIは、ユーザーに不要な心理的圧迫感を与えがちです。
作業の手を止める必要のないシーンでは、元の画面の文脈を保てる表現を選ぶ必要があります。
【前提】「モーダル」と「ボトムシート」を正しく比較するための用語整理
モーダルダイアログとボトムシートの使い分けを考える前に、現場で最も混同されがちな「ダイアログ」「モーダル」「ポップアップ」の違いを整理しておきましょう。
なぜならボトムシートにも「モーダル」と「非モーダル」が存在し、言葉の定義が曖昧なままだと適切なUI選定ができないためです。
3つの言葉が指している本質的な属性の違い
この3つの言葉は同じ次元の対立関係ではなく、まったく異なる属性(次元)を指しています。
デザインシステムやアクセシビリティ(W3C)の観点から整理すると、以下の3つに明確に分解できます。
- ダイアログ(Dialog) ➔ 【UI部品・コンテナ(名詞)】: ユーザーに対話・確認・入力を求める独立したウィンドウコンポーネント(HTMLの dialog 要素、W3Cの role=”dialog”)。
- モーダル(Modal) ➔ 【操作制御の状態・振る舞い(形容詞)】: 背後を不活性(Inert)にして操作をロックし、その表示を閉じるまでユーザーを拘束する「モード(状態)」。
- ポップアップ(Popup) ➔ 【日常語・俗称(包括的な通称)】: 画面の上に飛び出すように重なって現れる表示現象全般を指す通称であり、正式なデザインシステムの部品名ではありません。
実務で使われる正規の組み合わせ(モーダル vs ノンモーダル)
「モーダル」は特定のUI部品そのものを指す名詞ではなく、「背後の操作を遮断する振る舞い」を指す言葉です。
そのため実務の現場では、UIコンポーネント(ダイアログやボトムシート)と掛け合わせた以下の正規パターンとして設計・実装されます。
| UIコンポーネント | モーダル状態(背後ロック) | ノンモーダル状態(背後操作可能) |
|---|---|---|
| ダイアログ(Dialog) | モーダルダイアログ (削除確認、アラートなど。一般に「モーダル」と略されるものの正体) | ノンモーダルダイアログ (ドキュメントの検索・置換パネル、設定パレットなど) |
| ボトムシート(Bottom Sheet) | モーダルボトムシート (共有シート、決済確認シートなど。Material Design 3正式用語) | スタンダードボトムシート (Googleマップのスポット詳細など。Material Design 3正式用語) |
私たちが普段「モーダル」と呼んでいるUIは、正確には「モーダルな振る舞いを持ったダイアログ(モーダルダイアログ)」を省略した呼び方です。
同様に、ボトムシートにも背景を遮断する「モーダルボトムシート」と、背景も同時に操作できるスタンダードボトムシートの2種類が存在します。
ポップアップという曖昧な日常語に惑わされず、「どのUI部品を、モーダルと非モーダルのどちらで出すか」に分解して考えることが大切です。
ここからは、スマートフォンで最も頻繁に使われる「モーダルダイアログ」と「ボトムシート」の具体的な使い分けルールを見ていきましょう。
モーダルとボトムシートの決定的な違い(ドロワー・画面遷移との境界線)
スマートフォンにおける一時表示の2大コンポーネントである「モーダルダイアログ」と「ボトムシート」には、明確な役割の違いがあります。
それぞれの構造的な特徴と、どのような場面でドロワーや全画面遷移に切り替えるべきかという境界線を整理しましょう。

1. モーダルダイアログ:取り消せない決断を迫る「警告・確認」
モーダルダイアログは、画面の中央に独立したウィンドウとして表示され、背後のコンテンツを完全にロックするUIです。
ユーザーに「Yes / No」の二者択一を迫り、判断が完了するまで他の操作を一切受け付けない強い拘束力を持っています。
このUIは、アカウントの削除、変更の破棄、決済の最終確認といった「取り消しの効かない重大な意思決定」を促す場面に限定して使用するのが定石です。
ユーザーの思考を強制的に中断させる強力なコンポーネントであるため、日常的な情報入力や頻繁に表示する案内には向いていません。
2. ボトムシート:文脈を保ち親指で操作する「タスク実行」
ボトムシートは、画面の下端から上部に向かって引き出されるように展開するシート状のUIコンポーネントです。
iOS(Apple Human Interface Guidelines)では「シート(Sheets)」、Android(Material Design 3)では「ボトムシート(Bottom sheets)」として標準定義されています。
最大の特徴は、親指が最も届きやすい画面下部に操作領域が集約されており、片手でもスムーズに操作できる点です。
さらに、シートの上部に元の画面が透けて見えているため、元の文脈を維持したまま、並び替えやフィルター絞り込み、SNS共有などを快適に行えます。
参考:サイドドロワーや画面遷移へ切り替える境界線
モーダルダイアログやボトムシートでカバーしきれないケースでは、サイドドロワーや全画面遷移への切り替えを検討します。
コンポーネント選びで迷った際の境界線の目安として把握しておきましょう。
- サイドドロワー(Navigation Drawer): アプリ全体の骨格となるグローバルメニューの移動や、アカウント切り替えなど「大分類のナビゲーション」を受け持つ際に適しています。
- 画面遷移(Push遷移 / 全画面): 入力項目が3つ以上あるフォームや長文の規約など、「独立した長大なタスク」を行う場合は、一時表示ではなく全画面遷移させるのが最も安定します。
【保存版】モーダル vs ボトムシートの使い分け比較表
「モーダルダイアログとボトムシート、結局どちらを選ぶべきか?」を現場で迷ったときは、「取り消しの重大さ(失敗のリスク)」と「元の画面の状況を保てるか」の2軸で判断します。
実務ですぐに確認できる2大コンポーネントの直接比較テーブルを用意しました。
モーダルダイアログ vs ボトムシート 直接比較表
| 比較項目 | モーダルダイアログ | ボトムシート(ハーフモーダル) |
|---|---|---|
| 画面上の配置 | 画面中央(アイレベル) | 画面下部(親指リーチエリア) |
| ユーザーの心理状態 | 「作業を中断された(警戒・確認)」 | 「作業の延長にいる(気軽・文脈維持)」 |
| 片手での操作性 | 低い(画面上部に指が届きにくい) | 非常に高い(親指だけで全操作が完結) |
| 背後画面の視認性 | 全面スクリムで完全遮断 | 上部が透けて見え、文脈を維持可能 |
| 適切な情報量 | 短文(1〜2行)+ボタン2つ | リスト一覧、フィルター項目、共有先 |
| 最適な実務用途 | アカウント削除、決済確定、変更破棄 | 並び替え、絞り込み、オプション選択 |
| 避けるべきNG設計 | 入力フォーム、頻繁に出る案内 | 3ステップ以上の長大なウィザード |
参考:ドロワー・全画面遷移を含めたUIパターンの特徴比較表
モーダルやボトムシートだけでなく、サイドドロワーや全画面遷移も含めた全体像を整理したいときは、以下の表を参考にしてください。
それぞれのUIが持つ特徴や向いている場面がひと目でわかります。
| UIパターン名 | 表示位置 | 前の画面の見え方 | 片手での操作性 | 最適な実務用途 | 避けるべきNG例 |
|---|---|---|---|---|---|
| モーダルダイアログ | 画面中央 | 暗幕で完全に隠れる(操作不可) | 低い(画面上部に指が届きにくい) | アカウント削除、権限の許可、重大エラー | 複数項目の入力フォーム、単なるお知らせ |
| ボトムシート(ハーフ) | 画面下部 | 上部が見える(前の画面の状況を維持) | 非常に高い(親指が自然に届く) | 並び替え、フィルター絞り込み、共有メニュー | 3画面以上の長い手続き、長文の利用規約 |
| サイドドロワー | 画面の左端/右端 | 横から覆う(背後は一時的に隠れる) | 中程度(スワイプ操作に対応していれば良好) | アプリ全体の階層メニュー、アカウント切り替え | 1回限りの確認・決定、短い選択肢 |
| 画面遷移(全画面) | 画面全体 | 別の画面へ完全に切り替わる | 高い(画面端のスワイプで戻れる) | 新規会員登録、プロフィール編集、長文フォーム | 1タップで終わる選択肢、簡単な補足メッセージ |
迷ったときの3秒判定フロー
実務でUIを選定する際は、以下の順番で自問自答していくとスムーズに決定できます。
チーム内でのデザインレビューでもそのまま活用しやすい判断ステップになっています。

- ステップ1:その操作は「取り消しが効かない重大な決断」か?
- YES ➔ モーダルダイアログを採用(作業を強制中断して警告する)。
- NO ➔ ステップ2へ進む。
- ステップ2:アプリ全体の「大分類やメニュー間の移動」か?
- YES ➔ サイドドロワーを採用(グローバルナビゲーションを整理する)。
- NO ➔ ステップ3へ進む。
- ステップ3:入力項目が多く、キーボードを多用する長大なタスクか?
- YES ➔ 画面遷移(全画面)を採用(独立した画面で入力環境を確保する)。
- NO ➔ ボトムシート(ハーフモーダル)を採用(文脈を保ったまま親指エリアで完結させる)。
この3ステップに沿って精査するだけで、不自然なモーダルの乱用や使いづらい画面遷移の発生を大幅に防ぐことができます。
迷ったときはチームメンバーとこの基準を共有し、ユーザーの操作動線に無理がないか確認してみてください。
実務で差がつく!ボトムシート(ハーフモーダル)設計の黄金律
スマートフォンにおける一時表示で頻繁に利用されるボトムシートですが、実装時の配慮が不足していると操作感を損ねてしまう原因になります。
実務で押さえておきたい3つの実践的な設計ルールを紹介します。
1. スワイプダウン(下フリック)による直感的なクローズ
ボトムシートを閉じる操作は、右上に配置された小さな「×」ボタンに依存させてはいけません。
シートの上部を指で引っ掛けて下方向へ軽くフリック(スワイプダウン)するだけで、スムーズに閉じられるインタラクションを組み込むことが大切です。
視覚的なアフォーダンス(操作の手がかり)として、シートの最上部中央に視認しやすいインジケーター(ドラッグハンドルバー)を配置するのが定石です。
ハンドルバーがあることで、ユーザーは「このシートは下へスワイプして閉じることができる」と直感的に理解できます。
2. デテント(Detent:高さ可変)の2段階設定
Apple HIGのSheets仕様では、シートの停止位置を指定する「Detents(デテント)」という概念が用意されています。
初期表示では画面の約50%の高さに収まる「Medium」、上に引き伸ばすと画面全体に広がる「Large」の2段階を使い分けるのが効果的です。

例えば、地図アプリで周辺スポットを探す際、初期状態では地図(背後)を見ながら50%のシートで一覧を眺めます。
さらに詳しく見たいときはシートを上にスワイプして全画面化し、詳細情報をじっくり読むというシームレスな体験が実現できます。
3. リストスクロールとシート終了ジェスチャーの競合回避
ボトムシートの内部に長いリストを配置する場合、最も注意すべきなのが「内部コンテンツの縦スクロール」と「シートを下げるスワイプ動作」の衝突です。
リストを途中で上にスクロールしようとしたつもりが、誤ってシート全体が閉じてしまうという誤操作は、ユーザーに強い不満を与えます。
これを防ぐためには、「内部スクロールが最上部に到達しているときのみ、下スワイプによるシート閉じを認識させる」という制御が欠かせません。
エンジニアと実装の仕様を詰める際、スクロールとジェスチャーの排他制御について事前にアノテーションを記載しておくことが重要です。
取り消せない操作に限定する!モーダルダイアログの正しい設計ルール
モーダルダイアログは使いどころを絞ることで、本来の強みである「確実な注意喚起」を最大限に発揮します。
誤操作によるトラブルを未然に防ぐための実践的なルールを整理します。
1. 「取り消せない操作」や「重要な確認」だけに絞る
モーダルダイアログを使う場面は、原則として「ユーザーがデータや進行状況を失うリスクがある操作」に絞り込みます。
保存していない下書きの破棄、登録データの完全削除、月額プランの解約といった、後から取り消すのが難しい場面でのみ表示させることが鉄則です。
日常的な完了案内(「保存が完了しました」など)にまでモーダルダイアログを使うと、ユーザーはいちいち「OK」を押して閉じる作業にうんざりしてしまいます。
完了通知のように画面を止める必要のない案内は、作業を邪魔しないスナックバー(トースト通知)を使うのが適しています。
2. ボタン文言の具体化(「OK」を使わない)
確認ダイアログにおいて、アクションボタンの文言を「OK」と「キャンセル」にしてしまうのは避けたい設計です。
ユーザーはダイアログの本文を細かく読まず、ボタンのラベルだけを見て判断することが多いため、「OK」が何を意味するのか曖昧になってしまいます。
ボタンの文言は、「削除する」「破棄する」「変更を保存する」のように、実行される具体的なアクションを行動の言葉で明記します。
さらに、取り消し側のボタンも単に「キャンセル」とするより、「そのまま残す」「編集を続ける」と表現した方が、迷いなく操作を選択できます。
3. 削除など「危険な操作ボタン」のカラー設計
データの完全削除など取り消せない操作ボタンは、システムの基本アクセントカラーではなく、警告色(レッド系)を用いて明確に区別します。
一方で、安全な選択肢であるキャンセルボタンは、アウトラインや薄いグレー(ゴーストボタン)に設定し、視覚的な存在感を控えめにします。
ユーザーが無意識にボタンを連打してデータを失ってしまう事態を防ぐため、「どのボタンを押すと取り消せなくなるのか」が一瞬で視覚的に伝わるカラーコントラストを確保しましょう。
赤色を使う場合でも背景との明度比を4.5:1以上確保し、アクセシビリティの基準を満たす配色を意識してみてください。
次のステップ:あわせて深掘りしたい知見
スマートフォンのUIパーツ設計をさらに洗練させるためには、画面全体のレスポンシブな構造設計やUI状態(States)の網羅が欠かせません。
実務のクオリティを一段引き上げるためのおすすめ関連記事をピックアップしました。
端末ごとの画面サイズ変化に柔軟に対応し、コンポーネントが破綻しないレイアウトを構築するための実践ガイドです。
FigmaのオートレイアウトとモダンCSSの設計手法を組み合わせて学ぶことができます。
モーダルやボトムシートを閉じた直後の画面や、読み込み中・エラー時の画面など、UIの考慮漏れをゼロにするための設計フレームワークです。
エンジニアとの円滑な連携を実現するUI Stackチェックリストを活用してみてください。
モバイルにおける心地よいタッチ操作やタップ領域の基準について、Appleの公式ガイドライン(HIG)から深く掘り下げた解説記事です。
44ptのタップターゲットや親指の可動域を考慮したUI設計の基礎知識として役立ちます。
終わりに
最後までお読みいただき、ありがとうございます!
今回はスマートフォンの画面設計における、一時表示UIの適切な使い分けルールを整理しました。
スマートフォンのUI設計において使い分けに迷ったときは、まずユーザーの手の動きと作業の重大度に立ち返ってみてください。
親指が自然に届く範囲で軽快に操作させたいのか、それとも手を止めて慎重に判断させたいのかという目的が定まれば、最適なコンポーネントは自然と決まってきます。
日々のちょっとしたコンポーネント選びの工夫で、心地よいプロダクト体験を作ることができます。
これからも使いやすく美しいUX/UIの探求を続けながら、日々のデザインを磨いていきましょう!






