puppeteer/website/versioned_docs/version-22.0.0/api/puppeteer.accessibility.snapshot.md
release-please[bot] 9fbb9f9653
chore: release main (#11821)
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
2024-02-05 10:22:00 +00:00

1.5 KiB

sidebar_label
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:

class Accessibility {
  snapshot(options?: SnapshotOptions): Promise<SerializedAXNode | null>;
}

Parameters

Parameter Type Description
options SnapshotOptions (Optional)

Returns:

Promise<SerializedAXNode | null>

An AXNode object representing the snapshot.

Remarks

NOTE The Chrome 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;
}