メインコンテンツへスキップ
キーボードだけで操作 · 控えめな初期設定

ヒントモード、入力して選択、本格的なキーボード操作レイヤー

Navigation v1.2.0

Nav v1.2.0では、ブラウザに本格的なキーボード操作レイヤーが加わります。初登場の4つの機能を同時に搭載しました:ヒントモード(ページ上のクリック可能な要素すべてに文字バッジを表示)、入力して選択(文字を入力するだけで一致箇所をすべてハイライト)、高速テキスト選択(Shift+矢印キーで単語・行・ブロック単位に選択範囲を拡張し、マウスなしでコピー)、そして速度モデルを備えた矢印キーによるページスクロールです。設定のドロップダウンは本格的なオプションページに昇格し、トグルは28個から40個に増えました。サイドバーナビゲーション、ライブ検索、ホバーで各機能を実演するツアーも備えています。Shift+Escapeによるサイトごとの一時停止、ヒントのトリガーキーのカスタマイズ、デフォルトでのプレビュー表示にも対応。ページ上のキー入力を使う機能は、インストール時にはオフになっています。

  • ヒントモード(新機能)— Shiftを押し続けると、ページ上のクリック可能な要素すべてに文字バッジが表示されます。バッジの文字を入力するとクリックできます
  • 入力して選択(新機能)— 文字を入力するだけで、ページ上の一致するテキストをすべてハイライト。矢印キーで切り替え、Enterで実行、Alt+EnterでGoogle検索結果をプレビューします
  • 高速テキスト選択(新機能)— どの起点からでも Shift+矢印キーで単語・行・ブロック単位に選択範囲を広げ、すばやくコピーできます
  • 矢印キーでのページスクロール(新機能)— 低速/標準/高速/オフの速度プリセットと、ネイティブな操作感を目指した速度モデル
  • サイドパネル内の設定ドロップダウンに代わり、専用のオプションページを用意 — トグルは28個から40個に増加し、サイドバーナビゲーション、検索、スクロールスパイを搭載。オンボーディングツアーとしても使えます
  • サイトごとの一時停止(新機能)— Shift+Escape で、現在のドメインでのすべての Nav ショートカットをオン/オフできます
  • ヒントのトリガーをカスタマイズ可能に — Shift 長押し(デフォルト)、Alt 長押し、Ctrl 長押し、/ キーで起動する vimium 風モーダルの4種類から選べます
  • ページ上のキー操作機能はインストール時にはオフです — 内容を確認したうえで有効にしてください

本格的なキーボード操作レイヤー

Nav には v1.0 からキーボードショートカットがありました — コマンドパレットの Alt+K、スマートグループ化の Alt+G、サイドパネルのホットキーなどです。v1.2.0 では、サイドパネルだけでなくページそのものに作用する、まったく新しいキーボードレイヤーを導入しました。4つの機能が初めてそろって登場します:

  • ヒントモード — クリックできるすべての要素に文字バッジを表示
  • 入力して選択 — 入力するだけで一致するテキストをすべて検出
  • 高速テキスト選択 — Shift+矢印キーで単語・行・ブロック単位に選択範囲を拡張
  • 矢印キーでのページスクロール — 矢印キー単体で速度モデルに基づいたスクロール

各機能は新しいオプションページで個別にオン/オフでき、4つとも初回インストール時はオフになっています。有効にすると、Nav は Chrome の上に vimium 並みのキーボード操作ブラウザを重ねたように動作します — サイドパネルやワークスペースを犠牲にすることはありません。

ヒントモード

Shift を長押しすると、ページ上のクリックできるすべての要素 — リンク、ボタン、フォーム欄、role-button の div、深くネストされた SVG コントロールなど — に文字バッジが表示されます。バッジの文字を入力するとクリックされます。2文字のバッジは入力に応じて絞り込まれます。最後の文字を入力するときに Shift+Alt を押したままにすると、リンクを Glance オーバーレイでプレビューできます。Shift+Ctrl ならバックグラウンドタブで開きます。プレフィックスが曖昧な場合は、Enter で現在の最上位のアクションを同じ修飾キーの動作で確定します。

ヒントモードはすべてのフレームで動作するため、iframe 内でも使えます(埋め込みの YouTube や GitHub など、あらゆる埋め込みコンテンツ)。ネットワークリクエストを変更することは一切ありません。この機能全体は hints.js に収められており、約1,500行のバニラ JavaScript で構成されています。

入力して選択

