puppeteer/new-docs/puppeteer.accessibility.snapshot.md
Jack Franklin 0b3d52a70e
feat(new-docs): add TSDoc comments to Accessibility (#5971)
* feat(new-docs): add tsdoc to `Accessibility`
2020-06-05 15:20:11 +01:00

1.6 KiB

Home > puppeteer > Accessibility > snapshot

Accessibility.snapshot() method

Captures the current state of the accessibility tree. The returned object represents the root accessible node of the page.

Signature:

snapshot(options?: SnapshotOptions): Promise<SerializedAXNode>;

Parameters

Parameter Type Description
options SnapshotOptions

Returns:

Promise<SerializedAXNode>

An AXNode object represeting the snapshot.

Remarks

**NOTE** The Chromium accessibility tree contains nodes that go unused on most platforms and by most screen readers. Puppeteer will discard them as well for an easier to process tree, unless interestingOnly is set to false.

Example 1

An example of dumping the entire accessibility tree:

const snapshot = await page.accessibility.snapshot();
console.log(snapshot);

Example 2

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);
    return foundNode;
  }
  return null;
}