ユーザーがボタンをクリックして完了するまでの時間が短いアクションをトリガーし、処理中を示すビジースピナーを表示するとどうなりますか?
[click]↖
⇒[click] ↖⚙
-マウスカーソルがシステムビジースピナーカーソルに変わります[click]
⇒⚙
-ビジースピナーがボタンを完全に置き換えます[click]
⇒[ ⚙ ]
-ビジースピナーがボタンのテキストを置き換える[click]
⇒[click ⚙]
-ビジースピナーがボタン内に表示されます[click]
⇒[click] ⚙
-ビジースピナーがボタンの外側に表示されます[click]
⇒[⚙ please wait...]
-ビジースピナーがボタンテキストを置き換え、テキストを伴います[click]
⇒⚙ please wait...
-ビジースピナーはボタンを完全に置き換え、テキストを伴います上記のソリューションのどれが最もユーザーフレンドリーですか?
最もユーザーフレンドリーな答えは、常に状況によって異なります。多くの要因に依存しますが、主なものは、ターゲットオーディエンスは誰ですか?彼らの知識とメンタルモデルは何ですか。
この例では、アクションのコンテキストがわからないので、いくつかのことを考えることをお勧めします。
あなたの例のために
[クリック]↖=> [クリック]↖⚙-マウスカーソルがシステムビジースピナーカーソルに変わります
[クリック] =>⚙-ビジースピナーがボタンを完全に置き換えます
[クリック] => [⚙]-ビジースピナーがボタンテキストを置き換える
[クリック] => [クリック⚙]-ビジースピナーがボタン内に表示されます
[クリック] => [クリック]⚙-ビジースピナーがボタンの外側に表示されます
[クリック] => [⚙お待ちください...]-ボタンのテキストがビジースピナーに置き換えられ、テキストが表示されます
[クリック] =>⚙お待ちください...-忙しいスピナーがテキストを伴ってボタンを完全に置き換えます
私の意見では3番目と6番目のオプションが最良ですが、これに関するいくつかの調査を見つけるか、ユーザビリティテストを実行して、ユーザーがこれらの異なるアプローチにどのように反応するかを確認することをお勧めします。
[クリック]↖=> [クリック]↖⚙
[クリック] =>⚙
[クリック] => [⚙]
[[クリック] => [クリック⚙]
[クリック] => [クリック]⚙
[クリック] => [⚙お待ちください...]
[クリック] => waitお待ちください...
[〜#〜]要約[〜#〜]
最後から2番目のオプション(ボタンを無効にする)が最適です。
例はどれも信じていません。
そのボタンで埋める必要のあるものすべてのHTMLおよびCSSスケルトンのロードを開始したいと思います。ユーザーがボタンをクリックしたときにRESTリクエストがテーブルに入力するように要求した場合、ユーザーがボタンをクリックするとすぐに、HTMLとCSSスケルトンのロードが開始されたとしましょう。アニメーションは、ユーザーの待ち時間として使用されます。
これは私が何を意味するのかについて十分に説明された例です: BLOG-stop-using-loading-spinner-theres-something-better
マウスカーソルは決して変更しません。私見、最高のUXは、ボタンをクリックしたらすぐに無効にし、ボタンのテキストを「お待ちください...」/「ロード中...」に変更することです。昔ながらの名前で、Webレイアウトやモバイルレイアウトに最適です。
マウスカーソルを変更することは良い考えではなく、ユーザーを混乱させる可能性があります。ビジースピナーは、ユーザーが行ったアクションの結果です。そのため、このアクションとの関連で表示する必要があります。
スピナーは、ユーザーが見逃さないように十分に表示されている必要があります。ボタン内のテキストのみを置き換える場合、またはスピナーをボタン内に表示する場合、このような小さな変更はユーザーが簡単に見落とす可能性があります。
ボタンのステータスを変更して、クリックが登録されたことをユーザーに即座に視覚的にフィードバックし、その横に「お待ちください」メッセージを含むスピナーを追加します。マイクロコピーライターがあれば、メッセージの文言が改善される可能性があります。時間の見積もりを提示することも、現実的であればよいことです。