web-dev-qa-db-ja.com

キャンセルリンクで「未保存のデータ」ダイアログをトリガーする必要がありますか?

ここでグループへの質問です。複数ページのフォームにダーティフィールドチェックを設定しています。ユーザーが別の場所に移動したり、タブを閉じたりしたときにトリガーされるように設定しています。発生したケースの1つは、キャンセルのケースです。私は、誰かがキャンセルをクリックすると、彼らが彼らの仕事のすべてを残して放棄したい(保存しない)ことを望んでいると暗黙のうちに言っていると私は思う。したがって、「保存しますか」と尋ねると、余分な(そして余分な煩わしい)ステップが追加されます。しかし、私のチームのメンバーは、ユーザーが誤ってキャンセルして作業を失う可能性を懸念しています。これはかなりの懸念事項ですが、保存せずに明示的にページを離れたいと考え、そのため追加のダイアログに悩まされる人の数は、誤って「キャンセル」を誤って押してしまったグループよりもはるかに多いと思います。みなさんはどう思いますか?

2
Rath_Er

より簡単な解決策は、フォームデータを定期的に自動保存することです。これにより、ユーザーが誤ってクリックして戻って来た場合でも、フォームを現在の状態で使用し続けることができます。

Smashing誌には、フォームの自動保存を確実にする方法に関するこの素晴らしいソリューションがあります- HTML5とSisyphus.jsを使用してフォームにユーザーの入力を自動保存

ただし、フォームを放棄する明示的な指示があったためキャンセルする場合は、確認を求めることでさらに不快になり、すぐに立ち去ることができなくなります。これは期待される動作でした。つまり、ユーザーがフォームを送信するか、次のページに移動しようとしたときに誤ってキャンセルがクリックされないようにfromを設計します。

それは私がこれを読むことを強くお勧めします Xムーブメントに関する記事 フォームのキャンセルボタンに対して推奨します。記事を引用するには

キャンセルボタンは、いくつかの理由でフォームに属していません。 1つの理由は、ユーザーが[送信]ボタンと間違えたときに、誤ってクリックする機会をユーザーに与えることです。 [キャンセル]ボタンを削除すると、この間違いが発生する可能性が完全になくなります。

[キャンセル]ボタンは、フォームページで[戻る]ボタンが機能しないことをユーザーに通知する場合もあります。もちろん、[戻る]ボタンは機能しますが、[キャンセル]ボタンは、フォームページから出る唯一の方法は[キャンセル]ボタンを使用することであるとユーザーに感じさせることができます。

ほとんどのユーザーは、不要なページにアクセスしたときに[戻る]ボタンに依存する傾向があります。フォームページはそれを変更すべきではありません。 [戻る]ボタンは、ユーザーが快適で使い慣れたものです。そのため、すべてのページで一貫性を維持することが重要です。フォームページは、他のページと同じように見え、機能する必要があります。フォームに[キャンセル]ボタンを配置する余地はありませんが、他のユーザーインターフェイスの状況では当然のことです。 [キャンセル]ボタンが適切な状況は2つあります。

enter image description here

3
Mervin

キャンセルが本当に必要なのは、元の場所に戻る強力な理由がある場合のみです。それが必要な場合、私はあなたに同意します。「通常は」本当に必要ですか?煩わしさのタイプ。

懸念が人々が誤って「保存」を意味するときに「キャンセル」を選択した場合、これはおそらくビジュアルデザインの課題です。 2つの間に視覚的な混乱がないこと、およびそれらが非常に接近していないので、クリック/タップの問題が問題にならないことを確認してください。

0
DA01