---
title: "Experience or findable: the choice you think you are making"
url: "https://leal.st/articles/experience-or-findable"
answer: "You can build a site a machine cannot read and still tell it what the screen shows. Leal built both extremes in one month: leal.st serves all 13 project names as plain HTML, and freitag.agency, a WebGL dome with no pages, still names five of six client brands, inside the canvas label."
author: "Leonardo Leal"
publisher: "Leal"
published: "2026-08-12T06:30:00.000Z"
modified: "2026-08-12T06:30:00.000Z"
language: "en"
topic: "Engineering"
---
# Experience or findable: the choice you think you are making
You can build a site a machine cannot read and still tell it what the screen shows. Leal built both extremes in one month: leal.st serves all 13 project names as plain HTML, and freitag.agency, a WebGL dome with no pages, still names five of six client brands, inside the canvas label.
## In short

- Experience and findability are not opposite ends of one dial. Most of the time you can have both, and the cost is a few lines of markup.
- HTML describes a grid for free. A canvas, a video or a map describe nothing, so the description moves from the markup to you.
- A WebGL scene can carry role="img" and a label that names what is inside it. That is not a concession on the design, it is a description of it.
- The form should follow how people arrive. Search traffic wants something scannable; an audience that arrives by a direct link frees the form to argue.
- Fetch your own home page with a plain HTTP request. The browser runs JavaScript and flatters you; the raw response does not.

There is a choice designers believe they are making: an experience, or a site that can be found. Pick the dome and you give up search. Pick the grid and you give up the idea.

It is almost never that choice.

## What a machine actually reads

Leal built both extremes in the same month, which is a rare position to write from.

leal.st is built so a crawler that does not run JavaScript reads everything. Fetch the raw HTML of the work index and all 13 project names are in it. That is the point of the site.

freitag.agency is the opposite by construction. The portfolio is a WebGL dome: no grid, no pages, not a single internal link. A crawler should read nothing.

It reads five of the six client brands.

## Because the site says what the screen is showing

The dome is a canvas. Pixels. Unreadable by definition, and no amount of good intention changes that. So the site declares it instead:

The canvas carries role="img" and an aria-label that names the projects inside the scene and explains how to open one. The brand line, which on screen is a 3D object, also exists as a screen-reader-only heading in the markup.

Two lines of HTML. Not a compromise on the experience, and not a concession made afterwards: a description of what the thing is, written for whoever cannot see it.

## The principle underneath

A grid is legible to a machine because HTML already describes it. Headings are headings, links are links, and the meaning comes free with the markup.

A canvas describes nothing. Neither does a video, a map, or an animation. When you build one, the description does not disappear. It moves: from the markup to you.

So the real question is not experience or findability. It is whether you are willing to write down what the screen is showing when the screen stops explaining itself.

## When each form is right

The dome works for FREITAG because their audience arrives by a link the agency sends. Nobody searches for that site. The form is free to argue.

The grid works for leal.st because its audience arrives by searching, and a grid is built to be scanned and compared. Choosing a dome there would be paying for an argument nobody asked for with the discovery that pays the bills.

Both are right, and neither is right because of the form. They are right because they match how someone arrives.

## What to check on your own site

Fetch your home page with a plain HTTP request and read what comes back. Not in the browser, which runs JavaScript and flatters you: the raw response.

If what matters is there, the form is free. If it is not, the question is whether you can declare it. Usually you can, and in fewer lines than the argument you are having about it.
## What we measured

- **Project names present in the raw HTML of leal.st/work, with no JavaScript**: 13 of 13. Fetched the raw HTML of each page with a plain HTTP request, without executing JavaScript, and searched the response for the project and client names. On freitag.agency the names appear inside the aria-label of the canvas element and in a screen-reader-only heading. (2026-08-12)
- **Client brands named in the raw HTML of freitag.agency, a site whose portfolio is a WebGL scene with no internal links**: 5 of 6. Fetched the raw HTML of each page with a plain HTTP request, without executing JavaScript, and searched the response for the project and client names. On freitag.agency the names appear inside the aria-label of the canvas element and in a screen-reader-only heading. (2026-08-12)

## Questions

### Does an aria-label make a WebGL site accessible?

It makes the scene describable, which is the part the markup cannot do on its own. It does not make the scene operable: navigation, focus order and keyboard control are separate work, and a site that can only be flown through with a mouse is still closed to a lot of people.

### Will Google index a site like that?

It will index what it can read. A label on a canvas is text in the HTML, so it counts. What such a site gives up is the dense internal linking that search engines use to understand structure, and that is a real cost, not a rounding error.

### How do I know which form my site needs?

Look at how people arrive today. If most of them come from search, the site is a tool for being compared and should be easy to scan. If most arrive by a link you send, the form is free to make an argument.

## Sources

- [The canvas element: fallback content and accessibility](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_usage) — MDN Web Docs

---
Published by Leal (LEAL DESIGN OFFICE LTDA.), Curitiba, Brazil. Canonical version: https://leal.st/articles/experience-or-findable