What a person meets on US municipal websites
Data snapshot as of September 1, 2026, 05:00 · US sweep complete: all 11,659 sites in the CISA registry as of 31 Aug 2026 · Maksim Galatin & Claude (Anthropic) · CC BY 4.0
An agent opens the page in a real Chrome browser and tries to reach the municipal tax payment form without touching the mouse — using the Tab key only, the way a person who cannot use a mouse does it. For every page we record how many Tab presses were made, where the path broke and why — and take a screenshot of the breaking point.
The same page is checked automatically alongside, with the axe-core rule set. The gap between the two measurements is the main result of this work.
Across cumulative samples from 10,904 to 95,524 records the estimate stayed within 1.5 percentage points. That shows the computation is stable; it does not prove the estimate is unbiased, since the sample grew under a single rule. Where the automated check found no violations at all, the keyboard traversal reaches the goal in fewer than half of the cases: the machine called 53.8 % of pages accessible, and they could not be traversed. Measurements as the sample grew. This is one of three distinct measures, and they must not be conflated. The first is the one discussed here: among pages the machine called clean, 53.8 % did not reach the goal; the denominator is 25,966. The second: among ALL measurable pages, 74.6 % of 47,271 did not reach the goal. The third: of all 95,524 log records, 12.6 % reached their goal. None of the three means «X % of sites are inaccessible» — these are shares of pages, not sites, and each has a different denominator. :
| records in sample | gap |
|---|---|
| 10,904 | 52.6 % |
| 38,096 | 52.9 % |
| 42,631 | 53.1 % |
| 44,919 | 53.1 % |
| 73,190 | 54.1 % |
| 95,300 | 53.8 % |
| 95,524 | 53.8 % |
The sample grew ninefold, and over that whole span the figure never moved beyond one and a half points: from 52.6 % at eleven thousand records to 53.8 % at ninety-five thousand. That is how a measurement behaves, not a coincidence.
How much is done
The sample is drawn from the official .gov domain registry maintained by CISA — that is 11,659 municipalities across 51 states and territories. Not our own selection, but a government list.
Result of the keyboard traversal
| Traversal outcome | Pages | Share |
|---|---|---|
| Unreachable or unmeasurable | 48,253 | 50.5 % |
| Formally accessible, but a barrier in practice | 21,305 | 22.3 % |
| Partial focus or labelling barrier | 13,972 | 14.6 % |
| Reachable by a person | 11,994 | 12.6 % |
The goal was reached by keyboard on 12.6 % of pages. On another 22.3 % the path formally existed but was impassable for a person: focus is invisible, fields have no labels, a button is not a button.
What “unmeasurable or unavailable” is made of
The line above is not one reason but six. A page could fail to be checked as a human would in two different senses: either the site opened and could not be traversed, or the site is simply not there. The latter accounts for 20.5 % of everything unmeasurable (9,874 records), and that is the state of those sites, not a failure of ours.
| Traversal outcome | Pages | Share |
|---|---|---|
| Opened, but could not be checked as a human would | 38,379 | 40.2 % |
| Domain does not exist | 3,950 | 4.1 % |
| Closed to checking (403) | 3,609 | 3.8 % |
| Server does not respond | 1,290 | 1.4 % |
| Broken encryption | 866 | 0.9 % |
| Server-side error | 159 | 0.2 % |
Platform comparison
A municipality rarely builds its own site — it buys a ready platform. So it makes sense to look at vendors rather than at towns: a defect in the template repeats across every client at once.
| Platform | Pages | Traversal reached | Barrier |
|---|---|---|---|
| Custom-built site | 40,171 | 26.9 % | 73.1 % |
| CivicPlus | 15,114 | 27.8 % | 72.2 % |
| WordPress | 10,216 | 23.8 % | 76.2 % |
| Wix | 2,042 | 1.1 % | 98.9 % |
| Municode | 1,767 | 29 % | 71 % |
| Drupal | 976 | 32.7 % | 67.3 % |
| Squarespace · small sample | 736 | 58.5 % | 41.5 % |
| Revize | 712 | 21.8 % | 78.2 % |
| Joomla | 632 | 20 % | 80 % |
| Granicus | 576 | 33.2 % | 66.8 % |
This table must be read with care. Only the rows for custom-built sites (33,383 pages) and CivicPlus (3,905) carry weight. Granicus, Revize, Municode, Drupal and WordPress still have too few pages to be compared with one another — they are marked. We write this here rather than hiding it in a footnote: on a small sample any difference may turn out to be chance.
The only conclusion the sample already supports: the difference between a custom-built site and the most widespread purchased platform falls within the margin — 26.9 % against 27.8 %. Behind those shares lie 14,501 measurable pages against 12,383: the sample is large and the gap is small, so we cannot claim either type is worse by reachability. The real difference shows elsewhere — in suppressed focus, discussed below.
Coverage by state
| State | Pages checked | Municipalities |
|---|---|---|
| NY | 8,592 | 1058 |
| WI | 4,161 | 491 |
| TX | 3,712 | 459 |
| CA | 3,224 | 397 |
| OH | 3,200 | 380 |
| MN | 2,935 | 350 |
| MI | 2,896 | 344 |
| IL | 1,920 | 225 |
| PA | 1,761 | 196 |
| FL | 1,744 | 215 |
| UT | 1,536 | 168 |
| GA | 1,520 | 168 |
Shown are the twelve states with the widest coverage out of 51 visited. The traversal runs in rounds — one municipality from each state, then the next round — so that coverage stays geographically balanced at any moment we stop. Balanced coverage is not the same as a population-representative sample: a city of eight million and a town of three hundred each contribute eight pages.
The more a page is needed, the less reachable it is
Eight pages with different tasks are checked on every site. If this were simple sloppiness, the shares would be spread evenly. They are not — and the pattern is an unpleasant one.
| Page | Reached | Focus suppressed | Tab presses |
|---|---|---|---|
| Documents | 15.8 % | 28.4 % | 9.7 |
| 311 service request | 18.9 % | 21.5 % | 7.2 |
| Bill payment | 19 % | 38.9 % | 11.9 |
| Council meetings | 21.9 % | 40.1 % | 9.6 |
| Home page | 25.3 % | 27.9 % | 4.8 |
| Job openings | 29.5 % | 15.2 % | 4.5 |
| Contacts | 31.1 % | 40.1 % | 5.6 |
| Calendar | 40.9 % | 24.2 % | 4.1 |
Paying a bill — 20.6 % and eleven Tab presses. Looking at the events calendar — 40.4 % and one press. The spread between the best and the worst page is 24.5 points. The worst is documents at 15.9 % — and documents are exactly what people come to a government site for.
This is consistent with the hypothesis that more interactive workflows create greater keyboard barriers; we did not test causation. Calendars and job listings are ordinary lists served by a ready module. Payment is a complex form, often inside an embedded third-party payment window, and outline: none is most common there: 32.9 % against 14.1 % on calendars.
The takeaway for whoever is fixing this: start not with the home page but with payments and documents. The barrier is higher there, and the cost of that barrier to a person is incomparably greater: a missed tax deadline is a penalty, not an inconvenience.
Every eighth address in the registry is dead
Out of 11,659 registry sites, 2,537 did not answer the script. We went through them by hand — that check is complete, and its main finding is not about accessibility but about the quality of government data itself.
1,498 domains from the official CISA registry do not exist in DNS. That is 12.5 % of the whole registry — every eighth address. The towns themselves are alive: albanyky.gov, alamogordo.gov, carlinnv.gov are existing municipalities whose official domains no longer answer. Verified twice: by the traversal agent and by a separate DNS query with a control domain known to be alive.
And the reverse: 20 % of non-responders are alive for a person. A Cloudflare shield (8.9 %) and broken TLS (6.7 %) close the site to a robot but not to a visitor. Counting such sites as inaccessible would mean recording our own measurement error as a barrier. We list them on a separate line.
Two ways to count — both shown here
For part of the sample no DNS server answers at all: the site does not exist. Such addresses can be counted two ways, and we show both.
Counting EVERY record: a human-facing barrier on 22.3 % of 95,524 pages.
EXCLUDING dead domains: a barrier on 24.9 % of 85,650 pages.
The second method looks WORSE for the sites we audited — which is precisely why we did not adopt it silently. The 2.6-point gap shows how much dead domains dilute the picture.
Only 15 records carrying the verdict “formal access, human barrier” fall on dead domains: the study's main finding does not depend on the counting method.
Those bound by law
The US Department of Justice rule under ADA Title II requires public bodies serving 50,000 people or more to bring their websites to WCAG 2.1 AA by 26 April 2027. Smaller ones have one more year. This splits our sample in two and lets us ask the weightiest question: how are things for those with eight months left by law?
| Group | Municipalities | Reached | Scanner was wrong | Focus suppressed |
|---|---|---|---|---|
| 50,000 and above — deadline 26 April 2027 | 824 | 30.5 % | 50.1 % | 21.4 % |
| below 50,000 — one year later | 4,061 | 26.1 % | 55.2 % | 27 % |
Large towns do better than small ones, but only slightly: 30.5 % against 26.1 %. This means that for municipalities bound by law to comply by April 2027, seven pages out of ten remain impassable to keyboard traversal — while the automated check sees no violations on half of them.
The one place where the gap is visible is suppressed focus: 21.4 % for large towns against 27.0 % for small ones. Larger towns more often have a developer on staff, and outline: none appears less frequently. But even there it is every fifth page.
What exactly to fix
Out of 23,324 pages that opened, the traversal failed to reach the goal on 17,285. But "did not reach" covers three different troubles, and they are fixed in different ways.
What the disagreement actually consists of
Take only the pages where the automated check reported no violations and the traversal still failed to reach the goal. There are 13 972 of them — exactly the numerator of the headline figure. They have precisely two causes, and both concern what a person can see, not what the markup says.
Not a single record here reads "path longer than forty steps", and that makes sense: when a path is physically impassable, a markup checker usually finds something too. A removed focus outline leaves no trace in markup — the rule lives in the stylesheet. It can only be seen by walking the page.
The second line is the most galling one. outline: none is written into stylesheets to remove the "ugly ring" around a pressed button. After that focus still lands on the element, the element still works, the automated check sees no violation — and a person no longer knows where they are on the page. One line of CSS, 10,410 cases.
When the traversal does reach the goal, it takes few steps. The median is three Tab presses; for a quarter of pages one is enough. So the problem is not path length as such: where it is built right, the goal is close. Breaking off at the fortieth press means not "far away" but "going in circles without seeing where you are".
Is this a platform defect or a general habit? We checked: if outline: none were the fault of one popular engine, writing to its developers would be enough. But the share of suppressed focus is spread across all of them.
| Platform | Measurable | Focus suppressed | Share |
|---|---|---|---|
| Wix | 560 | 361 | 64.5 % |
| CivicPlus | 12,383 | 4,081 | 33 % |
| Revize | 688 | 207 | 30.1 % |
| WordPress | 8,656 | 2,419 | 27.9 % |
| Drupal | 746 | 205 | 27.5 % |
| Municode | 1,506 | 411 | 27.3 % |
| Granicus | 509 | 120 | 23.6 % |
| Joomla | 500 | 100 | 20 % |
| Custom-built site | 14,501 | 2,376 | 16.4 % |
This conclusion of ours reversed, and we say so plainly. On a sample nine times smaller it looked as though custom-built sites were twice as bad as ready platforms — 24.0 % suppressed focus against 9.0 %. Now, at 95,524 records, the picture is the opposite: the custom-built site is the best of the widespread ones (16.4 %), and the worst turned out to be the website builder.
Wix: focus suppressed on 64.5 % of pages, goal reached on 1.1 %. Out of 322 measurable pages the keyboard traversal reached the goal on three. The reason is not a long path — quite the opposite: in 108 of roughly 245 break-offs the element was already found within the first three Tab presses, and the record reads "element found, but visual focus suppressed". The navigation is short and invisible at the same time: focus sits on the right button and gives no sign of it.
The caveats without which this number cannot be read. The registry holds 305 Wix sites; 122 have been checked with measurable pages — forty per cent, and the result may still change. New York accounts for 15.4 % of them against 10.5 % across the whole sample — a skew exists, but the platform appears in more than six states, so this is not a local peculiarity. We will return to this figure once the remaining 183 sites are done.
All 51 territories fully covered
The traversal was completed on September 1, 2026, 05:00. All 50 states and Puerto Rico were covered: 11,902 sites and 95,524 page checks — eight pages per site. The District of Columbia is absent by design, not by omission: the sample is built from CISA registry domains of types City and County, and DC is not divided into cities or counties. The table lists ALL territories, from the lowest share of accessible pages to the highest. Shares are calculated over the pages checked in that state and add up to 100 %. Puerto Rico comes first, but it has only four sites — too few to draw conclusions about it.
| State | In registry | Covered | Coverage | Pages | Accessible | Partial | Barrier | Unmeasurable |
|---|---|---|---|---|---|---|---|---|
| PR | 4 | 4 | 100.0 % | 32 | 0.0 % | 0.0 % | 3.1 % | 96.9 % |
| NJ | 226 | 226 | 100.0 % | 1802 | 6.8 % | 10.6 % | 18.2 % | 64.4 % |
| KY | 203 | 203 | 100.0 % | 1624 | 8.0 % | 12.5 % | 21.4 % | 58.1 % |
| NE | 128 | 128 | 100.0 % | 1026 | 8.6 % | 13.9 % | 26.0 % | 51.5 % |
| WV | 106 | 106 | 100.0 % | 841 | 9.3 % | 10.2 % | 23.8 % | 56.7 % |
| NC | 296 | 296 | 100.0 % | 2386 | 9.4 % | 9.8 % | 16.0 % | 64.7 % |
| OR | 166 | 166 | 100.0 % | 1331 | 9.4 % | 15.0 % | 15.3 % | 60.3 % |
| IL | 383 | 383 | 100.0 % | 3065 | 9.9 % | 10.0 % | 21.3 % | 58.9 % |
| NH | 199 | 199 | 100.0 % | 1592 | 9.9 % | 15.1 % | 17.5 % | 57.5 % |
| PA | 337 | 337 | 100.0 % | 2710 | 10.0 % | 9.6 % | 18.0 % | 62.4 % |
| AR | 325 | 325 | 100.0 % | 2612 | 10.1 % | 6.1 % | 21.2 % | 62.6 % |
| NV | 30 | 30 | 100.0 % | 248 | 10.1 % | 13.7 % | 14.5 % | 61.7 % |
| OH | 553 | 553 | 100.0 % | 4447 | 10.2 % | 13.7 % | 24.7 % | 51.4 % |
| FL | 333 | 333 | 100.0 % | 2681 | 10.2 % | 11.2 % | 18.7 % | 59.9 % |
| MA | 320 | 320 | 100.0 % | 2608 | 10.2 % | 13.8 % | 13.8 % | 62.2 % |
| OK | 209 | 209 | 100.0 % | 1673 | 10.2 % | 10.3 % | 17.8 % | 61.7 % |
| AL | 201 | 201 | 100.0 % | 1610 | 10.2 % | 11.9 % | 26.5 % | 51.4 % |
| IA | 153 | 153 | 100.0 % | 1237 | 10.4 % | 15.2 % | 21.3 % | 53.0 % |
| CA | 547 | 547 | 100.0 % | 4384 | 11.0 % | 10.7 % | 16.9 % | 61.4 % |
| MI | 493 | 493 | 100.0 % | 3959 | 11.1 % | 22.0 % | 23.9 % | 43.0 % |
| CO | 164 | 164 | 100.0 % | 1312 | 11.3 % | 16.5 % | 20.0 % | 52.1 % |
| AK | 34 | 34 | 100.0 % | 272 | 11.4 % | 16.2 % | 16.5 % | 55.9 % |
| MO | 305 | 305 | 100.0 % | 2442 | 11.6 % | 5.5 % | 20.2 % | 62.7 % |
| KS | 167 | 167 | 100.0 % | 1339 | 11.7 % | 12.2 % | 24.3 % | 51.8 % |
| MS | 120 | 120 | 100.0 % | 961 | 11.9 % | 7.5 % | 25.6 % | 55.0 % |
| GA | 318 | 318 | 100.0 % | 2564 | 12.0 % | 12.9 % | 18.7 % | 56.5 % |
| TN | 262 | 262 | 100.0 % | 2106 | 12.1 % | 12.0 % | 21.4 % | 54.6 % |
| CT | 155 | 155 | 100.0 % | 1239 | 12.1 % | 19.0 % | 16.8 % | 52.1 % |
| WA | 186 | 186 | 100.0 % | 1496 | 12.3 % | 16.6 % | 16.3 % | 54.8 % |
| LA | 85 | 85 | 100.0 % | 680 | 12.4 % | 14.4 % | 24.6 % | 48.7 % |
| VA | 208 | 208 | 100.0 % | 1668 | 12.5 % | 14.9 % | 15.2 % | 57.5 % |
| IN | 125 | 125 | 100.0 % | 1004 | 12.5 % | 16.2 % | 25.2 % | 46.0 % |
| MD | 106 | 106 | 100.0 % | 850 | 12.8 % | 21.9 % | 25.4 % | 39.9 % |
| UT | 245 | 245 | 100.0 % | 1963 | 12.9 % | 14.0 % | 17.3 % | 55.8 % |
| ME | 118 | 118 | 100.0 % | 944 | 13.1 % | 18.2 % | 27.1 % | 41.5 % |
| ID | 72 | 72 | 100.0 % | 568 | 13.7 % | 15.8 % | 18.1 % | 52.3 % |
| WI | 716 | 716 | 100.0 % | 5734 | 14.0 % | 21.4 % | 25.4 % | 39.2 % |
| SC | 118 | 118 | 100.0 % | 943 | 14.3 % | 12.6 % | 25.3 % | 47.7 % |
| ND | 45 | 45 | 100.0 % | 361 | 14.4 % | 15.0 % | 20.2 % | 50.4 % |
| HI | 10 | 10 | 100.0 % | 80 | 15.0 % | 2.5 % | 41.2 % | 41.2 % |
| WY | 54 | 54 | 100.0 % | 424 | 15.3 % | 19.1 % | 22.2 % | 43.4 % |
| NY | 1244 | 1244 | 100.0 % | 9969 | 15.8 % | 19.6 % | 29.1 % | 35.6 % |
| MT | 82 | 82 | 100.0 % | 656 | 16.8 % | 11.0 % | 22.6 % | 49.7 % |
| RI | 47 | 47 | 100.0 % | 376 | 16.8 % | 22.9 % | 26.3 % | 34.0 % |
| NM | 73 | 73 | 100.0 % | 584 | 17.1 % | 20.7 % | 25.3 % | 36.8 % |
| TX | 610 | 610 | 100.0 % | 4908 | 18.4 % | 17.0 % | 24.7 % | 40.0 % |
| VT | 82 | 82 | 100.0 % | 656 | 18.6 % | 17.4 % | 28.2 % | 35.8 % |
| SD | 46 | 46 | 100.0 % | 368 | 18.8 % | 16.8 % | 30.4 % | 34.0 % |
| MN | 513 | 513 | 100.0 % | 4098 | 19.2 % | 18.4 % | 23.4 % | 39.0 % |
| AZ | 113 | 113 | 100.0 % | 906 | 20.4 % | 13.2 % | 19.1 % | 47.2 % |
| DE | 19 | 19 | 100.0 % | 152 | 27.0 % | 14.5 % | 17.8 % | 40.8 % |
Why this matters more than the overall number. Every accessibility study faces one ready objection: "you picked convenient sites." It does not apply to an exhaustive sweep of a state — in South Dakota all 45 municipalities of the official registry were checked; there was nothing to pick from.
And the main point: in fully covered states the gap between scanner and traversal is 52.9 %, against 57.6 % elsewhere. The difference is 4.7 points, and we state it plainly because it works against our own argument: in the closed states the picture is slightly BETTER. So at full coverage the overall number may fall. By how much we do not predict: the closed states contribute 20,955 records against 5,011 elsewhere, and all four fully traversed states are small and rural. The direction of the skew is measured; its magnitude is not estimated from a sample like this.
This page used to say "a difference of nine tenths of a point". That was true for a sample four times smaller; at the measurement of 29 August 2026, with 43,083 records, the gap had grown to 4.2, and at the measurement of 30 August 2026, with 80,077 records, to 4.6. And in the 31 August 2026 measurement, with the US traversal FINISHED and 95,524 records in the log, the gap stood at 4.7 points — 52.9 % against 57.6 %. It used to be measured on 645 records; now on 20,955. The finding held as the sample grew thirtyfold. The explanation is simple and worth knowing: the states that close completely are the SMALL ones — they have fewer municipalities — and small municipalities less often install the complex systems on which the keyboard path breaks. This is not a flaw in the sample, but neither is it "the same picture": the honest statement is that a skew exists and has been measured.
What is wrong with this data
1. The US sweep is complete: 11,659 sites out of 11,659 in the CISA registry — one hundred percent of it — plus 243 more beyond the registry. These numbers will no longer grow from the US; they will change only when other countries are added, and that will be stated plainly.
2. Not every record has a screenshot. Of 95,524 records, 85,704 carry a screenshot path, and for 83,212 the file itself has been verified on disk. For the rest the page did not open — there was nothing to capture; some records date from before 27 August, when the code had a bug: the screenshot path was written even when no screenshot had been saved. The bug is fixed and the old records are flagged.
2b. Where screenshots are missing — and why exactly there. A file path is present on 85,704 records, and checking EVERY file on disk on 31 August 2026 gave 83,212: for 2,492 records the path was written but the file is gone. The remaining 9,820 records carry no path at all, and that is not random — no screenshot is saved where the page never opened: domain absent from DNS (6,303 cases), broken TLS (1,788), request timed out (819), no connection (813), other failures (97). There is nothing to capture there. The sweep was repeated on 1 September 2026 with an independent script and returned the same three figures — 85,704, 83,212 and 2,492. Every file of the evidence base — 81,065 screenshots and 578 earlier artefacts — is listed in a single registry, and its SHA-256 was timestamped into Bitcoin via OpenTimestamps on 1 September 2026 (three independent calendars accepted it, at zero cost). The registry and the timestamp are published at /data/evidence-hashes-2026-09-01.txt.gz. The hash is computed over the DECOMPRESSED file — the procedure is described in /data/evidence-hashes-README.txt. Backdating a screenshot is now impossible without rewriting Bitcoin.
2-ter. Records and checks are not the same thing. The figure above counts traversal records. Unique checks — distinct pairs of address and page type — number 95,492; repeat visits to an already-traversed page number 32 (0.03 %). The repeats are traces of the follow-up traversal: some addresses were walked again while the log was being completed. They do not affect the shares: thirty-odd records out of ninety-five thousand move no figure even in the first decimal place. This page previously said there were no repeats — true for the log of that day, and no longer true after the follow-up traversal. Found by a full reconciliation of every figure on the page, not by a spot check.
So the correct figure is this: for measurable pages — those that opened — a screenshot has been verified on disk in 87.1 % of cases (83,212 из 95,524). By verdict: "reachable by a person" — 99.6 %, "partial barrier" — 99.7 %, "formally accessible, but a barrier" — 89.6 %. For pages judged "unreachable or unmeasurable" a screenshot is missing in 43 % of cases, and that is not lost evidence but evidence that cannot exist: there is nothing to prove when a site does not answer.
This line used to hold a count of PATHS to files rather than of the files themselves, and it overstated the evidence base by 17 %. What stands here now is a verified number: every file was opened, its size and PNG signature checked.
Separately about 2,421 files under five kilobytes. Their sizes cluster implausibly tightly: 4,714 bytes — 1,566 files, 4,719 bytes — 808. Hashing showed that among the first six hundred files there are only ten unique images, and two of them cover 571 files. We opened them: a plain white rectangle. A normal screenshot weighs 158 kilobytes, thirty-three times more.
The cause is technical: the screenshot was taken before the page had painted — the browser had already reported the navigation complete while the content was not yet drawn. Such a file exists and opens, but proves nothing, and so it is not counted among the evidenced records. Capture has been fixed: the screenshot is now taken after text appears on the page, and the file size is checked immediately after saving.
3. A bot shield is not the same as inaccessibility. Sites that answered with a CAPTCHA or a browser check are marked "unmeasurable" and are not counted as bad. We do not know what is behind the shield.
4. Traversal assessment does not replace a live user. That is why every record carries a screenshot: the conclusion can be checked by eye.
5. Forty per cent of records are not measured — and that is the state of the sites, not a shortcoming of ours. Of 95,524 records, 38,379 (40.2 %) received the verdict 'unreachable or unmeasurable'. Almost all of these are sites that did not answer: the page failed to open with a network error in 14,535 cases (15.2 %) and with a server refusal in 14,310 (15.0 %) — 30.2 % together. We did not skip them: there was nothing to measure. Counting such a page as 'inaccessible to a person' would be a substitution: a human at the same address would see the same error, but that speaks about the site, not about its accessibility for people with disabilities. Such records are therefore kept as a separate verdict and are NOT included in the share of barriers.
6. One thousand two hundred and sixty-four records were made against addresses absent from the registry, and we say so ourselves. In places the traversal assembled the address from the city name instead of taking it from the official CISA list: houston.gov instead of houstontx.gov, garland.gov instead of garlandtx.gov, frisco.gov instead of friscotexas.gov. Such addresses do not answer, and the records received the verdict 'unmeasurable', inflating the share of the unreachable. We measured what this changes: the unmeasurable share is 41.5 % with them and 40.9 % without, the headline gap 53.4 % against 53.5 % — a shift of four hundredths of a point. Twelve hundred records dissolve in ninety-one thousand. We state this not because it damages the conclusion, but because the resilience of the number to such a cleanup is an argument in its favour.
7. The registry we follow is itself incomplete — and we say that ourselves too. Of 91,129 records, 1,272 were made against addresses absent from the CISA registry. We split them into two distinct cases, because merging them would be dishonest. The first is our own error: 1,264 records across 78 addresses the traversal assembled from the city name instead of the official list, where the same city does exist in the registry under a different address. The second is eight records for a single address, bellevueohio.gov: the site answers, yet the city of Bellevue, Ohio, is not in the registry at all. So the official list omits working municipal sites. Eight records out of ninety-one thousand change nothing in the figures, but they say something that matters: where the registry is silent, the traversal still sees.
8. One address in seven from the registry does not exist, and this affects the figure above. A fresh DNS check: of 11,902 domains in the log, 1,498 (12.6 %) do not resolve at all — there is no site, and there is nothing to measure. They account for 11,982 records. Of those, 9,125 (9.6 % of the log) carry the verdict "unmeasurable or unavailable" rather than "domain does not exist" — meaning the unmeasurable share mixes two different things: a site a human could not traverse, and a site that is not there. The first speaks to the quality of government websites, the second to the quality of the federal registry. We state this plainly because correcting it would move the headline figure IN OUR FAVOUR: without dead domains the share of barriers rises. The figures on this page are given WITHOUT that correction. Separately: 3 records carry the verdict "accessible" while the domain no longer answers today — a human opened that page, so the site died after the traversal.
Who this actually affects
Accessibility work is usually described as helping people with disabilities. By the numbers, that description is incomplete.
About a million people in the US are blind and about seven million have vision loss. 128,000,000 have age-related farsightedness. More than 80 % of people develop it by the age of forty: it is not a disease and not a disability, it is what happens to everyone. By 2030 the rate of vision loss in the US will double along with the ageing population.
It is not only about eyesight. With age the hand obeys less well — a small button becomes hard to hit. Reaction slows — forms with timeouts shut older people out first. Memory weakens — multi-step forms become impassable. Everything this study tests — target size, contrast, field labels, keyboard operation — fails first not for a blind person, but for an ordinary sixty-year-old.
The numbers in this section are external, not ours: NIH StatPearls, BCLA CLEAR, American Foundation for the Blind. Our own measurements are given above and marked separately.
Disclosure
The author provides services remediating accessibility violations. This research is self-funded. Nobody paid to be included in the sample and nobody paid to be left out of it. The conclusions name platforms and vendors rather than individual towns: a municipality buys a ready solution and is not responsible for a defect in the template.
Full methodology — aifa.works/research/methodology
Found an error in the data — write to us: contact@codeofdigitaleternity.com
The automated checking tool used for the first half of this work is open and runs without registration: aifa.works/accessibility