HAUSE

PAGES MACHINES CANNOT READ

A person sees the argument.
A machine gets the shell.

Strip a page to its text. If the answer disappears, the page never had one — it had a rendering of one.

Why can't answer engines read my beautifully designed page?

Because the meaning lives in the interaction. Canvas coordinates, animation states and content revealed only on click are invisible to a crawler, an answer engine or an agent browser: they get the chrome and none of the argument. HAUSE treats legibility as part of the grammar — an answer-first block with a stable anchor, structured data projected from the same records the page renders, ARIA state on every instrument, and a text fallback that survives the interaction being removed.

01 / HOW YOU MEET IT

Strip the page to text, and it should still answer the question it was designed to answer.

The page ranks for nothing it is actually about, and an answer engine quotes someone's thin paragraph over your interactive explanation. The paragraph was legible. The explanation was a canvas. Both were about the same thing; only one of them said so in a way a machine could carry away.

02 / THE RESPONSE, IN YOUR HANDS

The meaning must survive the surface.

Explore the forms below. This is the response implemented in HAUSE.

ONE PAGE — THREE READERS

The same record, reaching three audiences that cannot read each other's surface.

the recordwhat the page actually holds

The question, the answer, the evidence and the provenance — held as data before anything is rendered. Everything below is a projection of it, which is the only arrangement in which the three surfaces cannot disagree.

the designed surfacea person

The forms: a Hero, a Statement, an instrument to operate. Beautiful, interactive, and — on its own — almost entirely opaque to anything that does not run JavaScript and look at pixels.

the text fallbacka crawler, a reader in a hurry

The plain sentence every instrument carries, and the answer-first block with its stable anchor. Not a courtesy for old browsers: this is the page's actual content, and the version most machines will ever see.

the structured graphan answer engine, an agent

JSON-LD and citation tags emitted from the same record — the machine-readable half of the same sentence, which is why it can never drift from the rendered one.

Strip the page to text and it should still answer the question it was designed to answer.

The same record, reaching three audiences that cannot read each other's surface.the record · the designed surface · the text fallback · the structured graph.

What is the travelling test for machine legibility?

Strip the page to its text and ask whether it still answers the question it was designed to answer. If the argument lived in a canvas, an animation or a click, the answer is no — and no amount of structured data added afterwards will fix it, because there is nothing underneath for the structured data to describe. The fallback is not a courtesy for old browsers. It is the page's actual content.

the library README — machine legibility as a design-system concern

THE SAME RECORD, SAID FOR PEOPLE AND FOR MACHINES

// The designed surface — a person reads this.
<Answer
  id="what-is-machine-legibility"
  question="What is machine legibility, in a design system?"
  answer="One lift-able paragraph, 40–100 words, with a stable anchor."
/>

// The same facts, in the graph — nothing retyped, so nothing can drift.
<JsonLd data={techArticleLd({ headline, description, url, siteUrl, siteName })} />
<JsonLd data={citationLd(record)} />

Both surfaces project from records the page already holds. A crawlable answer that was written separately is a second answer, and one of the two will be wrong.

03 / BENEATH THE SURFACE

Why the failure keeps returning.

Design systems stop at the visual layer, so legibility is delegated to something bolted on afterwards that can only describe the page from outside — a meta description guessing at what the page argues. Meanwhile the best version of the page is the one a person operates, which is precisely the version a machine cannot follow. Nothing forces the two to be the same page, so they drift apart in the direction of whichever audience the team can see.

TAKE THE RESPONSE WITH YOU

Give it a form.

Answer

The question asked the way people ask it, answered first — one lift-able paragraph beneath the editorial surface, addressable by anchor.

Excerpt

Someone else's words, typeset — verbatim source material with its markdown rendered and its trims marked.

Snippet

A labeled block of code or terminal output, verbatim on the ink — the on-ramp form, promoted when two sites needed the same shape.

Lens

One concept at several depths — the explanation, the object, the clause — on one URL, with the reader's depth remembered.

PUBLISHED 31 AUG 2026 · VERSION 1.0

CITE

site build 3ee5339 · built 2026-09-09

CITE THIS

Article · 1.0

Hay, C. (2026). Pages machines cannot read. In HAUSE — the problems (Version 1.0). hause.design. https://hause.design/problems/pages-machines-cannot-read

An argument is a published object: dated, versioned, and referenceable — which is the subject of one of these pages and the practice of all of them.