Google Chrome で Hit-a-Hint (with magic key)
投稿日:
2016/01/12 追記: 画像を無くしたので削除しました
Google Chrome で Hit-a-Hint (HaH) ライクなキーボードナビゲーション拡張機能 KNavi を作りました。
使い方はこんな感じ
- スペースキーを押す → クリック可能な要素(a 要素など)にヒントが割り当てられる
- ヒントと同じキーをタイプする (この間、スペース押しっぱなし)
- スペースキーを放す → 該当要素のクリックをエミュレート
リンククリックなどをキーボードでなんとかする拡張機能です。その中でも上記のようなプロセスを踏むものを、オリジナルの HaH では magickey と呼んでいました。
こういった HaH ライクなキーボードナビゲーションシステムは結構たくさんあります腐るほどあります。しかし、Firefox の Hit-a-Hint という拡張機能で実装されていた MagicKey を実現している拡張機能を見たこと無いのでついカッとなって作りました。後悔しています。
ちなみに、MagicKey を用いていない HaH は、
- スペースキーを押す(すぐに放す) → クリック可能な要素(a 要素など)にヒントが割り当てられる
- ヒントをタイプ
- ヒントにフォーカスがあたる
- エンターキーを押す → クリック相当の挙動をする
となり、「どうしてエンターキー押さないといけないの!くぁwせdrftgyふじこlp」と感じていました。
マイペースにバグフィックスor機能追加をしたいと思います。下に ToDo のようなものを書いておこう。
どうにかするべき点
- フレームにヒントが届かない、frameset で構成されたページには無力
- 一部の環境 background.html が暴走
- スクロール可能な要素の外に潜り込んだリンクはキーボードじゃどうしようもない