Diwall

English
Download 1.24.4

Perception

What a language model actually perceives of a web page, and why a screenshot alone is not enough. General knowledge — useful even if you never install anything.

A language model does not see a web page. It receives a description of one, and the shape of that description decides what it can do next.

Give it a screenshot and it gets pixels: it can tell you the page looks wrong, but it cannot act on anything, because nothing in an image is addressable. Give it the raw HTML and it gets everything at once — including the hundreds of lines of markup no human eye would ever have registered.

Neither is what it needs.

Three views, and where they disagree

Diwall renders the same page three ways. The capture shows what a person sees. The Set-of-Mark outlines every interactive element and numbers it, so that clicking becomes {"type": "cliquer_som", "id": 3} rather than a CSS selector guessed from a description. The accessibility tree is the structure the browser builds for screen readers — titles, roles, links, as text, at a fraction of the token cost of an image.

The places where the three disagree are where the interesting bugs live.

The measurement that made this section necessary

The pivot page of this section proved its own point against its author. The language menu is a native <details> element, and it was closed. A person sees one button. The accessibility tree reports a group.

Diwall numbered four interactive elements carrying no text at all — four entries reading {"id": 10, "texte": ""} — because the items inside the closed menu were still in the DOM, and still measurable. Useless to an agent, invisible to a human, and found only because the tool was pointed at our own page.

One line of CSS fixed the page. The lesson needed no fixing: what a model perceives is the honest answer to the question the page asks, not the answer the page meant to give.

Reproduce it

The figures in this section come from this command, run against pages you can open yourself. Nothing is staged.

diwall-shot --url https://diwall.davalan.fr/ --som --a11y --guide-version 1.3

In detail