ダイアログ
ダイアログは、ユーザからの応答を引き出すウィンドウの型です。多くのダイアログ(たとえば、印刷ダイアログなど) では、一度に複数の応答を人々が提供できます。ダイアログは、文書モーダル、アプリモーダル、モードレス の 3 つの方法で表示されます。
文書モーダルダイアログ
文書モーダルダイアログはシートとして文書に添付され (シート を参照のこと)、ダイアログが閉じられるまでユーザが文書内で何もしないようにします。ユーザは引き続き他の文書やアプリに切り替えることができます。[保存] ダイアログは、文書モーダルダイアログの例です。保存ダイアログ を参照してください。
アプリモーダルダイアログ
アプリモーダルダイアログは、ダイアログが閉じられるまで、ユーザがアプリで何もできないようにします。ユーザは引き続き他のアプリに切り替えることができます。[開く] ダイアログは、アプリモーダルダイアログの例です。開くダイアログ を参照してください。
モードレスダイアログ
モードレスダイアログは通常、パネル と呼ばれます。ユーザは、文書やアプリを中断することなく操作し続けることができます。標準の検索ダイアログは、モードレスダイアログの例です。検索ダイアログ と パネル を参照してください。
データ入力
ダイアログは、ユーザによる詳細な操作を必要としない、小さくて一時的なウィンドウを対象としているため、データ入力が効率的であることを確認することが重要です。
可能な限り、コントロールとフィールドにデフォルト値を提供します。 情報を最初から入力するよりも、ユーザが情報を確認する方が簡単です。
最初のフォーカスを、ユーザ入力を受け入れる最初の場所に設定します。 そうすることで、ユーザはテキストフィールドやリストなどの特定の項目をクリックしなくても、すぐにデータの入力を開始できます。
静的テキストを選択可能にします。 たとえば、ユーザは、エラーメッセージ、シリアル番号、IP アドレスなどの有用な情報をコピーして、他の場所にペーストすることができる必要があります。
データ入力中にエラーがないか確認してください。 ユーザがダイアログを閉じようとしたときに待ってアラートを表示する代わりに、データ入力中にエラーがないかどうかを確認して、ユーザがコンテキストの問題を修正できるようにします。入力直後に値を確認するのが最適です。キーを叩くたびに検証することは避けてください。検証の頻度多すぎると、アプリの速度が低下し、煩わしいものになります。
可能な限り、無効な入力の可能性を最小限に抑えてください。 たとえば、ユーザにデータの入力を求めるのではなく、ポップアップボタンを使用して選択肢を提供し、日付ピッカーと数値フォーマッタを使用して、日付と数値が正しく入力されていることを確認します。関連するガイダンスについては、ポップアップボタン、日付ピッカー、および テキストフィールド > データ入力 を参照してください。
ユーザが変更を同意する前にプレビューできるようにする [適用] ボタンを含めることを検討してください。 [適用] ボタンは、モードレスダイアログで、すばやく適用し、プレビューし、および元に戻すことができる変更に適しています。[保存] ダイアログや、ユーザが簡単にプレビューできない変更を加えることができるその他のダイアログには、[適用] ボタンを含めないでください。
レイアウト
開示コントロールを使用して、たまにしか必要とされない情報や機能を提供します。 開示コントロールは、詳細オプションなどの情報または機能を非表示にし、ユーザがコントロールをクリックしたときにのみ表示します。ガイダンスについては、開示コントロール を参照してください。
ダイアログのサイズが変更されたときに、インターフェイス要素が適切にスケーリングされることを確認してください。 ダイアログでサイズ変更が許可されている場合、ダイアログに合わせて拡大縮小できる要素はそれに応じてそうできる必要があります。一般に、ボックス、タブビュー、テーブルなどのビューは、ダイアログ全体に拡大する必要があります。テーブルでは、既存のコラムを展開し、必要に応じて新しい列と行を表示する必要があります。ボタン、チェックボックス、セグメント化されたコントロールなど、通常はサイズ変更されない他の要素は、同じサイズのままで、ダイアログの側面 (または中央) に固定する必要があります。
ボタンを期待どおりに配置します。 ダイアログの右下にあるボタンは、ダイアログを閉じる必要があります。ダイアログの主要なアクションを開始するアクションボタンは、最も右側にある必要があります。キャンセルボタンは、アクションボタンのすぐ左にある必要があります。3 番目の閉じるボタンが存在する場合は、[キャンセル] ボタンの左側にある必要があります。ヘルプボタンはずっと左端にある必要があります。ダイアログを展開して追加の詳細を表示するためのボタンなど、ダイアログ自体のコンテンツに影響を与えるボタンは、ヘルプボタンの右側に配置するか、ヘルプボタンがない場合はずっと左端に配置する必要があります。
破壊的なボタンを非破壊的なボタンから分けます。 [保存しない] などの破壊的なボタンは、[保存] や [キャンセル] などの安全なボタンから十分に離れている必要があるため、ユーザはボタンをクリックするために意図的に努力する必要があります。可能であれば、少なくとも 24 ポイント分離します。
ダイアログの却下
ユーザの最も可能性の高いアクションが無害である場合にのみ、デフォルトのボタンを提供します。 ユーザは、そのコンテンツを読まずにダイアログを閉じるためだけに Return キーを押すことがあるため、デフォルトのボタンで無害なアクションを開始することが重要です。デフォルトのボタンがない場合、Return キーを押しても効果はありません。ダイアログを閉じるには、ユーザはボタンを明示的にクリックする必要があります。または、ダイアログによって破壊的なアクションが発生する場合は、[キャンセル] をデフォルトのボタンとして設定できます。
ダイアログのテキストフィールドで Return キーがまだ使用されていない場合にのみ、デフォルトのボタンを提供します。 1 つのキーに対して 2 つの動作があると、混乱を招き、インターフェイスの予測が難しくなります。ユーザ が Return キーを何度も押して、誤ってデフォルトボタンをアクティブにする可能性があります。
標準のキャンセルキーボードショートカットに応答する [キャンセル] ボタンを含めます。 [キャンセル] ボタンは、ダイアログから抜け出すための明確で安全な方法を提供し、ダイアログが表示される前の状態にコンピュータを戻します。キーボードショートカットの Command-period と Esc (エスケープ) キーが [キャンセル] ボタンにマッピングされていることを確認してください。
[キャンセル] ボタンを押すと、適用されたすべての変更が取り消されます。 [キャンセル] ボタンは、[適用] をクリックしてプレビューしたユーザの変更を静かに託すことはできません。
意図したとおりに、[適用]、[OK]、および [キャンセル] ボタンを使用します。 [適用] をクリックすると変更がプレビューされますが、ダイアログは閉じません。[OK]をクリックすると、変更を受け入れる意図が確認され、ダイアログが閉じます。[キャンセル] をクリックすると、適用された変更がすべて破棄され、ダイアログが閉じます。
ダイアログのアクションが迅速に行われるようにします。 一般に、ユーザはダイアログからアクションを開始した後、ほぼ即時の結果を確認する必要があります。完了するまでに数秒以上かかるアクションの場合は、進行状況情報を表示して、アクションが開始されたこと、アクションにかかる時間、およびアクションがいつ完了したかをユーザに知らせます。関連するガイダンスについては、進捗インジケータ を参照してください。