跳到主要内容

Accessibility

Accessibility 类提供了检查 Chromium 可访问性树的方法。可访问性树供辅助技术使用,例如屏幕阅读器开关

可访问性是非常特定于平台的功能。在不同的平台上,有不同的屏幕阅读器,它们的输出可能会有很大差异。

Chromium、Firefox 和 WebKit 的渲染引擎都有“可访问性树”的概念,该概念随后被转换为不同的平台特定 API。Accessibility 命名空间提供了对此可访问性树的访问。

可访问性树的大部分在从内部浏览器 AX 树转换为平台特定 AX 树时或由辅助技术本身过滤掉了。默认情况下,Playwright 尝试近似此过滤,仅公开树中“有趣”的节点。


已废弃

snapshot

在 v1.9 之前添加 accessibility.snapshot
已废弃

此方法已废弃。如果您需要测试页面的可访问性,请使用其他库,例如 Axe。请参阅我们的 Node.js 指南以了解与 Axe 的集成。

捕获可访问性树的当前状态。返回的对象表示页面的根可访问节点。

注意

Chromium 可访问性树包含在大多数平台和大多数屏幕阅读器上未使用的节点。除非 interesting_only 设置为 false,否则 Playwright 也会丢弃这些节点,以获得更易于处理的树。

用法

转储整个可访问性树的示例

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]

      子节点(如果适用)。