どんな操作にもアンドゥ機能が必要。取り消せない操作が紛れ込んでいると利用者は抵抗感を感じる。
アンドゥができない場合、確認を。操作性は低下するが、それでも安心感のほうが大事。
でも、アンドゥも確認も要らない操作はある。
例えばカーソル(キャレット)を左に動かすこと。右に動かせば取り消したのと同じ。
つまり、取り消しと同じことができる操作はアンドゥ不要。
アンドゥ不要な操作をアンドゥ可能にするのは別に構わない。でも確認をしてしまうのはいけない。
「終了しますか?」という確認はよくある悪例。誤って終了したとしても起動し直せばいい。
「内容を保存しますか?」ならまだしも「終了しますか?」には害しかない。
そもそも利用者が「終了しろ」と指示しているのだから、同じ相手に聞き直すことはないだろう。
例外は、再起動だけでは元の状態に戻らない場合や起動に時間がかかる場合。
元の状態に戻すのにコストがかかるなら終了時に確認するのもあり。
ちなみに元の状態に戻せないのは設計上の欠点。