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

アクセシビリティ

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

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

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

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


非推奨

snapshot

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

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

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

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

使用方法

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

snapshot = page.accessibility.snapshot()
print(snapshot)

フォーカスされたノードの名前をログに記録する例

def find_focused_node(node):
if node.get("focused"):
return node
for child in (node.get("children") or []):
found_node = find_focused_node(child)
if found_node:
return found_node
return None

snapshot = page.accessibility.snapshot()
node = find_focused_node(snapshot)
if node:
print(node["name"])

引数

  • interesting_only bool (オプション)#

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

  • root ElementHandle (オプション)#

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

戻り値

  • NoneType | Dict#
    • role str

      ロール

    • name str

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

    • value str | float

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

    • description str

      ノードの追加の人間が読める説明(該当する場合)。

    • keyshortcuts str

      このノードに関連付けられたキーボードショートカット(該当する場合)。

    • roledescription str

      ロールの人間が読める代替(該当する場合)。

    • valuetext str

      現在の値の説明(該当する場合)。

    • disabled bool

      ノードが無効かどうか(該当する場合)。

    • expanded bool

      ノードが展開されているか折りたたまれているか(該当する場合)。

    • focused bool

      ノードがフォーカスされているかどうか(該当する場合)。

    • modal bool

      ノードがモーダルかどうか(該当する場合)。

    • multiline bool

      ノードのテキスト入力が複数行をサポートしているかどうか(該当する場合)。

    • multiselectable bool

      複数の子を選択できるかどうか(該当する場合)。

    • readonly bool

      ノードが読み取り専用かどうか(該当する場合)。

    • required bool

      ノードが必須かどうか(該当する場合)。

    • selected bool

      ノードが親ノードで選択されているかどうか(該当する場合)。

    • checked bool | "mixed"

      チェックボックスがチェックされているか、「mixed」かどうか(該当する場合)。

    • pressed bool | "mixed"

      トグルボタンがチェックされているか、「mixed」かどうか(該当する場合)。

    • level int

      見出しのレベル(該当する場合)。

    • valuemin float

      ノードの最小値(該当する場合)。

    • valuemax float

      ノードの最大値(該当する場合)。

    • autocomplete str

      コントロールでサポートされているオートコンプリートの種類(該当する場合)。

    • haspopup str

      ノードに現在表示されているポップアップの種類(該当する場合)。

    • invalid str

      このノードの値が無効であるかどうか、またどのように無効であるか(該当する場合)。

    • orientation str

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

    • children List[Dict]

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