現在、当サイト「mozilla.org 日本語版」の和訳文書は更新されておらず、mozilla.org の原文 よりも内容が古くなっている可能性があります。ご不便をお掛けしますが、最新の情報は原文をご確認ください。



Find As You Type

Find As You Type (以前は Type Ahead Find と呼ばれていました) は、表示されているページの (ロケーションバー、編集ボックス、その他フォーム要素を除く) 本文内で文字を続けてタイプしたときに、すばやい Web ページのナビゲーションを可能にする機能です。 Find As You Type のコードは Netscape Corporation によって Mozilla に提供されたものです。

機能

  • アクティブなブラウザウィンドウで文字をいくつか続けてタイプすると、そのテキストを含むすべてのリンクへナビゲートします。
  • 同じ文字を続けてタイプすると、その文字で始まるすべてのリンクを順番に移動します。ただし、「woods」の「oo」のように、タイプしたのとまったく同じ文字列にマッチした場合は、最初にそこへ移動します。さらに続けて「o」をタイプすると、「o」で始まるリンクを順番に移動します。
  • 最後にタイプした文字を取り消すには Backspace キーを使います。
  • リンクだけを対象に検索する場合は、文字列の前に ' をタイプします。すべてのテキストを対象に検索する場合は、文字列の前に / をタイプします。
  • テキスト検索フィールドを使えば、ボタンやテキストボックス、その他のフォームコントロールについても検索できます。その直前のテキストを検索して、そこから移動するときは Tab キーを押します。
  • 検索をキャンセルするには、フォーカスを他に移すか、ページをスクロールするか、Escape キーを押すか、タイムアウトになるのを待ちます。
  • Accel+G または F3 を押すと、「次を検索」します。Accel+Shift+G または Shift+F3 を押すと、タイプした現在の文字列で後方検索します。これは現在の「リンクのみ」の設定に従います。注意: 「Accel」は、Windows では Ctrl、Mac では Cmd に当たります。Unix では、「Accel」は通常 Ctrl を指しますが、Alt に設定されている場合もあります。
  • これは、組み込みクライアント、インスタントメッセンジャーの会話ウィンドウ、ヘルプなど、すべての Gecko HTML コンテンツウィンドウで機能します。
  • 中国語、日本語、韓国語などの入力に使われる IME を使っても機能します。
  • リンクがフォーカスされると、次のキーを使うことができます。
    • Enter - リンク先のページに移動します
    • Shift + Enter - リンク先のページを保存します
    • Ctrl + Enter (Mac では Cmd + Enter) - リンクを新しいウィンドウで開きます
      【訳注: 下記の [タブブラウズ] 設定の [ウィンドウの代わりにタブを開く場合] で [Web ページでリンクを中ボタンクリックか Ctrl + クリックした場合] にチェックが入っている場合、リンクは新しいタブで開かれます】
    • Insert - リンクを新しいタブで手前またはバックグラウンドに開きます。これは、設定パネルの [Navigator] > [タブブラウズ] の中にある [バックグラウンドでリンクをロードする] 設定が有効になっているかどうかによります
      【訳注: この設定にチェックが入っている場合、手前ではなくバックグラウンドにタブが開かれて、そこにページを読み込みます】
    • Shift + Insert - Insert と同じですが、(上で説明した) 手前 / バックグラウンドの設定と逆の動作をします
      【訳注: 一部のビルドでは Insert も Shift + Insert も動作しないかもしれません】

無効化

現在 Find As You Type はデフォルトインストールに組み込まれています。これを無効にするには、次の行を prefs.js に追加します。

【訳注: prefs.js ファイルを編集するよりも、アドレスバーに about:config と入力して簡易設定パネルを開き、そこから編集した方が簡単にできます。以下の設定はすべて about:config から設定可能です】

user_pref("accessibility.typeaheadfind", false);

また、この機能を完全に削除するには、Mozilla をインストールしたサブディレクトリで *typeaheadfind* にマッチするファイルをすべて検索し、これらのファイルを削除してください。

再有効化

一度無効にした機能を有効に戻すには、次の行を prefs.js に追加します。

user_pref("accessibility.typeaheadfind", true);

設定

[設定] > [詳細] の中に、新しい [キーボードナビゲーション] 設定パネルが入りました。ここには、起動時のオプション、タイムアウトやサウンドを有効にするかどうかといった Find As You Type の設定が含まれています。

設定を手動で調整したい場合、Find As You Type は次の設定をデフォルトとして使っていますが、prefs.js ファイルによって変更することができます。

