Colophon
How it is built
Static HTML generated with Astro from Markdown and YAML files. No runtime server, no database, no third-party scripts, font services, or analytics. React is used for exactly one thing: the climb, the original 3D experience, which loads only when you ask for it.
Type
Two typefaces, both free software under the SIL Open Font License 1.1, served from this site as Latin subsets with no font service in between. The display face (the name, titles, and headings) is Fraunces by Undercase Type. The text face is IBM Plex Sans by IBM, carried here under the name KT Sans because the licence reserves the name Plex for the unmodified font. The licence texts ship beside the font files in the source repository.
How it is tested
Every change runs schema validation, a public and private boundary check, an em dash check, a provenance check, HTML validation, Playwright tests for structure, keyboard use, headers, and security, axe accessibility rules, and Lighthouse budgets.
Accessibility statement
The target is WCAG 2.2 level AA on every page of this site, in the light and the dark palette, from 320 pixels wide upward. Every page has a skip link, one level-one heading with the rest in order, landmarks, a visible focus ring, targets of at least 24 pixels (44 on primary actions), text that reflows down to 320 pixels (a laptop at 200 percent zoom) and can be spaced without loss, reduced motion honored, and no content that moves or plays on its own outside the climb, which you open yourself and can leave with its skip control.
How it is checked
- axe-core (WCAG 2.2 A and AA rules and best practices) on every template in both palettes, and Lighthouse accessibility, on every change; zero violations is the gate.
- A keyboard walk of every template on every change: focus order, focus visibility, nothing under the sticky header, no traps, the disclosure menu and the players.
- Before each accessibility phase closes, a manual pass per template (keyboard, zoom, text spacing, reading order with styles off, the accessibility tree) and a screen-reader pass with NVDA on Windows, recorded in the project's planning notes and signed by the site owner.
Known limitations
- The climb, the original 3D experience, needs WebGL and loads only when you ask for it. Once open, the scene animates and its silent background plates loop until you skip it; it has a skip control that returns you to the page, honors reduced motion (plates paused, text solid), and carries its content in text as well, but the scene itself is visual.
- Video and audio are native players with the browser's own controls; the one published recording has no speech and therefore no captions.
- The relationship map on the graph page is an optional drawing behind a disclosure; the list above it carries the same information.
Feedback
If something does not work for you, email the address on the contact pageand say which page and what happened; a fix is a change to this site's source, tested like every other. This statement was last reviewed on .
Version 1
The first version of this site is preserved unchanged at v1.khaylub.com and as the climb. Its story is in the case study.