Dinoer

Why a screenshot is not enough

Three things a picture hides, one limit that text does not solve either, and why Dinoer returns no image at all.

A screenshot shows how a page looks. It does not say what each element is, where a link leads, or what the page contains without displaying it. Dinoer produces no image, in any mode, and reads that information as text instead.

One: what an element is, and where it goes

On a screenshot, a link and a button styled the same way look the same, and so do a disabled control and an enabled one when the design uses a pale grey.

The page knows the difference: link "Learn more" /url: https://… gives the role and the destination before anything is clicked. Looking at pixels does not recover that. The accessibility tree →

Two: what is in the page but not displayed

A <dialog> that has not been opened is in the document, and its buttons exist in the DOM. A collapsed menu holds its links; a hidden tab holds its content.

Reading text instead of pixels does not solve this. The accessibility tree only shows what is rendered: a closed <details> or <dialog> appears without its content, just as a screenshot would show nothing of it. To see what the document holds, read the DOM with evaluer (document.querySelectorAll(…)), as the reconnaissance scenario does.

Three: whether the target is still the target

A screenshot is a moment. Between that moment and the action, a banner can close, a dialog can open, a list can gain rows. Anything identified by its position in that moment has moved: the usual way an automated click lands on the wrong element while reporting success.

Dinoer names every element by a CSS selector, never by a position on an image. A selector can still match another element after the DOM changes, but the position-based failure is gone.

So what is there to look at

Nothing.

If you need to see the page as a person does, open it in a browser. Dinoer returns text meant for deciding what to read or do next, not something to look at.

In short

  • Roles and destinations have no visual form: that is the main reason to read structure rather than pixels.
  • Present in the document is not the same as displayed, in text or in an image; read the DOM when it matters.
  • Selectors name an element, not a position.
  • There is no picture, for the model or for you.