File: class-accessibility.md | Updated: 11/18/2025
On this page
Deprecated
This class is deprecated. Please use other libraries such as Axe if you need to test page accessibility. See our Node.js guide for integration with Axe.
The Accessibility class provides methods for inspecting Chromium's accessibility tree. The accessibility tree is used by assistive technology such as screen readers or switches .
Accessibility is a very platform-specific thing. On different platforms, there are different screen readers that might have wildly different output.
Rendering engines of Chromium, Firefox and WebKit have a concept of "accessibility tree", which is then translated into different platform-specific APIs. Accessibility namespace gives access to this Accessibility Tree.
Most of the accessibility tree gets filtered out when converting from internal browser AX Tree to Platform-specific AX-Tree or by assistive technologies themselves. By default, Playwright tries to approximate this filtering, exposing only the "interesting" nodes of the tree.
Deprecated
Added before v1.9 accessibility.snapshot
Deprecated
This method is deprecated. Please use other libraries such as Axe if you need to test page accessibility. See our Node.js guide for integration with Axe.
Captures the current state of the accessibility tree. The returned object represents the root accessible node of the page.
note
The Chromium accessibility tree contains nodes that go unused on most platforms and by most screen readers. Playwright will discard them as well for an easier to process tree, unless interestingOnly
is set to false.
Usage
An example of dumping the entire accessibility tree:
const snapshot = await page.accessibility.snapshot();console.log(snapshot);
An example of logging the focused node's name:
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;}
Arguments
options Object
(optional)
interestingOnly boolean
(optional)#
Prune uninteresting nodes from the tree. Defaults to true.
root ElementHandle
(optional)#
The root DOM element for the snapshot. Defaults to the whole page.
Returns
role string
The role .
name string
A human readable name for the node.
The current value of the node, if applicable.
description string
An additional human readable description of the node, if applicable.
keyshortcuts string
Keyboard shortcuts associated with this node, if applicable.
roledescription string
A human readable alternative to the role, if applicable.
valuetext string
A description of the current value, if applicable.
disabled boolean
Whether the node is disabled, if applicable.
expanded boolean
Whether the node is expanded or collapsed, if applicable.
focused boolean
Whether the node is focused, if applicable.
modal boolean
Whether the node is modal , if applicable.
multiline boolean
Whether the node text input supports multiline, if applicable.
multiselectable boolean
Whether more than one child can be selected, if applicable.
readonly boolean
Whether the node is read only, if applicable.
required boolean
Whether the node is required, if applicable.
selected boolean
Whether the node is selected in its parent node, if applicable.
checked boolean
| "mixed"
Whether the checkbox is checked, or "mixed", if applicable.
pressed boolean
| "mixed"
Whether the toggle button is checked, or "mixed", if applicable.
level number
The level of a heading, if applicable.
valuemin number
The minimum value in a node, if applicable.
valuemax number
The maximum value in a node, if applicable.
autocomplete string
What kind of autocomplete is supported by a control, if applicable.
haspopup string
What kind of popup is currently being shown for a node, if applicable.
invalid string
Whether and in what way this node's value is invalid, if applicable.
orientation string
Whether the node is oriented horizontally or vertically, if applicable.
Child nodes, if any, if applicable.