概要
- キーボードナビゲーション 向けブラウザ改善の小技紹介
- FirefoxやChromeでの リンク検索機能の限界 解説
- ボタンやdivなど 非リンク要素 の扱いに関する課題
- Enterキーでクリック実行 する拡張の提案と実装例
- バッテリー・CPU消費 への言及
キーボードナビゲーションを改善する小さな変更
- Firefoxの '(クイックファインドリンク)機能 活用によるリンク移動
'キー押下後、リンクテキスト入力で該当リンクをハイライト- Enterキー押下でリンクへジャンプ
- しかし、多くのサイトは ボタンやdivで操作 を実装
- これらは リンクでないため、上記機能非対応
/(クイックファインド)やCtrl+F(ページ内検索)は 全テキストをハイライト 可能- ただし、 Enterキーで何も起こらない 仕様
- 例:リンク、JavaScriptリンク、ボタン、spanのonclickなど 多様な要素
- Enterキーでハイライトされた要素をクリック できれば理想的
シンプルな拡張機能による解決策
-
拡張機能で下記コードを注入 することで対応可能
addEventListener('keydown', event => { if(event.key !== 'Enter') return if(event.shiftKey) return const elementWithSelection = getSelection()?.anchorNode?.parentElement if(!elementWithSelection) return elementWithSelection.click() getSelection()?.removeAllRanges() })- Enterキー検知後、選択中ノードの親要素をクリック
- クリック後、選択範囲を解除
- Shift+Enterなど特殊ケースは除外
-
この 小さなハック でキーボード操作性が大幅向上
バッテリー・CPU消費の問題
- Firefoxの高いバッテリー・CPU消費 も課題として言及
- 効率化や最適化 の必要性