アクセシビリティ ツール - AccEvent (Accessible Event Watcher)

AccEvent (Accessible Event Watcher) を使用すると、開発者とテスト担当者は、UI の変更が発生したときに、アプリケーションの UI 要素によって適切な Microsoft UI オートメーションと Microsoft Active Accessibility イベントが発生することを検証できます。 UI の変更は、フォーカスが変更されたとき、または UI 要素が呼び出されたとき、選択されたとき、または状態またはプロパティが変更されたときに発生する可能性があります。

AccEvent は、Windows ソフトウェア開発キット (Windows SDK) と共にインストールされます。 SDK インストール パス (Accevent.exe) の \bin\<バージョン>\<プラットフォーム> フォルダーにあります。

Note

AccEvent はレガシ ツールです。 代わりに Accessibility Insights の使用をお勧めします。

必要条件

AccEvent は、UI オートメーションを持たないシステムのアクセシビリティ データを調べるために使用され、もともとは Microsoft Active Accessibility 用に作成されたものでした。 UI オートメーションを調べるには、UI オートメーションがシステム上に存在している必要があります。 詳細については、「UI オートメーション」の「必要条件」セクションを参照してください。

AccEvent は、Windows SDK のツール セット全体の一部としてインストールされ、個別の exe ダウンロードとしては配布されません。 Windows SDK には、このセクションに記載されているすべてのアクセシビリティ関連ツールが含まれています。 Windows SDK を取得します。 (以前のバージョンが必要な場合、SDK ダウンロード アーカイブのリンクもそのページにあります)

AccEvent を実行するには、\bin\<バージョン>\<プラットフォーム> フォルダーで AccEvent.exe を見つけて実行します (通常は管理者として実行する必要はありません)。

Accessible Event Watcher のウィンドウ

AccEvent を起動すると、メイン ウィンドウが表示されます。 AccEvent のメイン ウィンドウには、実行中のアプリケーションによって発生した UI オートメーションまたは Microsoft Active Accessibility イベントが表示されます。 メイン ウィンドウの主要パーツは次の通りです。

  • タイトル バー。 現在の動作モードと状態を表示します。
  • メニュー バー。 AccEvent の機能へアクセスできます。
  • データ ビュー。 イベント ID や、イベントを発生させた UI 要素の選択されたプロパティなど、各イベントに関する情報を表示します。

AccEvent にはグラフィカル ユーザー インターフェイスしかありません。このツールにはコマンド ライン引数はありませんが、他のツールを使用して出力ログをテキストとして処理できます。

次の図は、AccEvent のメイン ウィンドウを示しています。

the user interface for the accessible event watcher tool

Accessible Event Watcher のタスク

このセクションには、よく使用される AccEvent タスクに関する情報が含まれています。

動作モードの構成

[モード] メニューを使用して AccEvent の動作モードを構成し、ツールの動作を制御する設定を選択します。 次のオプションを選択できます。

このオプションが選択されている場合 AccEvent はこれを実施します
常に手前に表示 画面にある他のユーザー インターフェイスの上に表示されます。
UIA イベント UI オートメーション イベントに関する情報を表示します。
WinEvents (コンテキスト内) サーバー アドレス空間に存在するフック関数に渡される Microsoft Active Accessibility イベント (WinEvents) に関する情報を表示します。 詳細については、「コンテキスト内フック関数」を参照してください。
WinEvents (コンテキスト外) クライアント アドレス空間に存在するフック関数に渡される Microsoft Active Accessibility イベント (WinEvents) に関する情報を表示します。 詳細については、「コンテキスト外フック関数」を参照してください。
強調表示の四角形を表示する 選択したイベントを発生させた UI 要素を囲う四角形を強調表示します。
情報ヒントの表示 ヒントにイベント情報を表示します。
設定 [UIA Event Settings] (UIA イベント 設定) または [WinEvent Settings] (WinEvent 設定) ダイアログ ボックスを表示します。

 

UI オートメーション イベントのフィルター処理

AccEvent ウィンドウに表示されるUI オートメーションのイベントとプロパティを構成するには、[モード] メニューをクリックし、[UIA Events] (UIA イベント) を選択してから、[設定] を選択します。 [UIA Event Settings] (UIA イベント設定) ダイアログ ボックスが表示されます。 このダイアログ ボックスを使用して、イベントをフィルター処理することもできます。

[UIA Event Settings] (UIA イベント 設定) ダイアログ ボックスには、次のウィンドウがあります。

  • [グローバル イベント]

    [FocusChangedEvent] チェック ボックスを選択すると、グローバル フォーカス変更イベントに関する情報が表示されます。

  • 関心のあるイベントを選択します。

  • スコープ

    AccEvent でイベントをリッスンする UI 要素を選択します。

  • [Include events from] (含めるイベント)

    [範囲] ウィンドウで選択した UI 要素の直接の子要素からイベントを表示する場合は、[Immediate children] (直接の子) を選択します。 子孫要素すべてのイベントを表示する場合は、[すべての子孫] を選択します。

  • [レポートのプロパティ]

    メイン ウィンドウの各イベントの後に表示するプロパティを選択します。 [モード] メニューで [情報ヒントの表示] が選択されている場合は、選択したプロパティもヒントに表示されます。

