コマンドの提示方法
メニューを効果的に使用するには、さまざまなコマンドの提示方法の特徴を理解することが効果的です。
- メニュー バー。メニュー バーは、プログラム内で利用可能なすべての最上位コマンドをカタログのように一覧表示するのに適しています。プログラムを初めて使用するユーザーの場合は、メニュー バーのすべてのコマンドを確認し、以下のような事項を調べようとします。
- プログラムで実行できること。
- プログラムに用意されているコマンド。
- よく使用するコマンドのショートカット キー。
- ツール バー。ツール バーは、頻繁に使用する即時型のコマンドに、迅速かつ便利にアクセスするのに最適です。包括的であったり、処理内容が理解できるものである必要はなく、直接的で効率的であることが重要です。
- コマンド ボタン。コマンド ボタンとは、少数の主コマンドを公開するためのシンプルな視覚的、直接的手段です。ただし、拡張性に乏しいため、数個以上のコマンドを表示するにはメイン ウィンドウのメニューを使用する必要があります。
- コンテキスト メニュー。コンテキスト メニューとは、シンプルで直接的な、コンテキストに依存するものです。現在のコンテキストに適用されるコマンドとオプションのみが表示されるため、効率のよさも備わっています。コンテキスト メニューはポインターの現在の場所に表示されるため、メニューを表示するためにマウスを動かす必要がありません。ただし、通常は画面上に表示されていません。コンテキスト メニューは、上級ユーザーに、コンテキスト依存コマンドとオプションを付加的に提示する場合に限り有効であると考えてください。
以上のようなさまざまなトレードオフがあるため、プログラムではコマンドの提示方法をさまざまに組み合わせて使用する必要が生じることがあります。たとえば、フル機能型のアプリケーションではメニュー バー、タスク バー、およびコンテキスト メニューを使用することが多いのに対して、シンプルなプログラムでは一般に、コマンド ボタンと標準コンテキスト メニューのみを使用します。
最も重要な点
プログラムの種類、ウィンドウの種類、コマンドの使用法、およびターゲットとするユーザーに適したコマンドの提示方法を選択します。
効果的なメニュー バー
メニュー バーはこれまで最もよく使用されてきたメニューの種類ですが、すべての種類のプログラムやウィンドウに適しているわけではありません。次に、効果的に使用するための要素をいくつか示します。
シンプルであることの維持
メニュー バーは、ダイアログ ボックスには使用しません。ユーティリティのようなシンプルなプログラムに使用することも避ける必要があります。このようなウィンドウのコマンドは、シンプルで直接的、しかもわかりやすい外観を維持する必要があります。メニュー バーは本質的に学習と発見のためのツールであり、シンプルなウィンドウにはそうした要素は必要ありません。ダイアログ ボックスの場合は、コマンド ボタン (メニュー ボタン、分割ボタンを含む)、コマンド リンク、およびコンテキスト メニューを使用します。
画面領域の効率的な利用
メニュー バーは画面領域を効率的に使用できますが、処理が重くなるため、それほど多数のコマンドが存在しない場合や頻繁に使用されない場合は、代替の方法を検討する必要があります。たとえば、プログラムに既にツール バーが存在し、少数のドロップダウン メニューのみが必要な場合は、ツール バー メニューを選択する方がよいといえます。
一貫性のあるメニューにする
学習や発見の必要性から、ユーザーはメニュー バーには一貫性があるものと考えています。つまり、前回メニューを使用したときと同じメニュー項目が表示されることが期待されています。現在のコンテキストに応じてメニュー項目を有効にしたり無効にすることはできますが、メニュー項目やサブメニューを追加/削除すべきではありません。ただし、ドキュメントの読み込み中など、プログラムの状態の明らかな変化に基づいて、メニュー カテゴリ全体を追加/削除することはできます。
しかし、メニュー項目が無効になっていると、ユーザーにはその理由を確認する必要が生じ、混乱をまねくことがあります。理由がはっきりしない場合、試行錯誤と論理的な推測によってユーザーが問題を明らかにしなければならなくなります。このような場合は、項目を有効にしたままで、適切なエラー メッセージを表示し、問題を明確に説明する方が効果的です。
メニュー バーの構成
メニュー バーでは、メニュー項目がツリー構造で整理されています。ただし、ツリーを使用することにはジレンマがあります。ツリーは、メニュー項目を整理し、発見しやすくするためのものですが、メニュー ツリー内のすべてのメニュー項目を発見することは難しくなります。あまりよく知られていなかったり、複数のメニュー カテゴリに属することができるメニュー項目の場合は特に、見つけにくくなります。たとえば、[デバッグ] と [ウィンドウ] というカテゴリを持つメニューがあるとします。デバッグ ウィンドウ コマンドを探すときに、どちらのカテゴリを使用すればよいのかは簡単に判断できません。
標準メニュー カテゴリを使用すると、このジレンマに対処することができます。たとえば、ユーザーが [終了] コマンドを探す場合は、標準の配置場所を想定して [ファイル] メニューを確認します。標準的ではないメニュー項目の場合で、複数のカテゴリに属することができるために探し出すのに手間がかかると考えられる場合は、複数のカテゴリに、発見しにくいメニュー項目を 1、2 個だけ配置しておきます。これ以上になると、メニュー バー全体の操作性が損なわれます。
標準メニュー構成
標準メニュー構成が使用されていると、よく使用するメニュー項目が予測可能になり、発見しやすくなります。ただし、このようなカテゴリは、大部分のアプリケーションがドキュメント ファイルの作成や表示のために使用されていたときのものであり、[ファイル]、[編集]、[表示]、[ツール]、[ヘルプ] メニュー カテゴリで構成されています。この標準構成は、 Windows エクスプローラーのような他の種類のプログラムにはほとんど価値がありません。
プログラムに適切ではない場合は、標準メニュー構成を使用する必要はありません。メニュー項目を、プログラムの目的とユーザーのタスクや目標に応じた、有用で自然なカテゴリに整理することを検討します。
この例の Windows Media® Player では、主要なタスクに合わせて非標準のメニューを使用しています。
非標準のメニュー カテゴリの使用を選択する場合は、適切なカテゴリ名をデザインする必要があります。これらの名前には具体的な 1 語を使用し、正確にその内容を説明する必要があります。カテゴリ名によってメニュー内の全項目を説明するほど汎用化させる必要はありませんが、メニュー内容が表示された際に違和感のない程度には予測可能なものである必要があります。
ただし、プログラムが主にドキュメントの作成と表示に使用される場合はほぼ確実に、標準メニュー構成を使用する必要があります。組み込みの Windows アプリケーションの多くでは標準メニューが使用されなくなったことから、標準メニューが廃止されたとは判断しないでください。廃止されたのではなく、ドキュメント作成を主な目的としないプログラムには、それ以上に適切な方法が存在するということです。
メニュー バーとツール バーの比較
多くのプログラムには、メニュー バーとツール バーの両方が用意されています。優れたメニュー バーと優れたツール バーに求められる属性は異なるため、メニュー バーのコマンドとツール バーのコマンドとの間に正確な対応関係が存在する必要はありません。
優れたメニュー バーは、利用可能なすべての最上位コマンドをカタログのように一覧表示できるものであり、優れたツール バーは、頻繁に使用するコマンドに簡単かつ便利にアクセスできます。ツール バーの目的はユーザーの生産性を高めることであって、ユーザーを訓練することではありません。ツール バーからコマンドにアクセスする方法を知ると、そのコマンドをメニュー バーから使用することはほとんどなくなります。
それぞれのメニューのメリットを存分に発揮することに重点を置いてください。メニューの種類間に一貫性を持たせることについては深刻に考えなくてもかまいません。
詳細については、「ツール バーのデザイン コンセプト」を参照してください。
メニュー バーとコンテキスト メニューの比較
コンテキスト メニューはコンテキストに依存するため、以下の点でメニュー バーと異なっています。
- コンテキスト メニューには、現在のコンテキストにのみ適用される項目が表示されるため、一般に、無効にされている項目がありません。メニュー バーには機能の完全なカタログとして以上の働きがあるため、包括的で一貫性がある必要があります。
- コンテキスト メニューはショートカット メニューとも呼ばれますが、メニュー バーのように学習ツールとして作成されたものではないため、ショートカット キーは表示されません。シンプルで効率的であることが重要です。
- コンテキスト メニューには特定の順序があり、最もよく使用される項目が先頭に (主コマンド) 、転送コマンドがその次に、プロパティが最後に表示されます。この順序は効率と予測可能性を考慮しています。一方、メニュー バーのメニューは、コマンド間の関連性と使用頻度に基づいて並べられています。
メニューのアフォーダンス
メニュー バーにはアフォーダンスがありません。つまり、視覚的特性によって使用方法が示唆されません。メニュー バーでは、ユーザーはエクスペリエンスによってメニュー バーを理解し、標準的な外観と位置によって認識します。
その他のメニュー パターンも同じく視覚的特性によって認識できないうえに、標準的な位置がないため、ドロップダウン矢印を使用してプルダウン メニューの存在を示します。この矢印が必要であるかどうかが、コマンドの提示方法を選択する際の要素になることもあります。プログラムのウィンドウにメニュー矢印が散乱している場合は、メニュー バーの使用を検討します。
メニューでのアイコンの使用
Windows® ではテーマが付けられたメニューを使用すると、メニュー項目のアイコンを表示することができます。アイコンの表示には次のメリットがあります。
- 最もよく使用するメニュー項目を強調することができる。
- 目立つアイコンを使用すると、ユーザーは使用頻度の高いメニュー項目をすばやく見分けることができる。
- 工夫されたデザインのアイコンを使用すると、そのメニュー項目の意味を伝えることができる。
メニュー アイコンの使用を決定しても、すべてのメニュー項目にアイコンを使用する必要はありません。実際、最も重要なメニュー項目にのみアイコンを使用すると、アイコンの効果が大きくなります。
コマンドはアクション (動詞) であるのに、アイコンによってオブジェクト (名詞) を表示するものであるため、コマンド アイコンについては特にデザインが難しくなります。このため、ほとんどのコマンド アイコンには標準的な記号またはアクションを示唆するオブジェクトの画像が使用されます。
アクセシビリティ
メニュー項目には、アクセス キーとショートカット キーを使用して直接アクセスできるようにする必要があります。そうすれば、作業スピードの速いパワー ユーザーなど、キーボードの使用を好むユーザーにとって便利になります。
アクセス キーとショートカット キーには次に示すように、メニューに関して根本的な違いがいくつかあります。
アクセス キーとは次のようなものです。
- メニュー名に示された下線付きの文字。
- Alt キーを押しながら英数字キーを押す。
- 主としてアクセシビリティを目的としている。
- すべてのメニューに割り当てられている。
- 記憶して使用するものではなく、UI 内に直接示されている (該当文字に下線が付けられています)。
- メニュー内で一貫性を持たせて割り当てられていない (常に存在するわけではないため)。
一方、ショートカット キーとは次のようなものです。
- Ctrl キー を押しながら一連のファンクション キーを押す。
- 主として上級ユーザーがすばやくアクセスできるようにすることを目的としている。
- 最も使用頻度の高いメニュー項目にのみ割り当てられている。
- 記憶して使用するものであり、メニュー、ツールヒント、ヘルプ内にのみ記されている。
- プログラム内で一貫性を持たせて割り当てる必要がある (記憶して使用するものであり、直接 UI 内には記されないため)。
この例では、メニューにアクセス キーもショートカット キーも割り当てられています。
ヒント: アクセス キーの下線は、通常、既定で非表示にされており、Alt キーを押すと表示されます。プログラムで割り当てられているアクセス キーを認識しやすくするために、アクセス キーを常に表示するように設定できます。コントロール パネルからコンピューターの簡単操作センターを開き、[キーボードを使いやすくします] をクリックし、[ショートカット キーとアクセス キーに下線を表示します] チェック ボックスをオンにします。