ポエム
-
いかなる時も UI はブロックされず、ユーザーは自由である
- 押せるボタンはすべて押すものとして設計する
- フォームの送信ボタンを押した瞬間にフォームの要素は適切に readonly あるいは disabled になるべきである
-
ユーザーの操作を UI だけで制限してはいけない
- tab キーよるフォーカス移動などによって不可視な要素に対してイベントを発行できる
- 制限された操作についてはロジック側でもイベントを棄却する
- 「戻る」操作は棄却できない
- モーダルダイアログは全く「モーダル」ではない
-
不要なイベントをハンドリングしない
- ハンドリングされないイベントがどれなのか UI 上でわかるようにする
- 要素を disable する
- リンクの色を変える
- ハンドリングされないイベントがどれなのか UI 上でわかるようにする
-
常にブラウザは「戻る」を使えるということを念頭に置く
- 「戻る」操作の際、モーダルダイアログは勝手に閉じるようにする
-
アニメーションには4つの状態がある
- 状態A
- アニメーション中(A->B)
- 状態B
- アニメーション中(B->A)
-
アニメーション中の振る舞いはアニメーション後の状態を基本とするとよい
イベントのハンドリングはホワイトリストのほうがマシ