アクセシビリティ
Accessibilityクラスは、Chromiumのアクセシビリティツリーを検査するためのメソッドを提供します。アクセシビリティツリーは、スクリーンリーダーやスイッチなどの支援技術によって使用されます。
アクセシビリティは非常にプラットフォーム固有のものです。異なるプラットフォームでは、出力が大きく異なる可能性のあるさまざまなスクリーンリーダーが存在します。
Chromium、Firefox、WebKitのレンダリングエンジンには、「アクセシビリティツリー」の概念があり、これはその後、異なるプラットフォーム固有のAPIに変換されます。Accessibility名前空間は、このアクセシビリティツリーへのアクセスを提供します。
アクセシビリティツリーのほとんどは、内部ブラウザのAXツリーからプラットフォーム固有のAXツリーへの変換時、または支援技術自体によってフィルタリングされます。Playwrightはデフォルトでこのフィルタリングを近似しようと試み、ツリーの「興味深い」ノードのみを公開します。
非推奨
スナップショット
v1.9より前に追加アクセシビリティツリーの現在の状態をキャプチャします。返されるオブジェクトは、ページのルートアクセシブルノードを表します。
Chromiumのアクセシビリティツリーには、ほとんどのプラットフォームやほとんどのスクリーンリーダーで未使用となるノードが含まれています。Playwrightは、interestingOnlyがfalse
に設定されていない限り、処理しやすいツリーにするためにそれらも破棄します。
使用方法
アクセシビリティツリー全体をダンプする例
const snapshot = await page.accessibility.snapshot();
console.log(snapshot);
フォーカスされたノードの名前をログ出力する例
const snapshot = await page.accessibility.snapshot();
const node = findFocusedNode(snapshot);
console.log(node && node.name);
function findFocusedNode(node) {
if (node.focused)
return node;
for (const child of node.children || []) {
const foundNode = findFocusedNode(child);
if (foundNode)
return foundNode;
}
return null;
}
引数
options
Object (オプション)-
interestingOnly
boolean (オプション)#ツリーから興味のないノードを削除します。デフォルトは
true
です。 -
root
ElementHandle (オプション)#スナップショットのルートDOM要素。デフォルトはページ全体です。
-
戻り値
- Promise<null | Object>#
-
role
stringこのロールです。
-
name
stringノードの人間が読める名前。
-
該当する場合、ノードの現在の値。
-
description
string該当する場合、ノードの追加的な人間が読める説明。
-
keyshortcuts
string該当する場合、このノードに関連付けられたキーボードショートカット。
-
roledescription
string該当する場合、ロールの人間が読める代替説明。
-
valuetext
string該当する場合、現在の値の説明。
-
disabled
boolean該当する場合、ノードが無効になっているかどうか。
-
expanded
boolean該当する場合、ノードが展開されているか折りたたまれているか。
-
focused
boolean該当する場合、ノードがフォーカスされているかどうか。
-
modal
boolean該当する場合、ノードがモーダルであるかどうか。
-
multiline
boolean該当する場合、ノードのテキスト入力が複数行をサポートしているかどうか。
-
multiselectable
boolean該当する場合、複数の子が選択可能かどうか。
-
readonly
boolean該当する場合、ノードが読み取り専用であるかどうか。
-
required
boolean該当する場合、ノードが必須であるかどうか。
-
selected
boolean該当する場合、ノードがその親ノードで選択されているかどうか。
-
checked
boolean | "mixed"該当する場合、チェックボックスがチェックされているか、「mixed」状態であるかどうか。
-
pressed
boolean | "mixed"該当する場合、トグルボタンがチェックされているか、「mixed」状態であるかどうか。
-
level
number該当する場合、見出しのレベル。
-
valuemin
number該当する場合、ノードの最小値。
-
valuemax
number該当する場合、ノードの最大値。
-
autocomplete
string該当する場合、コントロールがサポートするオートコンプリートの種類。
-
haspopup
string該当する場合、ノードに対して現在表示されているポップアップの種類。
-
invalid
string該当する場合、このノードの値が無効であるかどうか、またその方法。
-
orientation
string該当する場合、ノードが水平方向か垂直方向に配置されているかどうか。
-
該当する場合、子ノード(存在する場合)。
-