Reference
Design system
Every ratio was computed with tools/a11y/contrast.py, not eyeballed. This page is
noindex: it documents the template for whoever builds with it.
The drawing and its list are one array
Each camera position renders twice — as a marker in the SVG and as a row in the ordered
list — from a single entry in plan.positions. A test asserts the marker count
equals the row count, so the plan cannot end up describing a different shoot from the text
beside it.
The plan is aria-hidden on purpose
The list is the full text equivalent: every position gives its room, focal length, what it captures and why that corner. Announcing the drawing as well would mean hearing eight unlabelled circles before the sentences that explain them.
The headline is checked against the data
"Twenty-four millimetres, not fourteen" is only honest if nothing on the page is wider. A test reads every focal length out of the position list, asserts the widest is 20mm or longer, and asserts 14mm appears only in the row that refuses it.
Type
Sorts Mill Goudy — display
Roboto Mono — 24mm · 1.4m · pos 03
Position numbers appear inside the drawing and again down the list, so they have to be the same width in both. Neither face appears in days 1–96.