ヒントモードがオフの状態で文字をそのまま入力すると、Nav は CSS Custom Highlight API(ページを変更せずにハイライトするための最新の Web プラットフォーム機能)を使って、ページ上の一致するテキストをすべてハイライトします。矢印キーで一致箇所を切り替えられます。Enter で先頭の一致箇所をアクティブにします。Alt+Enter で、一致したテキストの Google 検索を Glance オーバーレイでプレビューします。Ctrl+Enter ではその検索をバックグラウンドタブで開きます。

先に開く必要がある別ダイアログではなく、入力を始めた瞬間に期待どおりに動くページ内テキスト検索です。

高速テキスト選択

多くのユーザーが長年ブラウザに求めてきた、キーボードでのテキストコピー機能です。「入力して選択」がアクティブな間は、Shift+矢印キーで、矢印の方向に応じて現在の選択範囲を単語・行・ブロック単位で拡張できます — 起点はドキュメントの先頭ではなく、一致した箇所です。Shift+A で現在の一致箇所を段落全体まで拡張します。

段落、コードブロック、引用文、出典などを、マウスに触れずに選択できます。選択範囲は Chrome の通常の仕組みで拡張されるため、Cmd/Ctrl+C で選択した内容をそのままコピーできます。

新しい Shift+arrow extend mode 設定で、2つの動作から選べます:選択範囲を拡張(多くのユーザー向け)または一致箇所を切り替え(vimium 風)。デフォルトは拡張です。

矢印キーでのページスクロール

オプション機能として、ページを矢印キーでスクロールできます(タブ切り替え用ではありません — そちらは引き続き Alt+arrow です)。速度プリセットは低速、標準、高速、オフの4種類です。矢印キーを押すと即座に反応し、押し続けると加速します。スクリプト制御のような不自然さのない、ネイティブな操作感を目指した速度モデルを採用しています。内部的には、最初の押下をスムーズスクロールで、以降のリピートを即時スクロールで処理することで、Chrome のスムーズスクロールのキャンセル制限を回避しています — その結果、押し続けてもカクつかないスクロールを実現しました。

設定は「キーボードショートカット」カードにあります。後述の「控えめなデフォルト」ルールに従い、デフォルトではオフです。

専用のオプションページ

