web-dev-qa-db-ja.com

確認なしで削除するための良い方法はどれですか?

私はいくつかの場所を読みました 確認メッセージはユーザーに警告するための最善の方法ではありません 、彼らが望むことは何でもできるようにするのが最善ですが、戻るオプションを彼らに与えます。ボタンをクリックすると削除することを決定し、クリックして確認する必要があることは追加の手順に過ぎないため、これはおそらく何かを削除することに当てはまると思いました(確認画面で「いいえ」をクリックするユーザーの割合は私は疑問に思う...)

ユーザーがリスト内のアイテムを管理しているWebアプリに取り組んでいます。ユーザーが[削除]をクリックしたときに確認を行う代わりに、いくつかの異なるアプローチを検討しています。

  1. アイテムが灰色になり、[削除済み]と表示されていると思っていましたが、[元に戻す]ボタンがあります。次に、数秒後(多分6?)、リスト項目がフェードアウトし、その下の項目が上に移動します。 (多くの場合、削除されたものを取り除きたいので、それらを持ち歩く必要がないので、それらを静止させておくのは不愉快だと思います。)

  2. 私が考えているもう1つのアプローチは、下部にある「最近削除された」セクションで、そこから復元でき、数日後にアイテムを消去します。その場合は、アイテムをリストからすぐに削除します。消えたリストアイテムと下部のリンクとの間のリンクが直感的に理解できるほど明確ではないのですが、その場合は心配です。

リストにはおそらく独自のスクロールバーがありますが、かなり長くなる可能性があります。

これらのアプローチのいずれかが妥当に聞こえますか?確認メッセージが表示されないようにするより良い方法はありますか?それとも単に確認メッセージを保持するだけですか?

14
Damon

元に戻すボタンを使用する場合は、数秒後に消えるようなものにしないでください。ユーザーが他のアクションを実行するまでそこに置きます。アイテムを灰色にして一時的なリストを作成するという考えは良い考えですが、それを行うのではなく、別の画面にpermanent "deleted items"リストを用意しないのはなぜですか?そうすれば、削除したものをいつでも表示して元に戻すことができます。何があなたを止めていますか?

確認メッセージについて重要なのは、削除などの破壊的なアクションの取り消しを作成するのは技術的に複雑だったために作成されたということです。そのため、代わりに、ユーザーがデータを失うのを防ぐために、事前にユーザーに警告する必要がありました。今日(そしてWebでも)、物事はそれほど複雑ではなく、元に戻す機能を比較的簡単に実装できるはずです。

例が必要な場合は、Gmailがリリースされてからこれを行っています。メッセージを削除すると、受信トレイから消えますが、元に戻すかどうかを尋ねるメッセージがすぐに表示されます(他のアクションと同様)。別の操作を行うと、そのメッセージは消えますが、ゴミ箱に移動して、過去30日間に削除されたメッセージを表示することができます。彼らの例に従うことをお勧めします。

15
Rahul

まあ、確認ダイアログは実際にはエラーとして存在します防止メカニズム。同様に、Rahulが上記で言及した取り消しメソッドはエラーrecoveryメカニズムです。どちらも、ユーザーが作業を失うのを防ぐために使用されます。それらは相互に排他的ではなく、必ずしも同時に使用する必要はありません。私のアドバイスは、タスクの頻度とエラー状態の深刻さを比較検討することです。たとえば、ディスクワイプから回復するのが非常に難しいエラー状態もあれば、オブジェクトをシステムに挿入するようユーザーに要求するだけのエラー状態もあります。

エラーが致命的に深刻ではなく、常にプロンプ​​トがワークフローを中断する可能性がある一般的なタスクについては、元に戻すオプションを選択してください。 「軌道から離陸して核を出す」などのまれなタスクの場合は、確認プロンプトに続いて元に戻すシステムが元に戻すことが許可されている場合を実行します。

ちなみに、元に戻すオプションのない「離陸して軌道から核に入れる」タイプの*コマンドがあったシステムで作業しました。 「クレイジーですか?」という2つの確認プロンプトが表示されました。そして、「本当によろしいですか?まあ、私たちがあなたに警告しなかったと言わないでください」...

*例:ステーションを破壊することを犠牲にして、最後の可能なオプションが自己保存であるゲーム。

7
colmcq

削除する前に確認メッセージが表示されない場合は安全でないと感じるユーザーもいれば、余分な手順に迷惑をかけるユーザーもいます。

ここでの他の回答は、確認メッセージなしでそれを行う方法に関する良いアプローチを提供しますが、どのアプローチでも、ユーザーが確認メッセージの有無にかかわらず自分で選択できるようにするシステムのユーザー設定が必要です。

0
awe