zshot/cliDownload

AXTree

LicenseStandard

The axtree output is a compact browser accessibility-tree for the page. Every node gets a reference (@e1, @e2, …) with its browser role, accessible name, and important HTML attributes.

Run locally
zshot -f - \
  --output-type axtree \
  https://zshot-cli.com/example_assets/gazette/

You can request an AXTree alongside a render by using the --axtree flag.

Example output:

Page: The ZShot Gazette
URL: https://zshot-cli.com/example_assets/gazette/

@e1 [banner]
  @e2 [StaticText] "DAILY EDITION · NO. 1"
  @e3 [StaticText] "THURSDAY, JUNE 18, 2026"
  @e4 [StaticText] "PRICE: ONE (1) FREE LICENSE"
  @e5 [heading] "The ZShot Gazette" [level=1]
  @e6 [paragraph]
    @e7 [StaticText] "All The Markup That's Fit To Render · zshot-cli.com"
  @e8 [navigation] "Sections"
    @e9 [link] "SPORTS" href="#"
    @e10 [link] "WEATHER" href="#"
    @e11 [link] "LIFESTYLE" href="#"
    @e12 [link] "FOOD" href="#"
    @e13 [link] "TECHNOLOGY" href="#"
    @e14 [link] "POLITICS" href="#"
@e15 [main]
  @e16 [article]
    @e17 [paragraph]
      @e18 [StaticText] "POLITICS"
    @e19 [heading] "Mayor Blamed For Bandwidth Deficit" [level=2]
      @e20 [link] "Mayor Blamed For Bandwidth Deficit" href="#"
      ....MORE....

Each line is @eN [role] "name" attr="value" [state]:

  • @eN — a unique element reference.
  • [role] — the browser role of the element.
  • "name" — the accessible name.
  • attr="value" — selected HTML attributes: type, name, placeholder, href, alt, title.
  • [state] — element state when present: level, checked, expanded, selected, disabled, required.

Elements that are interactable through CSS or handlers but absent from the accessibility tree (cursor-interactive divs, contenteditable, tabindex) are surfaced with a clickable/editable/focusable marker. An element marked draggable="true" is surfaced with draggable and, when unnamed, named by its text.

JSON

axtree_json produces a more expansive tree of nodes carrying additional information about the state of the page.

Run locally
zshot -f - \
  --output-type axtree_json \
  https://zshot-cli.com/example_assets/gazette/

Example output:

{
  "page_title": "The ZShot Gazette",
  "url": "https://zshot-cli.com/example_assets/gazette/",
  "roots": [
    {
      "ref": "e1",
      "role": "banner",
      "backendDOMNodeId": 22,
      "bounds": {
        "x": 360,
        "y": 0,
        "width": 1200,
        "height": 214
      },
      "children": [
        {
          "ref": "e2",
          "role": "StaticText",
          "name": "DAILY EDITION · NO. 1",
          "backendDOMNodeId": 106,
...MORE...

The navigator uses the text AXTree format when providing page information to underlying LLMs.