メニューバー

スクリーン上部もしくはウィンドウ上部に、帯状のメニュー領域を設ける。そこにいくつかのドロップダウンメニューを含め、各種コマンドを実行できるようにする。
理由:実行可能なコマンドをいつでも一覧でき、マウス操作で簡単にそれらにアクセスできるようにするため。

図例
ウィンドウ上部のメニューバー

効能

  • メニューは GUI の基本構成要素。ユーザーはコマンドを記憶している必要がなく、また正確にタイプする必要もない。メニューバーからマウスで選択するだけでよい。
  • メニューバーはシステム内で常に同じ場所にあるので、アプリケーションを切り替えても一貫した操作性を提供できる。

用法

  • スクリーン最上部もしくはウィンドウの上部(タイトルバーの下)に、メニューバーを配置する。
  • コマンド群を適宜分類し、そのグループ名をメニューバー上に並べる。
  • グループ名(ルート項目)のクリックによって、コマンドのリスト(メニュー項目)をドロップダウンさせる。ルート項目自体をコマンドにはしない。
  • ドロップダウンしたメニュー項目へは、ポイント&クリックとドラッグ操作の両方でアクセスできるとよい。
  • ツールボタンには次の種類がある。
    • 単独アクション:画面内の状況に依存せず単独で実行される。「保存」など。
    • 「名詞→動詞」アクション:画面内で選択されているオブジェクトに対するアクション。選択文字列の「コピー」など。
    • 「動詞→名詞」アクション:押すと引数指定のダイアログが開く。「開く…」など。
    • プロパティ変更アクション:画面内で選択されているオブジェクトのプロパティを示し、変更もできる。文字列を「太字」にするなど。項目名の左にチェックマークを付けるか、もしくは状況によってラベルを変更する(例:「太字にする/太字を解除」)
    • 移動アクション:特定画面に遷移する。もしくは特定のウィンドウを開く。ナビゲーション。
  • メニュー項目は階層式にしてもよい。その場合、該当項目の右側に下層のコマンドリストをカスケード表示する。
  • ルート項目やメニュー項目の種類、ラベル、並び順については、プラットフォームのガイドラインに従う。できるだけアプリケーション間での一貫性を確保する。
  • 現在一時的に使用できないメニュー項目はディスエーブル表現(文字を灰色にする)をとる。
  • メニュー項目へのマウスオーバーでラベルがハイライトし、選択されると2回程度点滅してからドロップダウンしたメニューを閉じる。そして即座にコマンドを実行する。
  • スクリーン上部にメニューバーを置く場合(主に Mac のアプリケーション)や MDI(アプリケーションウィンドウの内部にドキュメントウィンドウが開かれる形態)を採用する際には、メニューバーの内容はアプリケーションに従属したものとする。ウィンドウ上部に置く場合には、そのウィンドウのクラスもしくはウィンドウ内に表示されたオブジェクトのクラスに従属したものとする。

注意書き

  • メニューバーはコマンド群を格納するものであり、ナビゲーションとは異なる。ただし厳密に使い分ける必要はない。

図例
スクリーン上部のメニューバー(Mac 式)

蘊蓄

スクリーン上部に固定されたメニューバー(Mac 式)と、ウィンドウごとのメニューバーの、どちらが優れているかということについては、議論が耐えない。双方にメリットとデメリットがあるが、長くなるのでここでは書かない。