OK-キャンセルとキャンセル-OKを切り替えてユーザー操作を強制しますか?
-
03-07-2019 - |
質問
これは質問からインスピレーションを得たものです OK-キャンセル、それともキャンセル-OK?.
ユーザーが情報ポップアップやダイアログ ボックスの内容を読まずにクリックスルーすることを防ぐために、特定の状況で OK-キャンセル/キャンセル-OK を切り替えるという概念についてどこかで読んだ記憶があります。私が覚えている限り、これには、ユーザーがどこをクリックするかを覚えていないように、「OK」ボタンの位置を (水平方向、左から右へ) 移動することも含まれていました。
これは本当に意味があるのでしょうか?これはユーザーに「最初に考えて読んでからクリック」を強制する良い方法でしょうか?この種の状況に適用できる他の概念はありますか?
私が特に考えているのは、安全関連のアプリケーションです。習慣で軽率に [OK] を押すと、潜在的に危険な状況が生じる可能性がありますが、[キャンセル] を押すと安全な状態になります。
解決
絶対に必要であると本当に本当に確信していない限り、これを行わないでください。これは、技術的な手段によって不注意と愚かさを修正しようとする場合であり、そのようなことはほとんど機能しません。
できることは、通常のWindows OK / Cancelボタンキャプションの代わりに動詞または名詞を使用することです。これにより、予測可能性を犠牲にすることなく、即座に注意を促すことができます。
他のヒント
NOOOOOOOOOOOO!
当社の製品の1つには、安全性に関連するコマンドのためにCtrl + Clickを要求するユーザーオプションがあります。
しかし、場所を入れ替えたり移動したりするボタンでユーザーを驚かせるのは、私の本では悪いデザインです。
いいえ。ユーザーが誤って[OK]をクリックし、強制的に考えることを困難にした場合、[OK]をクリックする方法についてはまだしか考えません。実際のことは考えません。実行しようとしています。ユーザビリティの専門家であるAza Raskinの記事を参照してください:「元に戻す」を意味する場合は警告を使用しないでください。引用:
警告の作成について 無視できない?もしそうなら である人間側の慣れ 問題の原因、なぜ設計しない 形成できないようなインターフェース 習慣。そうすれば、私たちは常に 停止して前に考えることを余儀なくされた 質問に答えるので、私たちは 私たちが意味する答えを常に選択してください。 これで問題は解決しますか?
このタイプの考え方は新しいものではありません:それは その この文のn番目の単語から継続へのアプローチを入力します。ギルドウォーズのゲームでは、 たとえば、キャラクターを削除するには 最初に“削除”ボタンと 次に、キャラクターの名前を入力します 確認として。残念ながら、それ 常に機能するとは限りません。特に:
- これにより、私たちは手元にある非日常的なタスクに専念し、 捨てたいかどうか 私たちの仕事。したがって、 無視できない警告は少ない 通常の警告よりも優れています:終了します いずれにせよ仕事を失うことになる。この (仕事を失う)最悪です ソフトウェアの罪の可能性。
- それは非常に迷惑であり、常に私たちの 注意、それは必然的に私たちをそらす 私たちの仕事から 最悪のソフトウェアの罪)。
- 標準よりも常に遅く、作業集約的です 警告。したがって、3番目をコミットします 最悪の罪—私たちからのさらなる仕事が必要 必要以上に。
[Microsoftishが必要な場合は、。 MSDN は同じことを言っています!]
ダイアログを使用する必要がある場合は、ダイアログ内のボタンに説明的なキャプションを付けます。
たとえば、[OK]ボタンと[キャンセル]ボタンの代わりに、「請求書を送信」と言うようにします。および「戻る」、またはダイアログのコンテキストで適切なもの。
そのようにして、テキストはカーソルのすぐ下にあり、理解するチャンスがあります。
Apple Human Interface Guidelineサイトは素晴らしいリファレンスであり、非常に読みやすくなっています。 そのサイトのこのページでは、ダイアログについて説明しています。
画像の例を次に示します。
(source: apple.com )
いいえ、意味がありません。 「make」するつもりはありません;ユーザーが読む。その決定が非常に重要な場合は、不注意と思われるユーザーに装填済みの銃を渡すよりも、危険を軽減する方法を見つける方が良いでしょう。
"安全"の作成ボタンのデフォルト(enter / spacebar / etc。によってトリガーされる)は、ユーザーを驚かせた場合に、予想されるウィンドウを対象としたキーストロークが予期しないアクションを誤ってトリガーしないためです。ただし、そのシナリオでも、ユーザーが自分のやったことに気付いた時点で、選択はすでに(ダイアログ上の説明テキストと共に)なくなっていることに注意する必要があります。繰り返しますが、情報を提供する別の方法を見つけた方がよいでしょう。
いくつかの例で行ったことは、メッセージボックスが表示される時間とメッセージボックスが消される時間を比較することでした。 「x」秒未満の場合、すぐにポップアップします。これにより、ほとんどの場合、画面をクリックするだけでなく、画面上にあるものを実際に読むようになりました。
非常に簡単にもできます。...
次のようなもの:
Dim strStart As DateTime = Now
While Now < strStart.AddSeconds(5)
MessageBox.Show("Something just happened", "Pay Attention", MessageBoxButtons.OK)
If Now < strStart.AddSeconds(5) Then strStart = Now Else Exit While
End While
1日の終わりに、ユーザーがしたくないことをユーザーに強制することはできません...ユーザーは常にそれを回避する方法を見つけます
- マウスを移動ボタンに移動する要件を回避するために、キーを短くカットします。
- EULAを読まずに下にスクロールして続行できるようにします。
- ソフトウェアを起動し、ナグ画面で[OK]ボタンが有効になるのを待っている間にお茶を飲みます。
これを確認した中で最も信頼性の高い方法は、書かれている内容に基づいて複数選択の質問をすることです。答えが正解しない場合は、続行できません...もちろん、数回後には、ボタンが有効になるまで各回答を順番に選択してクリックするだけでよいことに気付くでしょう。繰り返しますが、彼らは書かれたものを読まないことを意味します。
ユーザーのアクションに対してユーザーに責任を負わせるまで、これまでにしか行けません。アクションがログに記録されることをユーザーに伝えると、ユーザーはより注意を払うようになります。説明責任がある場合は、正しいことをする可能性が高くなります。特に、次のような慎重に作成されたメッセージがある場合:
これはログに記録されており、 この決定の影響。削除するように指示されました テーブルALL_CORPORATE_DATA。そうすると、会社全体が データベースを停止して、会社全体を停止させます。
この責任を受け入れることを示すには、チェックボックスを選択する必要があります 続行を選択する前に...
そして、「はい、自分の行動の責任を受け入れます」というチェックボックスがあります。および2つのボタン:
- &quot;はい、削除します&quot;このボタンは、チェックボックスがチェックされている場合にのみ有効にする必要があります。
- &quot; OH CRAP、それは私が何を意味するものではない&quot;このボタンはいつでも有効にできます。
テーブルを削除し、会社のグリッドを停止すると、解雇されます。その後、バックアップが復元され、ラリー[ラリーが誰であっても]として再びみんなが幸せになります。
しないでください。これはプラスの効果はありません。ユーザーが[キャンセル]ではなく[OK]をクリックすることを回避しようとしています。しかし!ユーザーが本当にキャンセルしたいときに[OK]をクリックすることもできます。これは本当の災害になる可能性があります。良くないだけです。
OKを「安全な選択」にするためにUIを再構成しませんか?
この問題は、適切なフィードバック、システム モデルの伝達、および組み込みの許容誤差を組み合わせることでより適切に解決されます。
確認メカニズムを支持することで、実装が簡単になることがわかります。プログラマの観点から見ると、これはユーザーに責任を転嫁する最も簡単な方法です。「ねえ、本当に足を撃ち抜きたいのかと聞いたんですよね?今ではあなた以外に責めるべき人はいません...」
ユーザーの観点から:
- 実際のミスはアクションの総数のほんの一部を占めているにもかかわらず、毎回操作を 2 回確認しなければならないという生産性のペナルティがあり、ボタンを切り替えたり、習慣的なワークフローを壊したり、確認に一時停止を挿入したりすると、ペナルティが増大するだけです。
- このメカニズムは、意識よりも反射神経が先に働く頻繁なユーザーにとっては、あまりセーフティネットを提供しません。私自身、複雑な一連の動作を行ったものの、その結果を観察した瞬間に、自分の脳がどういうわけか間違ったルートを選択したことに気づいたことが何度もあります。
ユーザーにとってはより良いですが、(ソフトウェア開発の観点から見ると) より複雑なソリューションは次のとおりです。
可能であれば、そのアクションがシステムに与える正確な影響を事前に伝えます (たとえば、スタック オーバーフローでは、[回答を投稿] ボタンの上にメッセージ プレビューが表示されます)。
アクションが実行されたら、すぐにフィードバックを送信して確認します (SO は新しく送信された回答を強調表示し、Gmail はメッセージの送信時に確認を表示します)。
起こり得る間違いを元に戻したり修正したりできるようにします (つまり、SOの場合は、回答を削除または編集し、Windowsはごみ箱などからファイルを復元できます。特定の元に戻せないアクションについては、限られた時間枠でのみ、元に戻す機能を付与することができます。オンライン注文を送信後最初の 10 分間はキャンセルまたは変更できるようにする、または電子メールが「送信」されてから実際には送信ボックスにキューに入ってから最初の 60 秒間は取り消すことができるようにするなど)。
確かに、これは確認メッセージ ボックスを挿入するよりもはるかに初期の作業ですが、責任を転嫁するのではなく、問題を解決しようとします。
ただし、OK / Cancelsに一貫性がない場合は、ユーザーを混乱させたり混乱させたりする可能性があります。
また、同意ボタンがクリック可能になる前にユーザーがパネルを下にスクロールする必要があるEULAのようにしないでください。ユーザーにすべてを注意深く読んでもらうことができない場合があります。
彼らが本当にそれを読む必要がある場合、ボタンが表示される前に短い遅延が発生する可能性がありますか?これはユーザーにとっても迷惑になる可能性がありますが、非常に重要な質問である場合は価値があります。
編集:または、「同意する」をクリックするだけではなく、何らかの追加メカニズムが必要です。非常に重要な決定。チェックボックス、キーを押す、パスワードなど。
赤いテキストを使用してこれが重要な操作であることをユーザーに通知し、なぜこれが安全でない操作であるかを説明することをお勧めします。
また、2つのボタンではなく、2つのラジオボタンと1つの「OK」があります。 [続行しない]ボタンが付いたボタンデフォルトとして選択されたラジオボタン。
これにより、ユーザーに一般的でないインターフェースが表示され、認知負荷が増加し、速度が低下します。あなたがここで欲しいものです。
ユーザーインタラクションの場合と同様に、ユーザーを支援することと迷惑になることの間にはわずかなスペースがあります。正確な要件はわかりませんが、あなたのアイデアは私には大丈夫だと思われます。
ユーザーが安全アプリの入力ウィザードの一種を通過しているようです。
ボタンの移動に代わるものとしていくつかのアイデア。
-
最後の画面を開いて、すべての入力を確認してから、最後の[ok]を押します。
-
OKを押した後、このアクションの結果がどうなるかを説明する確認ボックスが表示されます。
-
ユーザーが続行する前にチェックボックスをオンにして同意する必要がある免責事項。
切り替えないでください-混乱するのはあなたが助けてくれる以上のものです。
代わりに、FireFoxのようにして、5秒間コントロールをアクティブにしません。 -タイマーや、読み直す機会を与えている何らかのインジケータを含めるようにしてください。ユーザーがクリックするとタイマーは切れますが、もう一度クリックする必要があります。
どれだけ良くなるかはわかりませんが、役立つかもしれません。
覚えている、男が言ったように:あなたは愚かな修正することはできません。
これは頭痛の種になります。特に、誤ってアプリケーションを閉じて、ファイルの保存を忘れた場合:(
ユーザーに「読み取り」を強制する別の良い例があります。クリックする前:Firefoxは常に[ボタンをグレー表示(無効にする)、[OK]ボタン。したがって、ユーザーは何かを行う前に約5秒待つ必要があります。これは、ユーザーに強制的に読んでもらう(そして考える)
際に見た最善の努力だと思います私が見た別の例は、「ライセンスと契約」にあります。インストーラーのページ。それらのいくつかは、ユーザーが次のステップに進む前にページの最後までスクロールダウンする必要がありました。
キーボードショートカットは以前と同じように動作します(実際にマウスを使用する人が少ないことに驚かれます(特にLOBアプリケーションで)。
Vista(およびOSX IIRC)は、各質問に特定の動詞を使用するという考え方に移行しました(アプリがクラッシュしたいときにMSにクラッシュダンプを送信したい場合、「送信」/「送信しない」など) )
私の意見では、アプリがボタンを使用できるようになる前にタイマーを使用して、COM経由でメールを送信しようとするときにOutlookで使用されるアプローチが好きです(キーボードショートカットにも影響します)
インターフェースとして OK およびキャンセルを使用する場合、ユーザーは常にメッセージまたは画面をスキップすることができます。その後、[ OK ]と[キャンセル]を並べ替えると、ユーザーがいらいらするだけです。
これに対する解決策は、目標がユーザーの理解を保証することである場合、次のとおりです。
- コンテンツについてユーザーに質問します。 [OK]をクリックすると、オプション1に同意します。または[OK]をクリックすると、オプション2に同意します。正しい答えを選択した場合、アクションを許可します。
- これはユーザーに迷惑をかけるため、ユーザーを追跡できる場合は、メッセージごとに1回だけ行います。
これは私がボタンの順序の質問を送信/リセットするそして、同じ原理をここで使用できると思います。ユーザーが2つのボタンを区別できるようにする限り、順序は実際には重要ではありません。以前は、(送信/ OK)ボタンのボタンを使用し、(リセット/キャンセル)ボタンのリンクを使用していました。ユーザーは、これら2つのアイテムが機能的に異なることをすぐに知ることができるため、そのように扱います。
本当にOK / Cancelではありません。それは使いすぎであり、あなたがOKまたはキャンセルしていることを言うためにせせらぎを読む必要があります。 MacOSX UIのアイデアに従ってください。ボタンには、それ自体が意味のあるシンプルで簡単なフレーズが含まれています。例&#231;ファイル拡張子を変更すると、次のようなダイアログがポップアップ表示されます。
"Are you sure you want to change the extension from .py to .ps?"
If you perform the change, the document could be opened by a different application.
(Use .ps) (Keep .py)
[OK]または[Cancel]よりもはるかにコミュニケーション的であり、質問はほとんど不要になります。つまり、標準のように見えるのは、右端のボタンをアクティブにしておくだけです。
あなたが提起した生の質問に関するものです。絶対にしないでください。今まで。銃口でもない。一貫性は、GUIの重要な要件です。一貫性がなければ、ユーザーエクスペリエンスが損なわれ、ユーザーはこれを機能よりもバグと見なす可能性が高くなります(実際にはバグになります)。一貫性は非常に重要です。それを破るには、非常に正当な理由がなければならず、同じ効果を達成する別の異なる標準的な方法があってはなりません。
さまざまなプロンプトと応答オプションを設定できるVisual Basicに存在するオプションについて考えているのだろうか。 1つのオプションは、どちらをデフォルトにするかに基づいて、キャンセルとOKを切り替えることです。そのため、ユーザーはEnterキーを押すだけで、ほとんどの場合、適切なアクションを取得できます。
もしあなたが本当にこの方向に向いたいなら(これは悪い考えだと思うし、少し振り返ってすべての投稿を読んだ後でもあなたはきっとそうなると思う) OK。