Accessibility
Accessibility 类提供了检查 Chromium 无障碍访问树的方法。无障碍访问树被辅助技术如屏幕阅读器或切换设备所使用。
无障碍访问是一个高度依赖平台的特性。在不同的平台上,不同的屏幕阅读器可能会产生截然不同的输出。
Chromium、Firefox 和 WebKit 的渲染引擎都有一个"无障碍访问树"的概念,这个树会被转换为不同平台特定的 API。Accessibility 命名空间提供了对这个无障碍访问树的访问权限。
大部分无障碍访问树在从内部浏览器 AX 树转换为平台特定的 AX 树时,或者被辅助技术本身过滤掉了。默认情况下,Playwright 会尝试近似这种过滤,只暴露树中"有意义"的节点。
已弃用
快照
v1.9 之前版本添加捕获当前无障碍访问树的状态。返回的对象表示页面的根无障碍节点。
:::注意
Chromium 的无障碍访问树包含大多数平台和屏幕阅读器未使用的节点。除非将 interestingOnly 设为 false,否则 Playwright 会丢弃这些节点以简化处理树。
:::
用法
转储整个无障碍访问树的示例:
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;
}
参数
optionsObject (可选)-
从树中移除无趣节点。默认为
true。 -
rootElementHandle (可选)#快照的根 DOM 元素。默认为整个页面。
-
返回值
- Promise<null | Object>#
-
rolestring节点的 角色。
-
namestring节点的人类可读名称。
-
节点的当前值(如适用)。
-
descriptionstring节点的人类可读附加描述(如适用)。
-
keyshortcutsstring与此节点关联的键盘快捷键(如适用)。
-
roledescriptionstring角色的人类可读替代文本(如适用)。
-
valuetextstring当前值的描述(如适用)。
-
disabledboolean节点是否被禁用(如适用)。
-
expandedboolean节点是否展开或折叠(如适用)。
-
focusedboolean节点是否获得焦点(如适用)。
-
modalboolean节点是否为 模态框(如适用)。
-
multilineboolean节点文本输入是否支持多行(如适用)。
-
multiselectableboolean是否可选择多个子节点(如适用)。
-
readonlyboolean节点是否为只读(如适用)。
-
requiredboolean节点是否为必填项(如适用)。
-
selectedboolean节点是否在其父节点中被选中(如适用)。
-
checkedboolean | "mixed"复选框是否被选中或处于"混合"状态(如适用)。
-
pressedboolean | "mixed"切换按钮是否被按下或处于"混合"状态(如适用)。
-
levelnumber标题级别(如适用)。
-
valueminnumber节点的最小值(如适用)。
-
valuemaxnumber节点的最大值(如适用)。
-
autocompletestring控件支持的自动完成类型(如适用)。
-
haspopupstring当前为节点显示的弹出框类型(如适用)。
-
invalidstring节点值是否无效及无效类型(如适用)。
-
orientationstring节点是水平还是垂直方向(如适用)。
-
子节点(如有且适用)。
-