Active Accessibility イベントのフィルター処理

AccEvent ウィンドウに表示される Microsoft Active Accessibility のイベントとプロパティを構成するには、[モード] メニューをクリックし、[WinEvents (In Context)] (WinEvents (コンテキスト内)) または [WinEvents (Out of Context)] (WinEvents (コンテキスト外)) を選択して、[設定] を選択します。 [WinEvent Settings] (WinEvent 設定) ダイアログ ボックスが表示されます。 このダイアログ ボックスを使用して、イベントをフィルター処理することもできます。

[WinEvent Settings] (WinEvent 設定) ダイアログ ボックスには、次のウィンドウがあります。

  • オブジェクト

    AccEvent でイベントをリッスンするオブジェクトを選択します。 AccEvent は、ウィンドウ、カーソル、またはキャレットから発生したイベントをリッスンできます。 Window が既定で選択されています。

  • イベント

    関心のあるイベントを選択します。 既定では、すべてのイベントが表示されます。

  • [イベントの情報]

    メイン ウィンドウで、各イベントの名前の後に表示する情報を選択します。

  • [オブジェクトのプロパティ]

    メイン ウィンドウの各イベントの後に表示するプロパティを選択します。 [モード] メニューで [情報ヒントの表示] が選択されている場合は、選択したプロパティもヒントに表示されます。 既定では、[名前][ロール][状態] が選択されています。

  • Filtering

    hWNDs フィールドで指定されたウィンドウによって発生したイベントをフィルター処理する場合は、フィルター処理セクションのラジオ ボタンのいずれかを選択します。 既定では、[Don't filter] (フィルター処理を適用しない) ラジオ ボタンが選択されています。

    • [含まない] ラジオ ボタンを選択すると、指定したウィンドウ以外のオブジェクトから発生したイベントのみが表示されます。
    • [のみを含む] ラジオ ボタンを選択し、1 つ以上のウィンドウ ハンドルを指定することで、それらのウィンドウから発生したイベントのみを表示します。
    • [and Descendants] (子孫) チェック ボックスをオンにして、指定したウィンドウの子孫によって発生したイベントを含めます。
  • [オプション]

    次のいずれかのオプションをクリックします。

    このオプションが選択されている場合 AccEvent はこれを実施します
    呼び出しを使用する IAccessible メソッドを使用する代わりに、IDispatch::Invoke を使用してオブジェクト プロパティを取得します。
    常にオブジェクトを取得する (オブジェクト プロパティが選択されていない場合でも) [オブジェクトのプロパティ] ウィンドウで項目が選択されていない場合でも、イベントに関連するオブジェクトを取得します。
    既定のプロパティを表示する (選択したプロパティに加えて) イベントに関連するオブジェクトの既定のプロパティと、[オブジェクトのプロパティ] ウィンドウで選択した項目を表示します (存在する場合)。
    非表示/隠しウィンドウのイベント情報を表示する [イベントの情報] ウィンドウから選択した項目を、非表示または隠しウィンドウ内のものも含み、すべてのオブジェクトに対して表示します。
    非表示/隠しウィンドウのイベント情報すべてを表示する [イベントの情報] ウィンドウから選択した項目と、[オブジェクトのプロパティ] ウィンドウで選択した (または既定の) 項目を、非表示または隠しウィンドウ内のものも含み、すべてのオブジェクトに対して表示します。
    次のイベントでの DebugBreak 次の WinEvent を開始するプロセスでブレークポイント例外が発生します。 これにより、例外を処理するようにデバッガーに通知されます。

イベント メニューの使用

[イベント] メニューを使用して、次のタスクを実行できます。

このオプションが選択されている場合 AccEvent はこれを実施します
聞き取りを開始 データ ビューでのイベント情報の表示を開始します。
聞き取りを停止 データ ビューでのイベント情報の表示を停止します。
イベント履歴のクリア データ ビューのコンテンツを消去します。
すべてのイベントを選択 データ ビューに一覧表示されているすべてのイベントを選択します。
選択したイベントのコピー 選択したイベントをクリップボードにコピーします。

Active Accessibility イベントの保存

テキスト ファイルへのイベントの保存を開始するには、[ファイル] メニューを開き、[Start Logging to File] (ファイルへのログ記録の開始) を選択します。 AccEvent は、[ファイル] メニューから [ログの終了] を選択するまで、指定したファイルへのイベントの書き込みを開始します。 テキスト ファイルは、後でイベントのトラブルシューティングやレビューを行う際に役立ちます。