UndoとRedoは、創作作業を安全に戻すための操作です。何が戻るのかを示し、ユーザーの位置と選択を守り、共同編集でも変更の境界を説明します。履歴を先にモデル化してから、複合操作や同時編集を試します。Pixsoの共同デザイン環境で前後の状態を並べると、抽象的なルールを具体的に検討できます。

予測できる変更履歴を作る
ユーザーが知りたいのは、次のUndoで何が消えるかです。低レベルのプロパティ変更ではなく、意図した操作単位でまとめます。アクション名と対象を表示し、履歴の終端ではRedoを無効にします。Undo後に新しい編集をするときは、分岐がどう扱われるかを伝えます。
| ユーザーの意図 | 一つの履歴にまとめる操作 | 確認する境界 |
|---|---|---|
| カードを別の列へ移す | 移動と位置の更新 | 選択範囲やスクロール位置を保てるか |
| 見出しを修正する | 入力確定とテキスト更新 | 別のテキストレイヤーまで戻らないか |
| 複数カードを削除する | 一括選択と削除 | 一部だけ復元される状態を作らないか |
破壊的な編集から復帰させる
削除や一括置換には、操作の近くに戻す手段を置きます。小さな変更はToastで戻し、広い範囲や戻せない操作だけ確認ダイアログを使います。復元後もビューポートとフォーカスをできるだけ維持し、変化を短くハイライトします。
レビュー会で復帰経路を確認する
チームレビューでは、レビュアーがカードを一括削除し、デザイナーがUndoで復元します。復元後に選択、コメント、スクロール位置がどこまで保たれるかを全員で確認し、復元できない場合は実行前に表示する説明へ戻します。これにより、実装後に「戻ったが別の作業まで消えた」という報告を減らせます。
分岐、ショートカット、共同編集を扱う
ショートカットは表示された操作と一致させ、OSの慣習に合わせます。共同ファイルでは自分のUndoと他人の変更を分けます。単一編集、複合編集、一括編集、オフライン復帰、履歴が空の状態を順にテストします。
履歴状態のテスト表
| 状態 | Undo | Redo | 期待する説明 |
|---|---|---|---|
| 最新の編集直後 | 直前の意図した操作を戻す | 戻した操作を再適用する | 対象オブジェクト名を表示する |
| Undo後に新しい編集 | 新しい編集を戻す | 旧分岐を再適用できるかを明示する | 履歴が分岐したことを伝える |
| 他のメンバーが同じ対象を編集 | 自分の変更だけを対象にする | 他人の変更を上書きしない | ローカル操作と共有変更を区別する |
| 履歴が空・終端 | 無効にする | 無効にする | 操作できない理由を示す |
プロトタイプで復帰経路を確認する
変更、Undo、復元確認、Redoというシナリオをプロトタイプで歩きます。Pixsoでは履歴の状態を画面の隣に置き、期待する復帰結果をコメントに残せます。
Undo/Redoの境界テスト
まず一つのフレームを変更してUndo、Redoを行います。次にページを切り替えてからUndoし、対象が別ページへ移らないことを確認します。最後にUndo後に新しい編集を加え、Redoが無効になる、または分岐を説明する状態を記録します。これらの結果をコメントに残すと、開発担当はどの履歴を一つの操作として実装するか判断できます。

成功の基準は、対象の変更を特定して戻し、別の作業を失わずに続けられることです。
実装前に履歴の境界を状態マトリクスで決める
Undo/Redoをボタンだけで追加すると、「どこまで戻るのか」が分からないまま操作が進みます。編集の単位、保存された状態、共同編集による変更を先に分け、各状態で利用者に見せる説明を決めます。複数の要素を一度に移動した操作は一つの履歴として戻せるようにし、文字の入力を一文字ずつ別の履歴にしないなど、作業の意図に合わせて区切ります。
| 状態 | 利用者が知りたいこと | 表示と操作 |
|---|---|---|
| 変更直後 | 何を戻せるか | Undoを有効にし、対象を短く伝える。 |
| 最初の状態 | これ以上戻れるか | Undoを無効にし、先頭に到達したことを示す。 |
| 別ユーザーの変更後 | 自分の操作と混ざっていないか | 変更者と時点を記録し、復元範囲を確認できるようにする。 |
| 新しい編集を始めた後 | 以前のRedoを使えるか | 履歴の分岐を説明し、破棄される操作を予告する。 |
戻した結果を確認できるテストを作る
検証では成功ケースだけでなく、空の履歴、複合操作、キーボードショートカット、通信が一時的に切れた状態を再現します。Undo後に選択範囲とスクロール位置が変わるなら、何が保持されるかを画面で確認できるようにします。Pixsoで同じ画面の変更前後をフレームに並べ、コメントに「戻す対象」「保持する状態」「再試行方法」を残すと、レビュー担当者が挙動を推測せずに判断できます。
確認の基準は、利用者が変更を安全に戻し、次の作業へ迷わず進めることです。履歴の件数を増やすより、操作のまとまりと復元後の現在地を一貫して伝えることを優先します。