javascriptでのモーダルダイアログのあるべき挙動

以前、jqueryのdialogが求めているもとと違っていたことを書いた。
http://d.hatena.ne.jp/ndruger/20090512/1242167146

ほしいのは下記。

要件

  • 1. ユーザーのブラウザに対する操作(ショートカットキーでのタブの切り替えなど)は、制限してはならない
    • preventDefault()&&stopPropagation()してはだめ。
  • 2. javascriptアプリに対する操作は、制限する必要がある
    • 背景を覆うだけではなく、キー操作とタブキーのフォーカスが当たるのを何とかする必要がある
  • 3. モーダルダイアログということが分かるようにする必要がある
    • 背景をopacityをかけたdivで覆う

  • GMailのラベルを新規作成するときの、"あたらしいラベル"のダイアログがいい感じ
    • 背景が暗くなり、クリックなどが効かない
    • タブキーでも、背景のリンクにはフォーカスが当たらなくなる
      • これどうやってんだろ?
    • ショートカットキーでのタブの切り替えなどは可能
    • ただ、スクロールすると、背景の覆いがかけられてない部分が表示されてしまう。覆いをfixedか位置修正した方がいい。