サイドパネル内にあった設定ドロップダウンは、独立したオプションページに置き換わりました(chrome://extensions → 詳細 → 拡張機能のオプション、または歯車アイコンから開けます)。トグルはv1.1.0の28個から40個に増え、12個の設定を新たに公開しました。新しいページの特徴は次のとおりです:

  • サイドバーナビゲーション — ナビゲーション / タブとワークスペース / 外観 — と、カードをリアルタイムで絞り込める検索フィールド
  • スクロールスパイ — スクロールに合わせて、表示中のセクションがサイドバーで自動的にハイライトされます
  • 初期状態はすべて折りたたみ — どのカードも閉じた状態で表示され、クリックで展開できます。折りたたみ状態は訪問ごとに保持されます。
  • わかりやすいタイトル — 「keyboardHints」ではなく「ヒントモード」、「textSelectionExtend」ではなく「高速テキスト選択」
  • オンボーディングツアー — 各機能カードにはホバーで再生されるアニメーションがあり、その場で動作を確認できます。上部の「おすすめ」グループでは、効果の高いオプトイン機能を3つ紹介しています。チェックリストで有効にした機能を確認でき、保存データそのものではなく実際に有効な状態が反映されます。
  • カードごとのヘルプリンク — 各カードには小さなヘルプアイコンがあり、SuperchargeNavigationライブラリ記事の該当セクションへ直接移動します。設定から、その説明ドキュメントへワンクリックでアクセスできます。

インストール時のデフォルトを控えめに

ページ上のキー操作に関わる3つの機能は、初回インストール時はオフになっています: ヒントモード、タイプして選択、Shiftスクロール。これらはページ上の入力やスクロールを横取りするため、便利な反面、予想外の動作に驚くことがあります。新規インストールでは、初回起動時にいきなり有効にするのではなく、オンボーディングツアーで紹介するオプトイン機能として扱います。

このアップデート以前からNavを使っている場合、既存の設定はそのまま引き継がれます。

ヒントのトリガーをカスタマイズ

ヒントモードのトリガーはShiftに限りません。オプションページで4種類のトリガーから選べます:

  • Shiftを長押し — デフォルト
  • Altを長押し — ShiftがOSのショートカットと競合する場合に
  • Ctrlを長押し — よく使うアプリでShiftが使われている場合に
  • /を押す — vimium風のモーダルモード。/を押してバッジの文字を入力するとクリックでき、Escで終了します

組み合わせ用の修飾キー(ピークとバックグラウンドタブ)はトリガーの選択に応じて自動的に決まるため、3つの役割が重なることはありません。設定の説明文に表示されるキーラベルも、選択したトリガーに合わせてリアルタイムで更新されます。

サイトごとの一時停止

どのページでもShift+Escapeを押すと、ドメインごとのマスタースイッチを切り替えられます。Navのすべてのコンテンツスクリプト動作(ヒント、タイプして選択、Alt+スクロール、Alt+中クリック、Alt+矢印キーでのタブ切り替え、Glance/Peek、ロッカージェスチャー、スーパードラッグ)が、再びオンにするまでそのホスト名で無効になります。

この切り替えは、Alt+Kコマンドパレット(「…でNavショートカットを一時停止」)や、サイドパネルのヘッダーにあるサイトごとの一時停止ボタンからも操作できます。ボタンでは現在の状態がひと目でわかります。

Alt+クリックでピーク

通常のリンククリックでのピーク用修飾キーが変わりました: Alt+クリックで、リンクをインラインのGlanceオーバーレイで開くようになりました。以前はShift+クリックでした。この変更により、通常クリックでのピークが、入力中にShift+Altを使うヒントモードでのピークと揃い、どちらも一貫してAltをピークの修飾キーとして扱います。Ctrl+クリックは、Chromeの標準動作と同じく、引き続きバックグラウンドタブで開きます。

デフォルトでピーク

新しいオプションで、クリックの組み合わせを反転できます: デフォルトでピークをオンにすると、通常のクリック、または修飾キーなしでヒントをEnterで確定したときに、リンクをGlanceオーバーレイでピーク表示します。Altでは通常どおり開きます。Ctrlは常に「バックグラウンドタブ」のままです。

サブオプションで、デフォルトでピークの対象を外部リンクのみに限定できます。同じホストのリンクは通常どおり移動し、別ホストへのリンクだけをピークします。アプリ内のナビゲーションに影響を与えずに、外部へのクリックでピークしたい場合に便利です。

Alt+Kコマンドパレット

パレット全体の細かな改善:

  • ワークスペースセクションで、アクティブなワークスペースが強調表示されるようになりました
  • 先行入力ボーナス — パレットを開いた状態で入力すると、選択が一致する項目へより速く移動します
  • 新しい空のワークスペースの項目を追加。Shiftとの組み合わせ(破壊的操作)で、まっさらな状態から始められます
  • Escでパレットを閉じる — 以前は、外側をクリックするかAlt+Kをもう一度押すまで開いたままでした
  • 矢印キーの入力が下のページに伝わらなくなりました

重複タブ — 自動モード

重複タブの整理に新しく自動モードが追加されました。一度オンにすると、タブを開くたびにNavが重複タブを自動で統合します。手動でコマンドを実行する必要はありません。Alt+Kパレットの手動コマンドも、これまでどおり使えます。

新しいタブ

画面の高さが低い場合でも、新しいタブの下部にあるブランドフッターがよく見るサイトのグリッドに重ならなくなりました。固定タブの列、よく見るサイト、ワークスペース、検索バー、時計、背景のパーティクルアニメーションは、これまでどおり個別にオン/オフできます。

その他の追加機能

  • 上部バーのテーマボタンで、画面をスクロールさせずにライト・ダーク・自動を切り替えられます
  • サイドパネルのクイックリファレンスカードは初期状態で展開されます。折りたたみの状態は保持されます
  • オプションページの「使いこなしのコツ」カードに、デモアニメーション付きのワンクリック「組み合わせを有効化」ボタンを追加しました
  • ヒントモードのスラッシュ(/)トリガーが、US以外のキーボード配列でも動作するようになりました
  • 設定の説明文に表示されるキーラベルが、選択したトリガーに合わせてリアルタイムで更新されます
  • スマートグループ化と「すべてのグループを解除」は、ほかの拡張機能とショートカットが競合する場合にオフにできます

バグ修正

安定性の向上と特殊なケースへの対応をまとめて行いました。chrome.storage の初期化時の読み込みでコンテキストの無効化に対処するガードを追加しました。ツアーのドット表示が、ストレージの生の値ではなく実際に有効な状態を反映するようになりました。ツアーでのクリック先が正しい行になり、設定名がツアーの説明文と一致するようになりました。MV3のCSPに準拠するため、サイドパネルのインライン onerror ハンドラーを削除しました。設定カード内の行と行の間にある余分な区切り線を取り除きました。また、スムーズスクロールのキャンセル時の制限を回避し、矢印キーを押し続けてもなめらかにスクロールするようにしました。