Sparkle Design

Dialog

ダイアログはユーザーにアクションの実行や中断を確認するために使用するコンポーネントです。

Dialog の概要図

Anatomy: 解剖図

Dialogの構成要素を示す解剖図。1はDialog全体を囲むContainerを、2はタイトル・説明文・アクションボタンを含むBodyを、3はオプションで配置可能な警告アイコンなどのIconを、4はダイアログのタイトルを示すTitleを、5は補足説明を示すDescriptionを、6はアクションボタンを配置するFooterを示します
ItemNameDescriptionComponentOptional
1Containerコンテナ要素
2Bodyボディ要素
3Iconヘッダー要素Icon任意
4Titleヘッダー要素
5Description
6Footerフッター要素

Options: 選択肢

Status

neutral

中立的なの情報提示や確認で使用するオプションです。

ユーザーに意思決定を促しますが、破壊的でないアクションに対して使います。

NeutralステータスのDialog。ヘッダー、説明文と「キャンセル」「再試行」というボタンが表示されているDialogです。

warning

警告的文脈を含む情報をユーザーに伝える際に使用するオプションです。

ユーザーの操作によって、重要な変更が間接的に失われる場合に使用します。

Warning ステータスのDialog。黄色の三角形に感嘆符の警告アイコン、ヘッダー、説明文と「キャンセル」「保存」というボタンが表示されているDialogです。

negative

ネガティブな情報をユーザーに伝える際に使用するオプションです。

ユーザーの操作が破壊的なアクションへ直接的につながる場合に使用します。

Negative ステータスのDialog。赤い円に感嘆符のネガティブアイコン、ヘッダー、説明文と「キャンセル」「破棄」という赤いボタンが表示されているDialogです。

Behaviors: 振る舞い

レイアウト

ダイアログはウインドウの画面中央に固定表示されます。

上下左右には40pxのオフセットが存在します。また、ダイアログはオーバーレイコンポーネントの上に配置されます。

Dialogのレイアウトを示す図。

Metrics: 寸法

Dialogの寸法仕様を示す図。
  • Vertical resizing: Hug
  • Horizontal resizing: Fixed
  • Padding top: 24px
  • Padding bottom: 24px

Usage: 使い方

注意すべきの使用例。「送信完了」というタイトルと「メールの送信が完了しました」という説明文、「閉じる」というボタンを持つDialogです。
Caution

ダイアログはユーザーの作業を中断させます。アクションの実行に必要な確認をするために使用してください。重要度や優先度が低い情報を提示する場合はInline MessageやToastの使用を検討します。

不適切な使用例。「権限を一括変更」というタイトルと「2名の権限を変更します」という説明文、「キャンセル」「ビューアーに変更」「エディターに変更」という3つのボタンを持つDialogです。
Don’t

オブジェクトの選択や属性の指定などを行うためにダイアログを使用しないでください。

オブジェクトの操作など、確認以外の作業を行う場合はModalを使用します。

Contents: 内容

適切な使用例。赤い円に感嘆符のアイコン、「アドレスを削除」というタイトル、「連絡先からアドレスを削除します。削除されたアドレスは復元できません」という説明文、「キャンセル」「削除」という赤いボタンを持つDialogです。
Do

ダイアログはユーザーが主体性を持ってアクションを実行できるように設計します。タイトルとトリガーにはシステムが実行するアクションを具体的に明示します。デスクリプションではそのアクションを取る理由やリスクを補足し、ユーザーが判断できる情報を提示します。

不適切な使用例。「アドレスを削除しますか?」というタイトル、「連絡先からアドレスを削除しますか?削除されたアドレスは復元できません」という説明文、「キャンセル」「破棄」というボタンを持つDialogです。
Don’t

ダイアログのトリガーのラベルはタイトルの内容を元に命名してください。また、ユーザーにとってネガティブに作用するアクションを実行するためのトリガーはThemeをNegativeにして提示してください。

適切な使用例。黄色の三角形に感嘆符のアイコン、「変更内容を保存せずに移動」というタイトル、「このまま画面を離れると変更内容が保存されません」という説明文、「キャンセル」「保存せずに移動」というボタンを持つDialogです。
Do

ユーザーが意図せず重要な変更を失う可能性がある場合はWarningを使用してください。

注意すべきの使用例。「アドレスを削除しますか?」というタイトル、「連絡先からアドレスを削除しますか?削除されたアドレスは復元できません」という説明文、「いいえ」「はい」というボタンを持つDialogです。
Caution

ダイアログを質問形式でなるべく提示しないでください。質問が含まれているとメッセージが冗長になると同時に、「はい」「いいえ」で回答する形式にするとユーザーの主体性が失われます。

適切な使用例。「ネットワークを再試行」というタイトル、「通信状態を確認し、再度お試しください」という説明文、「キャンセル」「再試行」というボタンを持つDialogです。
Do

ユーザーに気づいてもらう必要があり、中立的なアクションを提示する場合はNeutralを使用してください。

References: 参考文献

キャンセルのキャンセル問題から考えるダイアログデザイン|Goodpatch Blog グッドパッチブログUIというものは大半がテキスト要素で構成されています。テキスト要素の設計はUIの要といっても過言ではないほどに重要な領域です。今回はそのテキスト要素、すなわち「文言」をテーマに、iOSにおけるダイアログ設計を考察してみます。題材はiO...goodpatch.com

Change log: 変更履歴

DateChanges
2025/10/23ドキュメントを更新
2025/06/02アクセシビリティのレビューを完了
2025/02/14ドキュメントを公開
2023/10/14Figmaを公開
小さな気づきや違和感があればお気軽に教えてください。
フィードバック
Chat illustration