Collections
26A collection is a body of evidence that already exists in public, structured form — a standards document, a registry, a repository — reproduced whole with the source named and nothing invented. Every collection states what it cannot tell you. Each picture below is drawn from that collection's own rows.
derived The lag 30 patterns Twelve of thirty patterns have no native primitive at all. The menu button got one in January 2025; the accordion in September 2024; the dialog in 2022, for a pattern that shipped in 1984. The switch, on every phone since 2007, still has none. Each dot a pattern, at the year its native primitive reached browsers; rings have no date yet reproduced The pattern register 30 patterns Twenty-three of thirty specify keyboard interaction. The seven that do not are mostly static structures — a breadcrumb is a list of links, and needs no keys of its own. Each dot a pattern, by keyboard interaction: darkest keyboard specified · mid no keys derived The keyboard grammar 27 keys Arrow Down, Arrow Up and Enter are each bound by thirteen patterns; Home and End by eleven. Space and Enter do not activate the same things, which is where the confusion comes from — the specification itself is inconsistent. Each bar a key, by how many patterns bind it reproduced WCAG 2.2 87 criteria Nine criteria were added in 2.2, and they are overwhelmingly about touch: dragging movements, target size, and three about whether focus can be seen. A standard catching up with an input shift that happened in 2007. Each dot a success criterion, by level: darkest A · mid AAA · light AA reproduced + hand-built What the law requires 10 chapters · 8 instruments European accessibility law is not WCAG. WCAG is clause 9 of thirteen; there are more requirements for native software than for the web, and a whole chapter on reaching emergency services. Meanwhile US federal procurement is still bound to WCAG 2.0 — a 2008 standard, in 2026. Each tile an instrument: where it binds, and the year it was made reproduced The role taxonomy 102 roles Fifty-six concrete roles describe structure; twenty-three describe widgets. ARIA is a document ontology that happens to contain controls — not, as most designers meet it, a toolkit for making custom widgets accessible. Twelve roles are abstract and authors are forbidden to use them at all. Each dot a role, by branch: darkest structure · mid widget · light abstract · palest the rest derived The component census 8 systems · 391 components Only three components appear in all eight: a button, a checkbox and a text field. Sizes diverge from 23 to 115, and 325 of the 391 appear in exactly one system. Eight of the most influential design systems do not agree on what a component is, or what to call it. Each dot a component, by how many systems draw it: darkest in all eight · mid in four to seven · light in two or three · palest in one system derived Standardised nowhere 24 conventions Fifteen of twenty-four conventions are named by no standard at all — not in the Authoring Practices, not backed by a native primitive, not mentioned in WCAG. The logo that goes home, the gear that opens settings, the asterisk that means required: load-bearing folklore. Each dot a convention, by whether a standard names it: darkest not standardised · mid standardised derived What a machine can check 87 criteria · 87 rules Twenty-four of the eighty-seven criteria have an approved ACT rule. Forty-nine have no rule at all, approved or proposed. And the rules that do exist pile up where testing is mechanical: Name, Role, Value and Info and Relationships hold twenty-eight of the hundred rule-to-criterion links between them. Passing every automated check is compatible with an unusable page, and this is the shape of the reason. Each dot a criterion, by its ACT rule: darkest no approved rule · mid approved rule derived What the platform learned to ask 12 features · 4 still unavailable The platform learned to ask about the device thirteen months before it learned to ask about the person. Hover and pointer reached Baseline on 11 December 2018; prefers-reduced-motion on 15 January 2020. Vestibular disorders did not begin in 2020. And three accommodations are specified but still unavailable — reduced data, reduced transparency, inverted colours — so the asking is not finished. Each dot a feature, by family: darkest user-preference · mid interaction derived What a form field may be about 54 tokens · 53 shared WCAG did not write a taxonomy of what a form field can be about — it adopted the browser’s. Fifty-three of HTML’s fifty-four autofill field names are in the Input Purposes list, and the single exception is one-time-code: the only token that is about proving who you are rather than describing who you are. The vocabulary itself is the second finding. Twenty-one of the fifty-four tokens are address or payment; seven are the parts of a name. A form field, formally, is mostly a place to send something and a way to charge for it. Each dot a token, by group: darkest address · mid payment · light telephone · palest the rest derived The keyboard nobody binds 284 key values · 19 bound The platform names 284 keys. The ARIA Authoring Practices bind nineteen of them, plus four printable characters. Twelve of the eighteen families are bound by nothing at all — every one of the 72 media-controller keys, all 30 TV keys, all 30 IME and composition keys, the whole of audio, speech, browser and mobile-phone. What is bound is navigation, whitespace and modifiers: the keyboard of 1984, completely covered, with everything standardised since left silent. Each dot a key value, by family: darkest Media Controller Keys · mid IME and Composition Keys · light TV Keys · palest the rest derived A contract with optional terms 48 attributes · 94 roles ARIA 1.2 defines forty-eight states and properties. Six of them are ever required by any role, and eighty-three of the ninety-four roles require nothing at all. Fifteen attributes are global and two of those are deprecated. Where the specification did spend its deprecations, it was to narrow four attributes that had been allowed almost everywhere — aria-invalid, aria-haspopup and aria-errormessage on seventy-seven roles each. A role announces what a thing is; it almost never obliges you to say anything more about it. Each dot an attribute, by kind: darkest property · mid state derived The form that assumes your name 766 locales · 252 territories A signup form asking for a first name, a last name and a postcode fails in three separate ways. CLDR gives every one of its 766 locales a second given name, and 447 of them a second family name. Seventy of the 252 territories have no postal code at all — not optional, absent — among them Hong Kong, Macao, Panama and Qatar. In thirty-eight the address does not begin with the person’s name, and thirty locales write the family name first. Each dot a locale, by name order: darkest given-first · mid surname-first reproduced Where text breaks 49 classes · 217,414 characters Every design system assumes a word is a run of letters between spaces. That describes one character in eight. Ideographic characters — which break almost anywhere — outnumber alphabetic ones 6.4 to 1, and an entire class cannot be broken at all without a dictionary. Each bar a line-break class, by how many characters it holds, on a log scale reproduced The error vocabulary 62 codes The protocol has twenty-eight ways to say you did something wrong and eleven to admit it did. Two and a half times more vocabulary for blaming the caller than for accepting fault. Each dot a status code, by class: darkest 4xx · mid 5xx · light 2xx · palest the rest derived Published layout grids 67 grids · 16 complete Sixteen of sixty-seven publish a grid you could rebuild from — columns, gutter, margin and a breakpoint. Eighteen publish no single grid at all, and ten of those eighteen publish a spacing scale instead: the rhythm written down, the structure not. Thirty-nine name no breakpoint. Twelve columns is the answer most of those that state a count give, and three rows in the whole register say why their numbers are their numbers. The first six complete grids in the register, each at its own column count derived What each tool computes 120 tools · 11 categories Thirty of the hundred and twenty answer with a verdict rather than a number, and a pass hides the threshold it applied — which matters because two checkers can disagree on the same pair of colours depending on which specification and which rounding they use. Thirteen do not say which specification they implement at all. Fifteen upload the thing you are testing to somebody else’s server, which decides whether they can touch unreleased work. Each dot a tool, by category: darkest accessibility testing · mid contrast and colour · light measurement and inspection · palest the rest derived Where the screenshots are 34 libraries · 22 silent on licence Twenty-two of thirty-four say nothing whatsoever about the copyright of the screenshots they host — thousands of images of other people’s commercial interfaces, with no stated basis. Eight publish no capture date, which makes them undated claims about how software looked on an unstated day. Eight have stopped adding, and several of those still rank. Each dot a library, by what it says about licence: darkest current · mid historical · light adversarial derived Design as infrastructure 122 systems · 11 classes Ninety-two of the hundred and twenty-two ship components and no writing guidance at all — a system that decides what a button looks like and says nothing about what it should say. Twenty-two document no accessibility guidance of any kind, which is a harder omission to defend in a document telling other people how to build. Seventy-five publish in English only. Each dot a system, by kind: darkest national-government · mid corporate · light sub-national · palest the rest derived The state’s front door 241 jurisdictions · 8 models Fifty-seven of two hundred and forty-one jurisdictions have no single front door that could be located at all — a quarter of the world’s governments are a directory of ministries rather than a service. Of the hundred and eighty-four that do, only forty-five let you complete anything; the rest are places to read about a service you must then go elsewhere to use. Forty-two run a national digital identity scheme — so for roughly two in five of them, the identity exists and the transaction to spend it on does not. Each dot a jurisdiction, by front-door model: darkest unified informational · mid none found · light unified transactional · palest the rest derived Where five billion people bank 45 banks measured, of a roster of 50 · 10 countries Of the fifty in the roster, twenty-three are majority state-owned and nine run Islamic banking, so the interface most of these customers meet for money is more often a government product than a commercial one. The ten countries hold 4.66 billion people between them — India and China alone are 2.87 billion — which is the reason for choosing them and the reason the sample is not a survey of good banking interfaces. Each stripe a measured bank, in the brand colour its site uses derived The flow census 24 screens · 4 walks Forty-three captures are twenty-four screens: a form before and after it is filled in is one screen, twice. Twenty of the twenty-four offer a route the walk did not take — a postcode you do not know, an address not on the list, a nationality you cannot provide. Only four do not, and three of those are the screens that take one value and continue. The happy path is the smallest part of a real service. Each pair a walk: captures taken (pale) beside the distinct screens they reduce to (dark) compiled Every size a screen has been 22 screens · 1977–2023 A phone gained twenty times the pixels between 2007 and 2023 and one and a quarter times the room to lay out in: 320 CSS pixels to 393. The two numbers stopped being the same in 2010, when the iPhone 4 arrived with four times the pixels of its predecessor and exactly the same layout width. The commonest screen in the world today is 360 CSS pixels wide — a third of what a desktop had in 1990, and within touching distance of the 320 an IBM CGA had in 1981. Each outline a screen, at its CSS size, drawn from one corner derived The scale that is not a scale 5 systems · 62 steps None of the five is geometric. A type scale in the classical sense multiplies by one constant; across sixty-two steps the ratio between consecutive sizes wanders in every system — Tailwind from 1.111 to 1.333, Material from 1.0 to 1.375. Bootstrap’s top four headings have no fixed size at all, being viewport expressions, so four of its seven steps cannot be written into a specification. Only IBM’s Carbon publishes a formula, and it is additive rather than a ratio: the increment grows by 2px every four steps. Each letter one step of Tailwind CSS’s scale, at its size in px, scaled to fit derived Colours that cannot be read 27 pairs · 4 systems All eleven colours these systems publish as text pass 4.5:1. Six of the sixteen they publish as fills fail every threshold — Bootstrap’s warning at 1.63, its info at 1.95, Carbon’s yellow at 1.68. The systems are not at fault for that; a fill is not a text colour. What separates them is that only one of the four, GitHub’s Primer, publishes a separate darker foreground for each role, so its palette contains no colour that fails at the job it is offered for. Three of Bootstrap’s theme colours land between 4.50 and 4.53 against white, which is not an accident and leaves no margin at all. Pairs as their systems publish them: each ink on its background