web-dev-qa-db-ja.com

メニュー項目を非表示または無効にしないでください。

2008年、 Joel Spolskyが書きました

昔、メニューアイテムを使用できないときに無効にすることは、ファッショナブルになり、推奨されました。

これを行わないでください。ユーザーには、クリックしたい無効なメニュー項目が表示され、メニュー項目を機能させるために何をすべきかまったくわからないままです。

代わりに、メニュー項目を有効のままにします。何らかの理由でアクションを完了できない場合、メニュー項目は、ユーザーに理由を伝えるメッセージを表示できます。

それは面白いアイデアですが、「ユーザーに理由を伝えるメッセージを表示する」ことで、彼が何を意味するのかを詳しく説明してほしいと思います。

誰かが実際にこのアドバイスに従っていますか?メニュー項目を無効にする代わりにメッセージを表示するメニューの例はありますか-おそらくあなたが自分で設計したもの、またはFog Creek以外のもの。

メッセージが表示されるメカニズムと、メニュー項目を無効にする代わりにメッセージを表示した経験があるかどうかを知りたいです。

74

彼はその投稿でさまざまな有効性の複数のポイントを作っています:

アイテムが無効になっている理由を説明してください:ほとんど誰もフォローしないという素晴らしいアドバイス! Googleが「灰色表示されたメニュー」を検索すると、アプリが教えてくださいではないため、メニュー項目が無効になっている理由を不思議に思っている人々がたくさん見つかります。無効になっているアイテムにカーソルを合わせたり、クリックしようとしたときに情報を提供することは、混乱を減らし、サポートコールを増やすのに最適な方法です。 Googleドキュメントはこれをうまく行っています。ボタンではないため、「保存」ボタンをクリックしようとすると、この小さな男がポップアップします。自動保存されます!

enter image description here

アイテムを非表示にする:これは一般的に、特にデスクトップアプリケーションでは、悪い考えです。ユーザーがアイテムを使用できないという理由だけでアイテムを非表示にすることで、アイテムを学習するのに役立ちます存在しないそして、ユーザーがそれを見た場合、知らない可能性があります理由半分は存在しない。 MS Wordのインターフェイスの半分消えたがテーブルからブレットポイント、フッターに切り替わるたびに想像してみてください。

ただし、アイテムを非表示にするとよい状況が2つあります。それがWebページ/アプリの場合と、セキュリティ上の理由でアイテムが無効になっている場合です。セキュリティコンテキストでは、下位レベルのユーザーがそれらの機能にhaveアクセスすることは決してできません。場合によっては、特定のことが可能であることをユーザーに知られたくない場合(たとえば、私の名前を変更するなど)、それらを表示することも望ましくありません。 ect)。

ユーザーがアイテムを使用できない場合単に非表示にして、クリーンでシンプルな状態に保ちます。このような項目はWebページでは一般的であり、ユーザーが認証されるまでほとんど常に非表示になっています。

Androidの Iガイドライン 使用できないメニュー項目を淡色表示し、コンテキストメニューの一部である場合にのみ非表示にすることをお勧めします。結局のところ、コンテキストメニューは常に変化します。

アイテムを無効にする:上記の理由により、メニューアイテムを無効にしても非表示にしないと、ユーザーはすべてのオプションを表示できます。 Androidのガイドラインに示されているように、「淡色表示」またはより一般的にはアイテムをグレー表示すると、アイテムが使用できないことが明らかになります。そのため、一目で次のオプション(GIMP)を使用できないことがわかります。

enter image description here

それは私が一目で見ることができる14のオプションが無効になっていることです。彼の提案は、それを表示することです。私は不可能なオプションを使用できますか?仕方がない。アイテムをグレー表示すると、自分ができることとできないことが一目でわかります。すべてのアイテムをクリックして、機能しているかどうかを確認する必要はありません。だから私たちはそれらを灰色にしています。

69
Ben Brocka

不正解です。ただし、以前にいくつかのデスクトップアプリケーションにメカニズムを実装したことで、正しい方向にさらに一歩進んだため、さらに無効になっているボタンまたはメニュー項目にツールチップは、理由が無効になっている理由を示しています。

したがって、次のようなものが得られます(無効は改行されているはずです)

enter image description here

enter image description here

enter image description here

F1の高度な状況依存ヘルプによる追加のフォロースルーは、追加のボーナスです。

