[[← 2 節に戻る|Palm OS User Interface Guidelines/3-2]] [[↑3 章トップへ|Palm OS User Interface Guidelines/3]] [[4 節に進む →|Palm OS User Interface Guidelines/3-4]] ---- !!!3-3 モーダルフォーム    モーダルフォーム ── あるいはダイアログ ── は、特定の目的で使用されるサブフォームです。モーダルフォームはカレントフォームの上に表示されます。モーダルフォームはモードレスフォームとは異なるスタイルのタイトルバーを持ち、境界線があります(図 3.11 参照)。  モーダルフォームは、そのアプリケーションのモードレスフォームよりも一般的でない用途に使われるべきです。モーダルフォームの主要な用途は、アプリケーションプリファレンスのようなオプションの設定です。 !図 3.11 モーダルフォーム {{ref_image figure_3.11.gif}} !表 3.2 モーダルフォームの詳細 ,指標,値 ,幅,156 (境界線を描画するため) ,高さ,20 〜 141{{br}}141を越える場合は 156 であること{{br}}常にできるだけ小さくする ,上端,158 - 高さ ,左端,2 ,境界線,各辺2ピクセル   !!システムが定める挙動  Palm OS は、最上位のモーダルフォームだけがペンダウンイベントやキーストロークを受信することを保証します。例えば、メインフォームのタイトルバーをタップすることでモーダルフォームを閉じることはできません。また、モーダルフォーム表示中はグローバル検索機能を利用することはできません。   !!ルック&フィール  モーダルフォームの外観や挙動については、以下のガイドラインに従って下さい。 !いつでも終了可能  モーダルフォームの表示中でも、入力エリアのアイコンをタップしたり、ハードボタンを押下することによってアプリケーションを終了することができなければなりません。モーダルフォームを作成する際、デフォルトボタンを指定します。ユーザーがモーダルフォーム上のボタンをタップせずにアプリケーションを終了した場合、アプリケーションはこのデフォルトボタンがタップされたかのように振舞います。デフォルトボタンは、もっとも破壊的でないアクションであるべきです。通常、これはキャンセルボタンですが、場合によっては OK ボタンになることもあります。 !モーダルフォームはできるだけ小さく  モーダルフォームは常にスクリーンと同じ幅ですが、常にスクリーンと同じ高さとは限りません。状況がわかるよう、モーダルフォームの下にメインフォームが見えるように画面よりもモーダルフォームを小さくするのがベストです。モーダルフォームはできるだけ小さくするようにして下さい。モーダルフォームの上端とメインフォームのタイトルバーは少なくとも3ピクセルは離すようにします。モーダルフォームがメインフォームのタイトルバーの一部を隠してしまうようであれば、モーダルフォームを画面全体と同じ大きさにします(図 3.12 参照)。 !図 3.12 全画面のモーダルフォーム {{ref_image figure_3.12.gif}}  モーダルフォームは常に画面の下端に揃えるようにします。これには2つの理由があります。1つは、メインフォームのタイトルバーが見えるようにして、状況を把握しやすくすることです。もう1つは、モーダルフォームを入力エリアの近くに配置することです。 !モーダルフォーム上のボタン  ほとんどのモーダルフォームには左下に OK ボタンがあり、そのすぐ右にキャンセルボタンがあります。必要に応じてその他のボタンが並ぶ場合もあります(図 3.11 参照)。  モーダルフォームが1つ以上のアクションを実行する場合、フォームを閉じるのには OK ボタンとキャンセルボタンよりも Done ボタンを使いましょう。例えば、ランチャのビーム画面から複数のアプリケーションをビームすることがあります(図 3.13 参照)。この場合、完了したビームは取り消すことができませんから、キャンセルボタンには意味がありません。OK ボタンは、アプリケーションの(一連の)赤外線送信作業が終わったことを示すために、Done という名前に変更します。 !図 3.13 Done ボタン付きのモーダルフォーム {{ref_image figure_3.13.gif}} !テキストフィールドのあるフォームには編集メニューが必要  モーダルフォームに編集可能なテキストフィールドがある場合、フォームにメニューバーを関連付けておく必要があります。このメニューには少なくとも編集メニューが含まれているべきです。このメニューにより、コピーや貼り付けのショートカットがサポートされます。メニューは常に画面の上部に表示されます(図 3.14 参照)。 !図 3.14 モーダルフォームのメニュー {{ref_image figure_3.14.gif}}  編集可能なテキストフィールドを持つフォームには、編集メニューと同様にシフトインジケータも必要になります。詳細は“フィールド”のページを参照して下さい。   !!ルールを破る場合  このセクションでは、モーダルフォームのガイドラインから外れる一部のアプリケーションについて言及し、ガイドラインに従わないのが適切なケースについて説明します。 !OK ボタンのないモーダルフォーム  モーダルフォームは、タップ回数を最小化する効果があるならば OK ボタンを省くことができます。ほとんどのフォームには、1つ以上のコントロールやテキストフィールドがあります。OK ボタンは、ユーザーによる情報入力が完了したことをアプリケーションに知らせるために必要になります。しかし、Date Book の Go To Date フォーム(図 3.15 参照)を見てみましょう。このフォームは、日付をタップすると即座に閉じられます。日付の選択だけがこのフォームの目的なので、OK ボタンは省略されているわけです。 !図 3.15 OK ボタンのないモーダルフォーム {{ref_image figure_3.15.gif}} !終了しないモーダルフォーム  ユーザーはモーダルフォームを完全に見逃してしまう場合があります。フォームが表示される前にユーザーが気を逸らされて電源をオフにし、復帰する際にハードボタン押下で電源を入れたとしましょう。ハードボタン押下はデフォルトボタンのタップをシミュレートしてモーダルフォームを閉じてしまいます。  ほとんどの場合、デフォルトボタンはモーダルフォームを確認しなかったことによる意図しない結果からユーザーを守る必要があります。例えば削除の確認フォームであれば、見逃したことが破壊的な結果にならないよう、キャンセルボタンをデフォルトにすることになるでしょう。  デフォルトボタンがユーザーを守るのに十分でない場合、ボタンのいずれかを明示的にタップしない限り閉じられることのないモーダルフォームを作成することができます。通常、これはユーザーにとって非常に重要な情報を提供するフォームだけに限られます。例えばバッテリー警告のアラートダイアログは、差し迫ったデータ喪失のリスクをユーザーに知らせるのが目的ですから、明示的に閉じられなければなりません。Date Book のアラームダイアログとアテンションマネージャのダイアログ(図 3.16 参照)も、ユーザーが指定した時刻にリクエストした情報を提示するわけですから、明示的に閉じられる必要があります。これらの情報を見逃してしまった場合、明示的に閉じなければならないダイアログを表示することよりもずっと面倒なことになってしまうでしょう。 !図 3.16 アテンションマネージャのダイアログ {{ref_image figure_3.16.gif}}   ---- [[← 2 節に戻る|Palm OS User Interface Guidelines/3-2]] [[↑3 章トップへ|Palm OS User Interface Guidelines/3]] [[4 節に進む →|Palm OS User Interface Guidelines/3-4]]