user_pref("accessibility.typeaheadfind.autostart", true); // true の場合、文字をタイプすると自動的に Find As You Type がスタートします。false の場合、検索する前に / (テキストを検索する場合) か ' (リンクを検索する場合) キーを押す必要があります。

user_pref("accessibility.typeaheadfind.linksonly", true); // true の場合、ユーザがタイプした文字列の検索対象を「リンクのみ」に標準設定します。ユーザは、全文検索には / を、リンクだけを対象にするには ' を押すことで、これを (無効にして) 切り替えることができます。

user_pref("accessibility.typeaheadfind.startlinksonly", false); // true の場合、リンクだけを対象に検索するときに、最初のリンクだけにマッチするようにします。

user_pref("accessibility.typeaheadfind.timeout", 3000); // 0 以上の値の場合、ユーザが最後にタイプしてから検索がキャンセルされるまでの時間を、ミリ秒単位で設定します。(この例の場合 3000 ですので 3 秒ということです)

user_pref("ui.textSelectBackgroundAttention", "#rrggbb"); // rrggbb には、見つかったテキストに表示したい色を 16 進数で指定します。(たとえば赤なら ff0000 となります)

user_pref("accessibility.typeaheadfind.enablesound", false); // 音が鳴りませんか? (現在は、Linux/Unix ではデフォルトでオフ、他のプラットフォームではデフォルトでオンになっています)

user_pref("accessibility.typeaheadfind.soundURL", "ファイル名"); // エラー音に独自の wav ファイルを指定できます。また、文字列 "default" にするとデフォルトの音が、"beep" にするとシステムのビープ音が鳴ります。

動作原理

ソースは mozilla/extensions/typeaheadfind にチェックインされています。

大筋では、コンポーネントとして初期化されると、nsIWindowWatcher を通じた domwindowopened イベントの受け取りがスタートし、これらのウィンドウに keypress リスナーが付加されます。新しいウィンドウで keypress が起こるたびに、そのウィンドウで Find As You Type を自動的にアクティブにするべきかどうか (つまり、そのウィンドウがエディタや Mail & News などではないか) をチェックします。

自動スタートが無効になっている場合 (Find As You Type のスタートに / や ' が必要な場合)、nsICommand インターフェイスを通じてそのコマンドを受け取ります。コマンドは htmlBindings.xml で指定されています。

その後は、タイプされた文字を単純に記録し、そのテキストが見つかるかどうかを認識するために、ローレベルの nsIFind インターフェイスを使います。実際には 1 ページに対してこれを 2 回実行することで、ページ上に表示されているテキストだけを選ぶことができます。

組み込み製品向け Find As You Type

今や Find As You Type は組み込み製品への選択肢となっています。(2002 年 9 月 28 日現在)

  1. mozilla/embedding/config/basebrowser-[yourplatformname] というファイルを検索して、それにリストされているファイルの 2 行をコメントアウトしてください (バイナリファイルと .xpt ファイル)
  2. cd mozilla/embedding/config
  3. make

これであなたの dist/Embed ディレクトリで Find As You Type が有効になっているはずです。

作業予定

  • ボタンテキストや、画像・オブジェクトのツールチップに使われる alt/title テキストを検索できるようにします。見つかったテキストをハイライトして、ツールチップをポップアップさせます。これは Bug 158757 です。
  • ドットフォーカスのアウトラインをより見やすいものに変更します - Bug 53927Bug 151375 をご覧ください。

フィードバックをお待ちしています

追加向上リクエスト、バグの報告

Bugzilla にバグレポートを登録してください。コンポーネントは「Keyboard: Find As You Type」です。

テスト

私たちの Find As You Type テストを試して、問題を見つけたらなんでも報告してください! Find As You Type 品質保証ページ をご覧ください。

ボランティア募集中

Web ブラウザのアクセシビリティ といったテーマに興味がありますか? ぜひ Mozilla をアクセシブルにする取り組みに参加してください。まず Mozilla アクセシビリティ ニュースグループ をチェックして、私たちの Mozilla アクセシビリティ開発の取り組みについて話し合いましょう。キーボードを使って Mozilla を操作する方法や、スクリーンリーダー、スクリーン拡大機能、音声入力製品を使って Mozilla を動作させる方法について議論しましょう。メーリングリスト版は mozilla-accessibility-request@mozilla.org を購読してください。または Aaron Leventhal - aaronleventhal@moonset.net までご連絡ください。