The accessibility tree
The page as text, built by the browser itself for screen readers. For many tasks it is the only view Dinoer needs to return.
Alongside the page it displays, every browser builds a tree of roles and names for assistive technologies. A screen reader uses it to say “button, Sign in” instead of describing pixels.
Dinoer does not invent this tree: it is already there, on every page. It is the main way Dinoer reads a page.
What it looks like
/opt/dinoer/venv/bin/python3 /opt/dinoer/shot.py \
--url https://example.com --a11y --guide-version 1.6
- heading "Example Domain" [level=1]
- paragraph: This domain is for use in documentation examples without needing permission. Avoid use in operations.
- paragraph:
- link "Learn more":
- /url: https://iana.org/domains/example
--a11y returns this tree. Chromium loads and lays out the page, but no image
is produced, and there is no faster mode to switch on: this is simply how
Dinoer reads a page.
What it carries that raw HTML buries
Roles. heading [level=1], link, and on a form, textbox, combobox,
button. Not “a rectangle with rounded corners”, but what the element
is.
Destinations. link "Learn more" followed by /url:: where the link
goes, before anyone clicks.
Structure. What sits inside what, without the hundreds of layout <div>
elements that the eye ignores and a token budget cannot.
It is often enough on its own
The tree is enough for a whole class of work: finding a text or a heading,
following links (every href is there), checking that an element is present,
understanding how a page is organised. extraire_texte takes over when the
structure no longer matters and only the text does.
The two views side by side →
A canvas or a clickable image without an accessible label gives the tree nothing to show, and Dinoer has nothing to fall back on. What perception does not reach →
Why this matters beyond Dinoer
The same markup (real buttons, real headings, labelled fields) builds a tree
that a screen reader and an agent can both use, and gives search engines the
same structure. A page whose buttons are styled <div> elements is opaque to
all of them at once. Whoever writes the page decides whether that structure
exists.
In short
- The browser builds this tree on every page, for assistive technologies.
- It carries roles, destinations and structure, as text.
--a11yreturns it; no image is ever produced.- Without an accessible representation there is no fallback: use
extraire_textefor prose, and accept the limit where neither helps.