[[↑5 章トップへ|Palm OS User Interface Guidelines/5]] [[2 節に進む →|Palm OS User Interface Guidelines/5-2]] ---- !!!5-1 使用する UI 要素の選択    表 5.1 に、UI要素の選択に関するいくつかの一般的なヒントを示します。より詳細な説明は後述します。 !表 5.1 オプションを提示する UI 要素の選択 ,目的のアクション,選択すべき UI ,多くのオプションから{{br}}複数を選択,チェックボックス ,少数の選択肢から{{br}}1つを選択,プッシュボタン{{br}}ポップアップリスト ,中程度の選択肢から{{br}}1つを選択,ポップアップリスト ,多くの選択肢から{{br}}1つを選択,セレクタトリガー ,範囲内から選択,スライダー ,状態のトグル,チェックボックス{{br}}コマンドボタンでのシミュレートも可能   !!多くのオプションから複数を選択する  チェックボックス(図 5.1 参照)は、同時に複数のオプションを選択することが可能な唯一の UI 要素です。他の UI 要素は1つのオプションだけしか選択することができません。そのため、互いに排他的でないいくつかのオプションがある場合、チェックボックスが使用すべき UI 要素になります。 !図 5.1 チェックボックス {{ref_image figure_5.1.gif}}   !!多くの選択肢から1つを選択する  オプションの集合から1つだけをユーザーに選択させたい場合、いくつかの UI 要素を使用することができます。プッシュボタン、ポップアップリスト、セレクタトリガー、またはスライダーです(図 5.2 参照)。ポップアップリストとスライダーは、デスクトップコンピュータにある対応する UI 要素と非常に似通っています。プッシュボタンはデスクトップコンピュータにおけるラジオボタンの類似物ですが、外観は異なっています。セレクタトリガーは Palm OS 独自のものです。セレクタトリガーはテキストの周囲を点線の矩形で囲ったような外観になっています。テキストは現在の選択内容を表示しています。セレクタトリガーをタップすると、選択内容を変更するためのモーダルフォームが表示されます。 !図 5.2 多くの選択肢から1つを選択するコントロール {{ref_image figure_5.2.gif}}  以下のセクションでは、それぞれの UI要素の良い点と悪い点を説明します。 !プッシュボタン *一般に、プッシュボタンはこれらのUI要素の中でもっとも理解が容易です。なぜなら、全ての選択肢が同時に画面上に表示されているからです。スライダーも同様にわかりやすいものですが、スライダーの使用は状況が限定されます。{{br}}プッシュボタンは、選択肢が2しかない場合にはわかり難くなります(図 5.3 参照)。ユーザーによっては、ハイライトされた(暗い)ボタンが選択されていないと感じるのです。そのようなユーザーは、少なくとも2つ以上の未選択のボタンがあって比較できる場合には、どちらが選択状態かを判断することができます。 !図 5.3 二択のプッシュボタン {{ref_image figure_5.3.gif}} *一般に、プッシュボタンはポップアップリストやセレクタトリガーと比較して使用が簡単です。 *選択肢の名前が短く、3〜7個程度であれば、プッシュボタンを使用します。選択肢が多い場合や名前が長い場合、プッシュボタンは読み難くなります。 *アプリケーションをローカライズする予定がある場合や、アプリケーションの将来のバージョンでプッシュボタンを追加する可能性がある場合、プッシュボタンは使用しないで下さい。深刻なスペース上の制約により、プッシュボタンは大規模にはできません。ローカライズや新機能のためのスペースを確保できない場合、ベストなのはポップアップリストを使用することです。 *アプリケーションのビュー切換えにはプッシュボタンを使用します。図 5.4 を参照して下さい。 !図 5.4 ビュー選択のためのプッシュボタン {{ref_image figure_5.4.gif}} !ポップアップリスト *プッシュボタンを使うには選択肢が多過ぎたり、単純にそのためのスペースがない場合にはポップアップリストを使用します。 *アプリケーションをローカライズする予定がある場合や、将来のバージョンでプッシュボタンを追加する可能性がある場合、ポップアップリストを使用します。 *ポップアップリストは表示する選択肢が増えるほど操作が難しく、混乱しやすくなります。ポップアップリストのアイテム数を1画面に収まるようにしてみて下さい。ユーザーが1・2回以上スクロールしなければならないポップアップリストを作成するのは避けましょう。数回以上のスクロールが必要になると、ユーザーはリストのどこにいるのかを忘れ易くなります。 !スライダー *連続する選択可能な値の範囲から1つを選ぶ場合、スライダーを使用します。スライダーの使用がベストなのは、設定が nonspecific であるような場合です。例えば、設定がスクリーンの輝度やコントラストの場合、ユーザーは自分が望む設定の値を知りません。知っているのは、スクリーンをより明るくしたい、または暗くしたいということだけです。ボリューム設定もスライダーがよくマッチします。ユーザーは自分が望む音量のデシベル値を知りません。知っているのは、音量をより大きくしたい、または小さくしたいということだけなのです。 *スライダーは Palm OS 3.5 以降でのみサポートされます。それよりも古いバージョンの Palm OS もサポートしたい場合、スライダーを使うことはできません。数値データのためにスライダーを使っている場合の代替手段は、スピンボックススタイルの UI を作成することです。リピートボタンを数値を増減させるために使います。Date Book のプリファレンスダイアログはこの方法を使っています(図 5.5 参照)。 !図 5.5 スライダーの代替手段 {{ref_image figure_5.5.gif}} !セレクタトリガー *ポップアップリストでも扱い難いほど多くの選択肢がある場合、セレクタトリガーとモーダルフォームを使用します。例えば、選択可能なタイムゾーンが50個以上もあったら、ポップアップリストは長大なものになってしまいます。そのため、プリファレンスアプリケーションではタイムゾーンの設定にセレクタトリガーを使用しています。トリガーをタップすることで、タイムゾーンのリストを含むモーダルフォームが表示されます。フォームのOKボタンをタップすると、セレクタトリガー内に表示されるタイムゾーンがフォームのリストで選択したものに変更されます。 *ユーザー入力を特定のフォーマットに制限したい場合、セレクタトリガーを使用します。例えば日付や時刻の設定では、なんらかの書式が必要になります。 *同時に設定しなければならない項目が複数ある場合にはセレクタトリガーを使用します。日付には月と日と年があり、時刻には時、分、および AM と PM の指定があります。 !チェックボックス *いくつかのアイテムから1つを選択する場合にはチェックボックスを使用してはいけません。Constructor for Palm OS ではプッシュボタンのように振る舞うチェックボックスのグループを作成し、1つを選択すればそれ以外を選択解除するようにできます。しかし、そのようなインターフェースは強くお勧めしません。ユーザーは一連のチェックボックスに対して1つ以上の選択ができることを予期するからです。   !!コンボボックスの実装  デスクトップのインターフェースでは、しばしばコンボボックスがサポートされます。これは既存の選択肢から選ぶことができ、新しいものを入力することもできるというものです。デスクトップのコンボボックスはポップアップリストとテキストフィールドを組み合わせたような外観になります。Palm OS はコンボボックスを提供しませんが、いくつかの方法で類似の挙動を実装することができます。  通常ベストなのは、デスクトップでコンボボックスを使うような局面でセレクタトリガーを使用することです。セレクタトリガーをタップすることで、リストとテキストフィールドの両方を備えたモーダルフォームを表示します。テキストフィールドに入力するためには、リストから選択するか入力エリアに文字を描きます(図 5.6 参照)。 !図 5.6 コンボボックスとしてのセレクタトリガー {{ref_image figure_5.6.gif}}  以下の条件であれば、セレクタトリガーは良い選択になります。 *セレクタトリガーを含むフォームに頻繁にはアクセスしない。 *リストから既存の選択肢を選ぶ頻度が、新規入力の頻度と同じかそれ以上である。  フォームが頻繁に使用されることが予期されたり、新規入力が頻繁に発生しそうな場合、セレクタトリガーはベストな解決策ではありません。セレクタトリガーの実装では、新規入力が単純なテキストフィールドに比べて不便になります。例えば、Expense アプリケーションにおける出費の種別をセレクタトリガーとモーダルダイアログで実装することを考えてみましょう。ユーザーが出費を入力する場合、しばしば複数件まとめて入力します。セレクタトリガーをタップしてリストを操作し、OK ボタンをタップするという操作を1件ずつやっていたのでは、アプリケーションの使用が飽き飽きするものになってしまうでしょう。  もうひとつの方法は、図 5.7 に示すようにコマンドボタンをテキストフィールドと組み合わせて使用する方法です。このスタイルの UI では、リストから選択するのと同じくらい簡単にテキスト入力を行なうことができます。 !図 5.7 コンボボックスとしてのコマンドボタン {{ref_image figure_5.7.gif}}  コマンドボタンによるコンボボックスの実装は、リストが潜在的に大きな場合に有力な選択肢になります。図 5.7 では To ボタンで電話番号の検索をしますが、選択する電話番号は何百にもなりえます。  コンボボックスを実装する3つ目の選択肢は、ポップアップリストを使用する方法です。以下の条件であれば、ポップアップリストの使用は良い考えです。 *セレクタトリガーを使用した場合の余分なタップが煩わしく感じるほど頻繁に使用する *選択肢の数が図 5.7 で示した電話番号検索の例よりもずっと少ない  リストに対して新しい要素を入力できるようにするため、カテゴリポップアップリストのカテゴリ編集コマンドと同じ方法でリストに編集コマンドを含めます。ポップアップリストの実装に関する詳細は、108ページの[[“ポップアップリスト”|Palm OS User Interface Guidelines/5-3]]を参照して下さい。  ポップアップリストでは、セレクタトリガーの場合よりもリストからの選択が便利になります。テキストの入力はやはりわずかに面倒です。リストへの追加操作が頻繁に発生することが予想される場合、一度にいくつもの要素をリストに追加できるようなモーダルダイアログを表示するコマンドをインターフェースに追加したくなるかもしれません。   ---- [[↑5 章トップへ|Palm OS User Interface Guidelines/5]] [[2 節に進む →|Palm OS User Interface Guidelines/5-2]]