javascriptでのモーダルダイアログのあるべき挙動
以前、jqueryのdialogが求めているもとと違っていたことを書いた。
http://d.hatena.ne.jp/ndruger/20090512/1242167146
ほしいのは下記。
要件
- 1. ユーザーのブラウザに対する操作(ショートカットキーでのタブの切り替えなど)は、制限してはならない
- preventDefault()&&stopPropagation()してはだめ。
- 2. javascriptアプリに対する操作は、制限する必要がある
- 背景を覆うだけではなく、キー操作とタブキーのフォーカスが当たるのを何とかする必要がある
- 3. モーダルダイアログということが分かるようにする必要がある
- 背景をopacityをかけたdivで覆う
例
- GMailのラベルを新規作成するときの、"あたらしいラベル"のダイアログがいい感じ
- 背景が暗くなり、クリックなどが効かない
- タブキーでも、背景のリンクにはフォーカスが当たらなくなる
- これどうやってんだろ?
- ショートカットキーでのタブの切り替えなどは可能
- ただ、スクロールすると、背景の覆いがかけられてない部分が表示されてしまう。覆いをfixedか位置修正した方がいい。