Accessibility
Accessibilityクラスは、Chromiumのアクセシビリティツリーを検査するためのメソッドを提供します。アクセシビリティツリーは、スクリーンリーダーやスイッチなどの支援技術で使用されます。
アクセシビリティはプラットフォームに非常に依存するものです。プラットフォームが異なれば、出力が大きく異なる可能性のある異なるスクリーンリーダーが存在します。
Chromium、Firefox、およびWebKitのレンダリングエンジンには、「アクセシビリティツリー」の概念があり、それがさまざまなプラットフォーム固有のAPIに変換されます。Accessibility名前空間は、このアクセシビリティツリーへのアクセスを提供します。
アクセシビリティツリーのほとんどは、内部ブラウザAXツリーからプラットフォーム固有のAXツリーへの変換時、または支援技術自体によってフィルタリングされます。デフォルトでは、Playwrightはこのフィルタリングを近似的に行い、ツリーの「興味深い」ノードのみを公開します。
非推奨
snapshot
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
オブジェクト (オプション)-
ツリーから興味のないノードを削除します。デフォルトは
true
です。 -
root
ElementHandle (オプション)#スナップショットのルートDOM要素。デフォルトはページ全体です。
-
戻り値
- Promise<null | オブジェクト>#
-
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ノードが水平方向または垂直方向に配置されているかどうか(該当する場合)。
-
子ノード(該当する場合)。
-