Method
Python owns the data — it fetches the upstream files, derives the collections and validates them. Astro owns presentation and nothing else. Every collection can be rebuilt from its sources with one command, and the sources are named on every page.
A collection is reproduced, not authored. The rows come from the ARIA Authoring Practices, WCAG 2.2, EN 301 549, the Unicode Character Database, the IANA registries and eight public design-system repositories. What the Institute adds is the framing, and — where two sources are put side by side — the join itself, which is always declared.
Every page states its limits. Not in a footnote: in a box you cannot miss. The component census reports a ceiling rather than a count, because normalising eight naming conventions is imperfect and always will be. The conventions audit does not measure adoption at all, because an earlier version tried to and produced a number it could not support — a design system shipping a Button is not evidence that red means destructive. That column was removed rather than dressed up.
Failures get recorded. The data pipeline has its own audit, and the four defects it has found so far are written down: a fetch loop that swallowed its errors and reported 26 of 30 as a result; a parser that stopped at nested sections and undercounted ten keyboard bindings; a measurement that answered a different question from the one asked; and a normaliser that counted the same component twice. Every one of them was silent. Nothing threw.
The collections
10| Collection | Kind | Source | Rows |
|---|---|---|---|
| The lag | derived · two datasets joined | W3C ARIA Authoring Practices × web-features (Baseline) | 30 patterns |
| The pattern register | reproduced | W3C ARIA Authoring Practices Guide | 30 patterns |
| The keyboard grammar | derived | ARIA Authoring Practices, keyboard interaction sections | 27 keys |
| WCAG 2.2 | reproduced | W3C WCAG 2.2 Recommendation | 87 criteria |
| What the law requires | reproduced + hand-built | ETSI EN 301 549 V3.2.1; national legal instruments | 10 chapters · 8 instruments |
| The role taxonomy | reproduced | W3C WAI-ARIA specification | 102 roles |
| The component census | derived | public design-system repositories | 8 systems · 391 components |
| Standardised nowhere | derived · audited | measured against this site’s own collections | 24 conventions |
| Where text breaks | reproduced | Unicode Character Database, LineBreak.txt (UAX #14) | 49 classes · 217,414 characters |
| The error vocabulary | reproduced | IANA HTTP Status Code Registry; RFC Editor index | 62 codes |