Accessibility
Accessibility 類別提供檢查 Chromium 無障礙功能樹狀結構的方法。無障礙功能樹狀結構被輔助技術使用,例如 螢幕閱讀器 或 切換控制。
無障礙功能是非常平台特定的東西。在不同的平台上,可能有不同的螢幕閱讀器,它們可能有截然不同的輸出。
Chromium、Firefox 和 WebKit 的渲染引擎具有「無障礙功能樹狀結構」的概念,然後將其轉換為不同的平台特定 API。Accessibility 命名空間提供對此無障礙功能樹狀結構的存取權。
當從內部瀏覽器 AX 樹狀結構轉換為平台特定 AX 樹狀結構或由輔助技術本身轉換時,大部分無障礙功能樹狀結構都會被過濾掉。預設情況下,Playwright 嘗試近似這種過濾,僅公開樹狀結構中「有趣」的節點。
已棄用
snapshot
在 v1.9 之前新增擷取無障礙功能樹狀結構的目前狀態。傳回的物件代表頁面的根可存取節點。
Chromium 無障礙功能樹狀結構包含在大多數平台和大多數螢幕閱讀器上未使用的節點。Playwright 也會捨棄它們以獲得更易於處理的樹狀結構,除非將 interestingOnly 設定為 false
。
用法
傾印整個無障礙功能樹狀結構的範例
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
物件 (選填)-
從樹狀結構中修剪不有趣的節點。預設為
true
。 -
root
ElementHandle (選填)#快照的根 DOM 元素。預設為整個頁面。
-
傳回
- Promise<null | 物件>#
-
role
字串角色。
-
name
字串節點的人類可讀名稱。
-
節點的目前值(如果適用)。
-
description
字串節點的其他人類可讀描述(如果適用)。
-
keyshortcuts
字串與此節點關聯的鍵盤快捷鍵(如果適用)。
-
roledescription
字串角色的另一種人類可讀替代方案(如果適用)。
-
valuetext
字串目前值的描述(如果適用)。
-
disabled
布林值節點是否已停用(如果適用)。
-
expanded
布林值節點是否已展開或摺疊(如果適用)。
-
focused
布林值節點是否已聚焦(如果適用)。
-
modal
布林值節點是否為強制回應(如果適用)。
-
multiline
布林值節點文字輸入是否支援多行(如果適用)。
-
multiselectable
布林值是否可以選取多個子項(如果適用)。
-
readonly
布林值節點是否為唯讀(如果適用)。
-
required
布林值節點是否為必要(如果適用)。
-
selected
布林值節點是否在其父節點中被選取(如果適用)。
-
checked
布林值 | "mixed"核取方塊是否已核取,或為「混合」(如果適用)。
-
pressed
布林值 | "mixed"切換按鈕是否已核取,或為「混合」(如果適用)。
-
level
數字標題的層級(如果適用)。
-
valuemin
數字節點中的最小值(如果適用)。
-
valuemax
數字節點中的最大值(如果適用)。
-
autocomplete
字串控制項支援哪種自動完成功能(如果適用)。
-
haspopup
字串目前為節點顯示哪種快顯視窗(如果適用)。
-
invalid
字串此節點的值是否以及以何種方式無效(如果適用)。
-
orientation
字串節點是水平還是垂直方向(如果適用)。
-
子節點(如果有的話,如果適用)。
-