メインコンテンツへスキップ

Accessibility

Accessibilityクラスは、Chromiumのアクセシビリティツリーを検査するためのメソッドを提供します。アクセシビリティツリーは、スクリーンリーダースイッチなどの支援技術で使用されます。

アクセシビリティはプラットフォームに非常に依存するものです。プラットフォームが異なれば、出力が大きく異なる可能性のある異なるスクリーンリーダーが存在します。

Chromium、Firefox、およびWebKitのレンダリングエンジンには、「アクセシビリティツリー」の概念があり、それがさまざまなプラットフォーム固有のAPIに変換されます。Accessibility名前空間は、このアクセシビリティツリーへのアクセスを提供します。

アクセシビリティツリーのほとんどは、内部ブラウザAXツリーからプラットフォーム固有のAXツリーへの変換時、または支援技術自体によってフィルタリングされます。デフォルトでは、Playwrightはこのフィルタリングを近似的に行い、ツリーの「興味深い」ノードのみを公開します。


非推奨

snapshot

v1.9より前に追加 accessibility.snapshot
非推奨

このメソッドは非推奨です。ページのアクセシビリティをテストする必要がある場合は、Axeなどの他のライブラリを使用してください。Axeとの統合については、Node.jsのガイドを参照してください。

アクセシビリティツリーの現在の状態をキャプチャします。返されるオブジェクトは、ページのルートアクセス可能ノードを表します。

Chromiumアクセシビリティツリーには、ほとんどのプラットフォームやほとんどのスクリーンリーダーで使用されないノードが含まれています。Playwrightは、処理しやすいツリーのために、interestingOnlyfalseに設定されていない限り、それらも破棄します。

使用方法

アクセシビリティツリー全体をダンプする例

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 オブジェクト (オプション)
    • interestingOnly 真偽値 (オプション)#

      ツリーから興味のないノードを削除します。デフォルトはtrueです。

    • root ElementHandle (オプション)#

      スナップショットのルートDOM要素。デフォルトはページ全体です。

戻り値

  • Promise<null | オブジェクト>#
    • role string

      ロール

    • name string

      ノードの人間が読める名前。

    • value string | number

      ノードの現在の値(該当する場合)。

    • 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

      ノードが水平方向または垂直方向に配置されているかどうか(該当する場合)。

    • children Array<オブジェクト>

      子ノード(該当する場合)。