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

Accessibility

非推奨

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

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

アクセシビリティは非常にプラットフォーム固有のものです。異なるプラットフォームでは、出力が大きく異なる可能性のあるさまざまなスクリーンリーダーがあります。

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

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


非推奨

スナップショット

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]

      該当する場合、子ノードがある場合。