私はデスクトップアプリケーション、Windowsアプリケーションについて話している。
私のアプリケーションでは、ユーザーがボタンをクリックする前に、特定の手順を実行する必要があります。ここで問題となるのは、そのボタンについて、必要な手順が完了しないうちにユーザーがボタンをクリックした場合の望ましい動作は何ですか?に良いですか
無効化されたボタンは、一部の必須ステップがまだ完了していないことをユーザーに知らせ、自身の状態(アクティブ化できない)の正確な表現を提供します。有効化されたボタンは、これらの両方の側面で不足しているため、通常は無効化することをお勧めします。
「有効+メッセージ」アプローチを好む場合もあります。これは通常、前提条件が理解しにくいときに発生します。たとえば、必須フィールドが複数のタブに分散していて、一度にすべて表示できない場合は、すべての前提条件をまとめたメッセージが必要です。ボタンが無効になっていると、ユーザーがボタンを操作するのが妨げられるため、ユーザーが「ホバー」メッセージを表示する可能性は低いため、ボタンを有効にして、ユーザーがボタンを押して前提条件の概要を表示する可能性を高めます。
結論-画面が比較的シンプルで、ユーザーが何が問題であるかを理解するのに特別な困難がない場合は、無効なボタンを使用することをお勧めします。これは、ほとんどの場合、ベストプラクティスでもあります。複雑な画面では、有効なボタンを正当化できます。
Vitaly Mijiritskyの回答に同意します: https://ux.stackexchange.com/a/120380/98561
そして、私が医療アプリケーションを開発した私の自身の経験からの短い話をあなたに話させてください。
ユーザーストーリーのごく初期のステップは、研究ID、患者名、生年月日、研究のタイプなどの詳細を入力して研究を開始することでした。実際、研究IDのみが必須であり、一意である必要がありました。入力フィールド、[〜#〜] ok [〜#〜]およびCancelボタンで小さなダイアログが使用されました。 すべて有効。
ユーザーがフィールドに入力して[OK]をクリックすると、検査IDが入力されており、一意であるかどうかのチェックが開始されました。そうでない場合は、適切なメッセージボックスが表示され(情報ボックス、[〜#〜] ok [〜#〜]ボタンのみ)、ユーザーはもう一度チャンスを得ました。彼らが使用する機会が増えるほど、彼らはよりいらいらした。私は不満の数を失った。
2番目のイテレーションでは、これが変更されました。
観察は、ユーザーが質問をする前に「非表示とシーク」(したがって[〜#〜] ok [〜#〜]ボタンが有効になったときに確認)をしたことでした。このダイアログについて。そして、少しでも質問されました。
それを要約してあなたの質問に答える-行く:
ボタンを無効にし、ユーザーがボタンにカーソルを合わせたときにメッセージバルーンを表示する
このソリューション:
あなたの質問から、ボタンは必ず無効にする必要があります。ボタンが機能しない場合、その外観はそのことをユーザーに示す必要があります。クリックしたり、マウスオーバー時にハンドポインターを表示したりすることはできません。
一般に、ボタンを無効にするべきではありません。無効化されたボタンは行き止まりのようなものです。ユーザーはボタンを見て、何をするのか、何が機能しないのか、なぜ機能しないのかを理解してから、サイト内でボタンをアクティブにできる場所まで戻る必要があります。なんでも。
役立つ場合は、ユーザーが今後何をするかを示します。発見を必要とせず、テキスト、数字、画像など、理解しやすいものには非アクティブ化を使用します。
これは、アーカイブされたマテリアルデザインのステッパーです。デザインが無効化ボタンを使用していないことがわかります。
https://material.io/archive/guidelines/components/steppers.html#
ボタンを無効にしないでください。非表示のボタンは、無効にしたボタンよりも優れています。
UIの影響によりボタンを表示したい場合は、モーダルビューやダイアログではなく、ツールチップポップ(「実行する特定の」タスクを示す)を利用してください。
StackExchangeをサンプルとして取り上げます。投稿を賛成したい場合、賛成ボタンは無効ではなく、常に有効で、フォームにメッセージをポップするだけですボタンがクリックされる前にユーザーが何をしなければならないかをユーザーに知らせるカスタムツールチップ。