- [アーティクル]
-
-
AccScope ツールを使うことにより、開発者やテスト担当者は、アプリの開発サイクル後半のテスト段階ではなく、アプリの開発および設計の段階でアプリのユーザー補助を評価することができます。 テストは、プロトタイプの初期段階で開始することもできます。 AccScope は、アプリが提供する UI オートメーション情報をスクリーン リーダーが公開する方法を視覚化し、アプリに情報やサポートを追加してユーザー補助を向上させる領域を表示できます。
AccScope は、Windows ソフトウェア開発キット (Windows SDK) と共にインストールされます。 SDK のインストール パスの \bin\<バージョン>\<プラットフォーム>\AccScope フォルダーにあります。 AccScope.exe プログラムを実行します。
AccScope はデスクトップ アプリであり、Windows ストア アプリではありません。 これを使用すると、デスクトップ アプリや Windows ストア アプリなど、ウィンドウとして表示されるすべてのアプリを確認できます。
ナレーター モードを有効にするには、初回使用時に AccScope を管理者として実行することが必要になる場合があります。
AccScope は、Windows SDK のユーザー補助ツール バイナリの一部として使用可能です。 これは別の exe ダウンロードとして配布されてはいません。また、以前の SDK には存在しません。
- ターゲット ウィンドウの現在の状態と一致するように AccScope のすべての情報を更新するには、[更新する] を選択します。 多数の要素を含む UI の場合、完了までに数秒かかることがあります。
- AccScope UI のウィンドウ動作を変更するには、[常に手前に表示] をオンまたはオフにします。 [常に手前に表示] のチェックはオンが既定です。
- [終了] を選択して AccScope を終了します。
[全画面表示] を選択して、AccScope ツールを全画面表示で実行します (次に、タブを使用してターゲット ウィンドウを表示します)。 AccScope とターゲット アプリの両方が全画面表示で実行されている場合、配置、四角形の境界、要素の全体的な視覚化は、アプリのビューと AccScope のビューの間で対応しています。
注意
AccScope とそのターゲットは、同じディスプレイで実行されている必要があります。
ユーザーが (マウスまたはキーボードを使用して) フォーカスをウィンドウに移動するたびに AccScope でターゲット ウィンドウを変更できるようにするには、[自動フォーカス] を選択します。
[自動更新] を選択すると、ターゲット ウィンドウのすべてのユーザー補助データを 5 秒ごとに更新する AccScope モードが有効になります。 これは、ターゲット ウィンドウの Microsoft UI オートメーション データが絶えず変化する場合に便利です。
[ライブ リージョン] を選択すると、ターゲット ウィンドウ内で通知を発行するすべてのライブ リージョンが強調表示されます。 ライブ リージョン イベントが発生すると、その名前とその "aria-live" 値 (または、HTML を直接使用せず、UI オートメーション サポートでライブ リージョンの概念を使用するアプリと同等の ARIA 値) を含むライブ リージョンに関する情報を含む赤いポップアップが表示されます。
次のいずれかのモードを使用して、ターゲット ウィンドウを表示できます。
- リーフ コントロール: 親子リレーションシップを持つ Control 要素の UI オートメーション ビュー、つまり "リーフ レベル" の対話型コントロールのビューを表示します。 Control ビューの UI オートメーション ツリーにすべての対話型コントロールが正しく表示されているかどうかを確認するには、このオプションを使用します。
- テキスト パターン: ターゲット ウィンドウから TextPattern コンテナーの表示テキスト範囲を表示します。 UI オートメーションの TextPattern 要素の表示テキスト範囲を視覚的に表すには、このオプションを使用します。
- ナレーター: ナレーターの "項目ナビゲーション" メタファーを使用してナレーターが識別できる UI オートメーション要素を示します。
- カスタム フィルター: ボタン、チェックボックス、コンボ ボックス、グリッド、ハイパーリンク、リスト、メニュー、またはテーブルから任意に選択したコントロール サブセットでフィルター処理されたコントロール ツリーを表示します。
要素モード の設定を変更すると、視覚化の更新がトリガーされます。 多数の要素を含む UI の場合、完了までに数秒かかることがあります。
AccScope レイアウトの視覚化モードとして、ビジュアルまたはリストを選択できます。 ビジュアルは、要素をターゲット ウィンドウと同じリレーションシップの座標空間に配置します。 リストは、要素をAccScope ウィンドウ上に左揃えの降順リストとして並べます。リストの順序はタブ オーダーまたは読み取り順序と同じです。
- イメージ要素の単純な四角形を実際のイメージ (または、多くの場合、四角形は実際の画像よりも小さいため、その画像の小さなビューポート) に置き換えるタイミングを制御するには、[イメージの表示] からオプションを選択します。 既定値は [ホバー時] です。この場合、AccScope 内を移動して画像要素の四角形の上にマウス ポインターを置くと画像が表示されます。 その他の選択肢は、[常に] または [なし] です。
- AccScope 視覚化の要素の上にマウス ポインターをホバーさせると基本要素情報が表示されるようにするには、[ヒントの表示] を選択します。 要素モードがリーフ コントロールまたはテキスト パターンの場合、ヒントに表示される情報は、最も優先度の高い要素レベルの UI オートメーション プロパティです。 要素モードがナレーターの場合、ナレーターが要素に対して読み上げるテキストが情報に含まれます。
- コントロールのレンダリング順序をレイアウトに示すシーケンス番号を表示するには、[数値の表示] を選択します。 数値スキームは、要素モードの設定に基づいています。
- リーフ コントロール: 数値は、UI オートメーション ツリーにリーフ コントロールが表示される順序を示します。
- テキスト パターン: 数値は、文書範囲にテキスト範囲が表示される順序を示します。
- ナレーター: 数値は、ナレーターのアイテム ナビゲーションで要素を移動する順序を示します。
[ウィンドウ] というラベルの下には、システムで現在アクティブになっているすべての HWND ウィンドウが一覧表示されるドロップダウンがあります。 ドロップダウン リストに表示される各ウィンドウのテキストは、ウィンドウのタイトルと、角かっこで囲まれた 16 進数のウィンドウ ID です。 これらのいずれかを選択して、AccScope が報告対象とするターゲット ウィンドウを変更します。 同じ項目をもう一度選択することで、明示的な更新として同じ動作を行うこともできます。
次の図は、AccScope 視覚化のスクリーンショットです。 この特定のスクリーンショットは、同じコンピューター上でアプリとして実行されている XAML ユーザー補助サンプル出力の最上位ウィンドウを表示する AccScope ツールを示しています。 このスクリーンショットは、既定の要素モードであるリーフ コントロールと、レイアウトのビジュアル値を示しています。
視覚化では、アプリに表示されるおおよその座標空間内にコントロールが表されている点に注意してください。 ただし、XAML ビジュアルやテキスト コントロールの完全なテキストを表示する代わりに、UI オートメーションを使用して、すべてのコントロール要素から取得された Name プロパティ値が表示されます。
前に説明したメニュー オプションに加えて、次の手法を使用することもできます。
- ビジュアルまたはリストの視覚化で要素の四角形をクリックすると、UIA プロパティポップアップが表示されます。 これには、標準の IUIAutomationElement プロパティの一部や、ARIA 値やプロバイダーの説明などのその他の情報など、その要素の重要な UI オートメーション プロパティの一覧が表示されます。
- ビジュアルまたはリストの視覚化で要素の四角形を右クリックすると、要素がサポートするパターンを実行するためのコンテキスト メニューが表示されます。 たとえば、要素が InvokePattern をサポートしている場合、コンテキスト メニューには Invoke の項目が含まれます。 その項目を選択すると、対応するアプリで適切なパターン API が実行されます。 AccScope では、Invoke、ExpandCollapse、Toggle、SelectionItem、ScrollItemの各パターンでこの機能がサポートされています。
- [透明度] スライダーを調整して、[AccScope] ウィンドウの不透明度/透明度を変更します。 既定では、不透明度 100% として表示されます。 ウィンドウの一部を透明にすることは、[常に手前に表示]モードを使用しているときに AccScope UI を通してターゲット ウィンドウの部分が見えるようにする場合に役立ちます。
- 水平スクロール バーと垂直スクロール バーが表示されている場合は、それらを使用して視覚化のビューの中心を変更できます。 これは、ビジュアル レイアウト オプションを 使用しているが全画面表示ビュー オプションを使用していない場合で、AccScope ウィンドウをターゲット ウィンドウと比較して小さくしている場合に便利です。
ナレーター シナリオは、AccScope を使用する際にテストすべき最も重要な側面です。これは、基本的なナレーター項目ナビゲーションがアプリに適用されるときにどのように機能するかを視覚化するように特別に設計されています。
ナレーター シナリオをテストするには、次の AccScope 構成オプションを使用します。
- 要素モード: ナレーター
- レイアウト: ビジュアル
- レイアウト オプション: [ヒントの表示] と [数値の表示] の両方が選択されている
ナレーター シナリオをテストするアプリの特定の領域を次に示します。
- 要素の順序: ナレーターがコントロールを読み取る順序が、視覚化に表示される数値 (緑の円) に従い正確であることを確認します。 要素が読み取りに期待される順序にない場合は、アプリの UI 構造と結果の UI オートメーション ツリーを変更し、要素が読み取り順序であることを確認すまで再度テストします。
- 音声テキスト: 視覚化内でマウスを移動させ、各要素の四角形の上にマウス ポインターを合わせると、各要素のツール ヒントが表示されます。 ナレーター モードでは、ツール ヒントには、ナレーターが読み取るテキストそのものであるナレーター テキスト エントリが表示されます。 通常、このテキストは名前とコントロールの種類から構成されます。 UI の各コントロールについて、これが適切な情報であることを確認します。 情報が正しくない場合は、特定の UI フレームワークで有効になっている手法を使用して UI オートメーション プロパティを変更します。 (コントロールの種類が予期通りでない場合、これは UI フレームワークのコントロール実装によって排他的に制御されていることが多いため、別のコントロールを使用する必要がある場合があります。)その後、再度テストし、ナレーター テキストが正しいことを確認します。
- 要素のレイアウト: 次のケースをそれぞれ確認します。
- 冗長な要素がナレーターによって公開されていないことを確認します。 冗長な要素の例として、各 Windows ストア タイル項目の評価コントロールがあります。
- 重要な要素 (ユーザーがアプリの主要なタスクを実行するために必要な要素) がそれぞれナレーター項目ナビゲーションに表示されることを確認します。
- ビジュアルレイアウトを使用していて、コントロールが互いに重なっているために要素が見つからない場合は、リストレイアウトに切り替えて、ナレーターが報告するシーケンスを確認します。
- UI オートメーション ツリー構造全体が正確であり、アプリに対して予想される通りであることを確認します。