Palm Programmer's Laboratory
Palm OS User Interface Guidelines/3-4
3-4 アラートダイアログ
アラートダイアログはモーダルフォームの特殊なケースです。アラートダイアログは特定の状況で使用され、表示についても固定的なルールが適用されます。アラートダイアログ上には、アラートを閉じるために使われるコマンドボタン以外にはコントロールはありません(図 3.17 参照)。アラートダイアログはアラートアイコンとメッセージを表示します。
図 3.17 アラートダイアログ
表 3.3 アラートダイアログの詳細
指標 | 値 |
---|---|
幅 | システムにより決定 |
高さ | システムにより決定 |
上端 | システムにより決定 |
左端 | システムにより決定 |
境界線 | 各辺2ピクセル |
アラートの種類
アラートダイアログは、エラー状態の表示や、ユーザーに対する応答要求、イベントの通知、および近付きつつあるイベント(例えば低バッテリ)の警告などに使用されます。
表 3.4 に、4つの利用可能なアラートの種類について、いつ使用するべきかやそれぞれのアイコン表示、メッセージの例を説明しています。
表 3.4 アラートダイアログの種類
種類 | アイコン | 定義 | メッセージ例 |
---|---|---|---|
情報 | 重要度の低い警告。エラーやデータロスのリスクを伴わないが操作が完了しなかった場合。 | アラームの設定は 1 〜 99 でなければなりません。 | |
確認 | アクションの確認やオプションの提案。 | 赤外線通信の設定はオフです。今オンに変更しますか? | |
警告 | 重大、あるいは潜在的に危険なアクションの確認。 | このエントリを本当に削除しますか? | |
エラー | アクションの実行エラー、および/または未完了。 | バッテリ残量がないため、操作を完了できません。 |
ルック&フィール
アラートダイアログの外観と振舞いについては、以下のガイドラインに従って下さい。
ここでも常に終了可能
アラートダイアログの挙動に関するルールは、“モーダルフォーム”で説明したものと同じです。特に、アラートが表示されている状態でもハードボタン押下や入力エリアアイコンのタップによってアプリケーションを終了できるようにしておかなければなりません。その場合、アプリケーションはアラートのデフォルトボタンがタップされたかのように振舞います。どのボタンをデフォルトにするかは、アラートの作成時に指定します。
アラート発生理由をタイトルで説明する
アラートダイアログのタイトルはユーザーが実行しようとしている操作を説明するべきです。例えば、ビーム操作に関するアラートダイアログはタイトルバーに“赤外線通信”と表示されるべきです。アドレス帳からのエントリ削除に関するアラートダイアログのタイトルは“アドレスの削除”となっているべきです。
メッセージは完全な「専門用語抜き」の文章に
画面に表示するのは完全な文章であるべきです。問題を平易な言葉で記述し、可能であれば、問題を解決する方法を説明します。コンピュータの専門用語を使うべきではありません。“ディスク・フル”は良くないメッセージの例です。Palmハンドヘルドはディスクを使っていませんし、ユーザーはディスクとは何かを知らないかもしれません。より良いメッセージは、“記憶領域が一杯です”といったものになるでしょう。
ボタンは質問の直接的な回答に
アラートが単純にメッセージを表示するだけの場合、ボタンは“OK”という名前のものが1つだけであるべきです。進め方に関する質問をする場合は、可能な限り“はい” と “いいえ” あるいは “OK” and “キャンセル”といった一般的なボタンの使用は避けて下さい。“データを保存しますか?”というメッセージが“はい”、“いいえ”、“キャンセル”というボタンとともに提示された場合、ユーザーはどれを選択すれば良いかわからないことがあります。それよりも、質問に対する肯定的な回答をもっと明解にした方が良いでしょう。メッセージの動詞を繰り返すのです(図 3.18 参照)。メッセージが“このレコードを削除しますか?”であれば、ボタンは“削除”、“キャンセル”であるべきです。こうなっていれば、“削除”を選択することでデータが削除されることが明確になります。この方法が煩わしい場合に限り、“Yes” や “No”を使うようにします。この理由から、確認のアラートである“このアドレスを名刺にしますか?”には“Yes” と “No”を使うことになります。
図 3.18 アラートダイアログのボタン
リマインダーにはアテンションマネージャを使用する
Date Book が予定をユーザーに思い出させるのと同じような方法で特定のイベントをユーザーに思い出させる必要がある場合、Palm OS 4.0 以降であればアラートダイアログを表示するかわりにアテンションマネージャダイアログ(図 3.19 参照)を使うようにします。アテンションマネージャを使う場合、アラートダイアログのリソースは作成しません。アテンションマネージャに対して、そのダイアログに表示するテキストを通知します。アテンションマネージャは現在、および期限を過ぎた全てのリマインダーを単一のダイアログに表示します。
図 3.19 アテンションマネージャダイアログ
初期のリリースでは、ユーザーに通知を行なうそれぞれのアプリケーションが、それぞれのリマインダー毎に個別にアラームダイアログを表示させていました。そのため、多くのユーザーが1日中ハンドヘルドの電源をオフにしておき、電源を入れた途端に過ぎ去った予定に関するアラートダイアログを連続表示される、という状況に遭遇しました。アテンションマネージャでは、過ぎ去ったリマインダーをまとめて一度に削除できるよう、単一のダイアログを表示します。サウンドの再生やバイブレーションンなど、ビジュアル効果以外のリマインダーを実行することもできます。
アテンションマネージャはアテンションを効果的に延長できるようにのみデザインされています。以下のような用途には向きません。
- ビーム操作時に使用される“put away”ダイアログや別ユーザへの接続要求など、即時的な応答が要求されるもの。
- エラーメッセージ
- ToDo リストのエントリや受信した電子メールメッセージ
ルールを破る場合
アラートダイアログにその他のコントロールが必要な場合、アラートダイアログのかわりにモーダルフォームを作成する必要があります。アラートダイアログに似せるため、モーダルフォーム上にアラートアイコンを配置して下さい。図 3.20 では、アラートダイアログのように振る舞うモーダルフォームの例を示しています。この例では、削除されたレコードをアーカイブしておくような選択を可能にするためにチェックボックスが追加されています。
図 3.20 アラートを偽装したモーダルダイアログ
アプリケーションが Palm OS 3.5 以降だけで動作するのであれば、テキストフィールドを含むアラートダイアログを作成することができます。これを使うことで、例えば操作の確認のためにパスワードを入力させるような使い方ができます。