ほとんどのオペレーティングシステムでは、主に次の違いがあります。
要素がフォーカスされている場合にのみ使用できるインタラクション(たとえば、テキストフィールドにテキストを書き込むための入力)および
いつでも利用できるインタラクション(ボタンのクリックなど)。
アクティブでないウィンドウを含め、どこでもクリックできると、邪魔になることがあります。実際、背景のウィンドウは通常完全には表示されません。ウィンドウをクリックすると、ウィンドウが前面に表示されるのではなく、ウィンドウ自体と対話する危険性があります。
たとえば、Windows Live Messengerのディスカッションウィンドウがブラウザで覆われていて下部だけが表示されている場合、ウィンドウをすばやくクリックしてアクティブ化すると、ランダムなプロセスになります。これは、誤ってボタンをクリックすると、 不可逆的効果、たとえば音声通話(スクリーンショットを参照)のように、ボタンが以下の場合:
アイコンもテキストも表示されないため、音声通話ボタンとして認識できません。
境界線はカーソルがボタンの上に来るまで表示されないため、ボタンとして認識できません。
非アクティブなウィンドウと直接対話できるというデフォルトの動作の代わりに、非アクティブなウィンドウの要素を無効にすることができます。
利点は、ウィンドウの非インタラクティブゾーン(ここでは、ウィンドウの下部とWindows Live Messengerのボタンの間の小さなゾーン)を正確に指すのではなく、非アクティブな場所をクリックできることです。それをアクティブにするウィンドウ。
別の利点は、クリックアクションに混乱がないことです。現在、ウィンドウの状態に応じて、ボタンをクリックすると、ボタンクリックイベントが開始される(ウィンドウが既にアクティブな場合)か、ウィンドウをアクティブ化してクリックイベントを開始する(ウィンドウがアクティブでない場合)かが決まります。
問題は、ウィンドウのよく見える要素を操作することが目的の場合、ウィンドウを操作するには2回のクリックが必要なことです。これは、2つのアプリケーションまたはドキュメントを並べて操作する場合によく見られます。
もう1つの問題は、視覚的な応答(無効なボタン)がはっきりしないことです。操作できないため、またはウィンドウがアクティブでないために無効になっていますか?
質問:
ウィンドウがアクティブでないときにウィンドウのいずれかの要素が無効にされた場合、ユーザー効率の点でどのような影響がありますか?
非アクティブになったときにコントロールを実際に無効にしているアプリケーションはありますか?彼らのアプローチは、UX的には効果がないと考えられていましたか?
あなたの質問には2つの異なる部分があります。
1つ目は、非アクティブウィンドウでコントロールを無効にする方が効率的かどうかです。 disabling コントロールは、ユーザーの注意に値するコンテンツがないことを意味するため、そうではないことをお勧めします-!= readonlyを無効にします。ほとんどの場合、バックグラウンドウィンドウにはユーザーが参照したいコンテンツがあり、情報を使用すると操作が非常に難しくなることを隠します。
2つ目は、ウィンドウの最初のクリックを「飲み込む」ことが望ましいかどうかです。ユーザーが意図しないものを誤ってアクティブにしないようにします。私はこれは素晴らしいアイデアだと思います。MicrosoftOffice(これはとにかくOfficeチームです)もそうです。
WordまたはExcelウィンドウを他のウィンドウと重ねてみて、Officeウィンドウをクリックするとどうなるかを確認してください。どこをクリックしても、ウィンドウがアクティブになるだけです。より多くのアプリケーションがこのアプローチをエミュレートする必要があります。
すばらしい質問(特に、非アクティブなウィンドウを選択するときに誤ってアクションボタンをクリックすることに関する部分)。
非アクティブなウィンドウ(現在ユーザーの入力を受け取っていないウィンドウ(マウス、キーボード、そして最も重要なのは注意))を無効にするかグレー表示にすることは理にかなっていると思います互いに重なり合っている場合のみ数ミリメートルだけの場合。ユーザーは、現在アクティブなウィンドウの背後にあるウィンドウの部分ビューを見るだけで、見ているため無効になっていることを知っています(== --- ==)lookグレー表示されたアイコン、ボタン、テキストなどで無効になっています。
したがって、非アクティブなウィンドウ(ボタンとコンテンツがすべて無効になっているため、ウィンドウのどこでも機能するはずです)をクリックしても、目的は1つだけです-それを実現するそして、その上にアクティブウィンドウがあります。
ウィンドウが画面内でオーバーラップしているかどうかを検出することは興味深いプログラミング課題になることを認めなければなりませんが、それは確かに実行可能です。
この方法では、ユーザーが2つのアプリケーション/ウィンドウを並べて操作しようとしている場合、どちらか一方をアクティブにするために2回クリックする必要はありません。
お役に立てば幸いです。