はい、トップ レベルのメニューは、対象となるオブジェクトのクラス (Foos や Bars など)、または実行するアクションの種類 (ファイリング アクションなど) によって編成できます。原則として、ウィンドウの上部にあるメニュー バーまたはリボンは、必ずアクション タイプ別に編成されているコンテキスト (右クリック) メニューのコマンドを見つける別の方法をユーザーに提供するために、アクション タイプ別に編成する必要があります。オブジェクトクラス。
そうは言っても、「古い学校」のものを含む多くのメニュー階層は、「フラット化」、つまり各レベルで幅を広げ、深さを少なくすることで恩恵を受けるでしょう. 深い階層とはカスケード メニューを意味し、遅くて使いにくいものです。最上位レベルのオプションがほとんどないということは、情報の匂いがほとんどない一般的なあいまいなラベルを意味します (とにかく、 File は実際には何を意味するのでしょうか?)。
アクション タイプ別にメニュー バーを整理しながら、これを修正する方法はいくつかあります。まず、Firefox と同じように、古い学校の [ファイル] メニューを単純にフラット化しています。
- ファイル
- 新しいフー
- 新しいバー
- オープンフー
- 飲み放題
- 終了する
問題は、従来の [ファイル] メニューが、1 つのプリンシパル オブジェクト クラスのみで動作する "ドキュメント" アプリケーションを対象としていたことです。たとえば、ワード プロセッサは紙で動作し、スプレッドシート プログラムはワークシートで動作し、イメージ エディタは画像で動作します。複数のプリンシパル クラスがあると、ファイルが扱いにくくなります。2 クラスは問題ありませんが、3 クラス以上は問題です。
場合によっては、「スイート」アプローチを採用して、オブジェクト クラスごとに個別のプログラムを作成したように見せることが最善の方法です。オブジェクト クラスの選択をメニュー バーから取り出して [スタート] メニューに配置します。ここには、そのクラスのプライマリ ウィンドウを開く各オブジェクト クラスに対応するショートカットがインストールされています。これらの「アプリケーション」のそれぞれには、そのクラスのみに作用する New と Open しかありません。
ある意味では、階層内のメニュー バーの上にあるメニューの幅を広げました。これは、他のデスクトップ アプリと完全に一致しています。ユーザーがセッションで 1 つのクラスのみを使用する傾向がある場合、これは魅力的なオプションです。[スタート] メニューに頻繁にアクセスするのは面倒です。
すべてをメニュー バーに保持する必要がある場合は、[ファイル] メニューをメニュー バーに沿って広げることができます。
複数のプリンシパル クラスを持つアプリの多くは、各ウィンドウに複数のオブジェクト (データベース レコード) が表示されるデータベース アプリです。ユーザーが「開いている」のは、単一のファイルではなく、クエリの結果です。通常、ユーザーが空白のウィンドウを使用することはほとんどありません。データ入力の場合でも、コンテキスト (前回入力したレコードなど) を提供するために既定のクエリの結果を表示することは、多くの場合役に立ちますが、害になることはめったにありません。ユーザーが既に表示されているレコードに新しいレコードを追加する場合、それは [ファイル] ではなく [編集] の下のアクションです。したがって、New を削除できます。
Mac OSX からヒントを得て、Quit 用のプログラム メニューを用意することをお勧めします (OSX では、アプリケーションの名前はメニュー キャプションです)。プログラム メニューには、オブジェクト クラスによってラベル付けされたメニュー項目がありますが、これらはアクションであり、それぞれ Foo ウィンドウと Bar ウィンドウを開きます。これらのウィンドウにデフォルトのクエリ結果 (空の場合もあります) を入力するか、クエリ ダイアログを自動的に表示してユーザーがいずれかを選択できるようにします。File の下の Query メニュー項目は、このダイアログをポップアップ表示し、ユーザーがウィンドウのクエリをいつでも変更できるようにします。このダイアログには、ユーザーが空のウィンドウを必要とする特殊なケース向けに空のオプションが含まれる場合があります。