発見と一貫性を高めるために、あらゆる場所にツールチップを提供することが重要です。

私はここでバイアスされているかもしれませんが、私は思うこれはボタンを有効にしておくよりも優れていますユーザーは機能が利用可能であると誤解することはありませんが、機能が利用できない理由と機能を見つけることができますアクセスできるようにする必要があります。これは、ユーザーがシステムとその要件について学習するのに役立ち、システムをよりスマートに見せます。


技術的な関心のある方は、次をお読みください:

このメカニズムは、state managerと呼ばれる内部フレームワークに依存していました:

state managerは、内部システム状態の設定と設定解除により、アプリケーションのすべてのコントロールを自動的に有効または無効にする集中型メカニズムです

システム状態の影響を受けるコントロールは、そのコントロールに影響を与えるシステム状態と共に、状態マネージャーに登録されます。

システム状態は、disablersまたはprerequisitesです。関連付けられた無効化プログラムは、コントロールを強制的に無効化できます。さらに、コントロールを有効にしておくためには、関連するすべての前提条件が満たされている必要があります。

すべてのシステム状態は、reasonというメッセージによって説明されます。つまり、状態が設定された理由または状態が設定されなかった理由です。

システム状態が変化すると、状態マネージャーはコントロールの有効な状態を自動的に更新し、ツールチップに理由を挿入または削除します(ここではいくつかの基本的なtooltip builderロジックが必要です)。

必要に応じて、無効状態の複数の理由をツールチップに組み合わせることができます。

36
Roger Attrill

したがって、プレイリストが空で何も再生されていない場合でも、「次のトラック」ボタンを有効にする必要がありますか?また、ドキュメントがダーティでない場合でも、保存ボタンを有効にして、保存されていない作業があるかどうかをユーザーが実際に知らないようにする必要がありますか?

過度に一般的なガイドラインのようです。時々優雅に失敗してユーザーにいくつかの教育メッセージを表示することは良い考えかもしれませんが、人々はアプリケーションの状態を示すものとしてコントロールを無効にすることに非常に慣れており、それらを決して使用しないのは不合理です。

2
Assaf Lavie

"エラー防止

優れたエラーメッセージよりも優れているのは、最初から問題が発生しないようにする注意深い設計です。エラーが発生しやすい状態を解消するか、それらを確認して、アクションを実行する前に確認オプションをユーザーに提示してください。」-Jakob Nielsen

http://www.useit.com/papers/heuristic/heuristic_list.html

要素を非表示にするか無効にするのが良いかどうかは、状況に依存すると思います。

管理インターフェースへのリンクであり、ユーザーが管理者でない場合は、表示する必要はほとんどありません。ただし、ドキュメントを保存するための無効なリンクであり、ユーザーが最後に作業したときにドキュメントを保存できる場合は、保存できない理由を説明することが望ましいでしょう。

2
Henrik Ekblom

Microsoft OneNoteには、ファイルを自動的に保存するため、[保存]ボタンがありません。これは、ある意味では理にかなっていますが、他のすべてのMS Officeアプリケーションがファイルを保持するため、少し混乱する可能性があります。理にかなっているかどうかにかかわらず、一貫性は確かに重要な要素です。いくつかの場所でそれを無効にし、他の場所でそれを隠すと、ユーザーは自分で物事を理解するのがかなり困難になります。

2
Michael Lai

コンテキストが簡単に理解できれば、理由のヒントなしに無効にしても問題ないと思います。

MacOSでバルーンヘルプを覚えていますか? Apple 1991年以降、無効アイテムのバルーンヘルプを作成するように促しました。Microsoftはそうではありませんでした。しかし、上記のように、ツールヒントはホバーイベントがある場合にのみ機能し、タッチでは機能しません。

より複雑なシナリオでは、アイテムが無効になる理由と、アイテムを有効にするためにユーザーが実行できることの説明は、アプリケーションの動作を理解するのに役立ちます。

ホバーツールのヒント、アラート、および[i]情報アイコンはほとんど同じことを実行できます。つまり、アイテムの概要を適切な場所に説明します。私は説教します。ユーザーにより多くの洞察を与え、システムをより透明にする機会をお見逃しなく。追加の作業は必要ですか?はい。価値がある?あなたが決める。

1
Hans Fast