Proof: measured against real websites
Measured on 30 October 2026. Automated checks cover only part of WCAG. They find many barriers, but a page with zero findings is not automatically accessible.
What we compared
We ran the same automated measurement on 36 websites:
- 14 regional agency sites and their client sites
- 4 national website-builder services
- 8 premium template demos (marketplace previews)
- 2 live sites on a premium photography theme
- 8 Kiekkist designs
The reference sites are real, publicly reachable pages: agency websites and their client sites from one German region, national website-builder services, official preview sites of paid templates from the large template marketplaces, and live sites built on a premium photography theme (that vendor’s own demos were offline on the measurement date). We did not pick sites after measuring them: every site we selected is in the numbers, including the ones that do better than ours.
We publish groups, not names. The point is the comparison of approaches, not a ranking of anyone’s work.
The eight Kiekkist designs are the first four gallery designs (Fieldnote, Roast Ledger, Counsel, Specimen) and the four older example themes. Designs added later were not part of this measurement; their own measurements are on their gallery pages.
Results
| Measure | Regional agencies + clients n=14 | National site builders n=4 | Premium template demos n=8 | Premium-theme live sites n=2 | Kiekkist n=8 |
|---|---|---|---|---|---|
| Automated WCAG failures, home page | 24 (10–58) | 9 (6–13) | 28 (16–76) | 46 (39–53) | 0 (0–0) |
| Automated WCAG failures per page (median of up to 3 pages) | 20 (15–34) | 8 (7–14) | 23 (16–36) | 46 (39–53) | 0 (0–0) |
| Distinct WCAG success criteria failed | 6 (4–7) | 6 (4–7) | 8 (6–9) | 9 (8–10) | 0 (0–0) |
| axe-core violations, home page | 0 (0–2) | 0 (0–1) | 1 (0–2) | 0 (0–0) | 0 (0–0) |
| Mobile lab LCP (ms) | 6,140 (3,147–12,526) | 2,656 (2,211–4,438) | 7,636 (4,338–10,752) | 16,690 (16,047–17,333) | 1,912 (1,710–2,081) |
| Mobile lab CLS | 0.007 (0.000–0.051) | 0.129 (0.002–0.444) | 0.009 (0.000–0.033) | 0.000 (0.000–0.000) | 0.000 (0.000–0.005) |
| Mobile lab TBT (ms) | 488 (158–1,142) | 247 (119–463) | 710 (551–928) | 1,318 (905–1,732) | 0 (0–3) |
| Transfer size, home page (KB) | 1,035 (850–1,597) | 618 (497–836) | 1,931 (1,221–2,825) | 2,812 (2,682–2,942) | 146 (116–191) |
| JavaScript transferred (KB) | 363 (301–447) | 258 (162–369) | 337 (272–381) | 1,037 (857–1,217) | 0 (0–1) |
| Third-party hosts before any interaction | 1 (0–1) | 1 (0–2) | 3 (2–5) | 7 (6–7) | 0 (0–0) |
| Third-party requests before any interaction | 1 (0–7) | 1 (0–2) | 31 (9–46) | 13 (10–16) | 0 (0–0) |
| Cookies set before any interaction | 0 (0–0) | 0 (0–0) | 1 (0–2) | 7 (6–9) | 0 (0–0) |
| Storage keys set before any interaction | 0 (0–1) | 0 (0–0) | 0 (0–0) | 2 (2–2) | 0 (0–0) |
| Share loading fonts from a third-party CDN | 2/14 | 0/4 | 7/8 | 2/2 | 0/8 |
| Body text size at 390 px (median px) | 17.0 (16.0–18.0) | 14.5 (14.3–14.8) | 16.9 (15.0–18.0) | 14.3 (13.4–15.1) | 17.0 (17.0–17.0) |
| Line length at 390 px (median characters) | 40 (37–45) | 45 (45–45) | 44 (36–46) | 59 (59–60) | 45 (43–46) |
| Share with horizontal overflow at 360 px | 3/14 | 1/4 | 1/8 | 0/2 | 0/8 |
Cells: median (25th–75th percentile); for shares: affected / measured.
Accessibility chart
| Group | n | min | median | max |
|---|---|---|---|---|
| Regional agencies + clients | 14 | 3 | 24 | 90 |
| National site builders | 4 | 3 | 9 | 18 |
| Premium template demos | 8 | 11 | 28 | 192 |
| Premium-theme live sites | 2 | 32 | 46 | 60 |
| Kiekkist | 8 | 0 | 0 | 0 |
Load time chart
| Group | n | min | median | max |
|---|---|---|---|---|
| Regional agencies + clients | 14 | 1.4 s | 6.1 s | 17.2 s |
| National site builders | 4 | 1.8 s | 2.7 s | 8.9 s |
| Premium template demos | 8 | 1.1 s | 7.6 s | 13.6 s |
| Premium-theme live sites | 2 | 15.4 s | 16.7 s | 18.0 s |
| Kiekkist | 8 | 1.6 s | 1.9 s | 2.2 s |
Where other sites do better
Every measure where a reference group or a single reference site beats the Kiekkist designs:
- Mobile lab LCP: 2 reference sites do better than the best Kiekkist design.
- Body text size at 390 px: 3 reference sites do better than the best Kiekkist design.
Reading the numbers fairly
- Like with like.
- The Kiekkist designs are templates with sample content. The fairest comparison is with the premium template demos, which are templates too. Most regional sites are production sites with real content, a consent tool and analytics, which adds weight and requests.
- Accessibility.
- Most automated findings come from checks for contrast, text spacing and reflow. The Kiekkist designs were built and corrected with the same checker, the reference sites were not. Counting axe-core alone, a widely used independent engine, 16 of 28 reference sites had at least one violation on the pages checked, and none of the 8 Kiekkist designs did.
- Load time.
- Kiekkist designs were served locally (no DNS lookup, no TLS handshake, no CDN distance). On a real host that adds roughly one to two round trips, about 0.6 to 1.1 s on this network profile. Against the national website-builder services the load-time difference is therefore within that margin and we do not claim it.
- Not better.
- Layout shift (CLS): Kiekkist and the references both have a median of 0.000. Body text on phones: several agency sites and template demos use larger body text (up to 20 px); the Kiekkist median of 17 px only ties the median of the regional agencies (17.0 px), and several template demos set larger text. Legal links: every German-language site, Kiekkist included, links an imprint and a privacy page.
- Fixed after the first run.
- The first run found three weaknesses in the Kiekkist example themes: a layout shift of 0.30 in one theme (font swap; now 0.001 with metric-matched fallback fonts), 15 px body text on phones in two themes (now 17 px), and no imprint or privacy pages (all four now have imprint, privacy and accessibility pages, with the fields the owner must supply clearly marked). The Kiekkist designs were measured again after the fixes with checker rules 2026-10-30.4, which waits for running animations to finish before measuring contrast; the reference sites are from the first run (rules 2026-10-30.3). That change only affects pages with running animations; it is meant to remove false alarms from measuring mid-animation and adds no new rules.
- Privacy.
- Many regional sites are clean before consent (10 of 28 references load nothing from other sites, 19 set no cookie). The large differences are with the platform templates, which load fonts and scripts from the platform’s CDN before any interaction.
Method
- Same measurement for every site.
- One build of the open-source Kiekkist checker (rules version 2026-10-30.4), the same settings for every page: accessibility at 390 px and 1440 px (axe-core plus Kiekkist’s own checks for contrast, reflow at 320 px, text spacing, keyboard focus, target size and more), legal profile “BFSG”.
- Pages.
- Home page plus up to two inner pages from the main navigation, only where the site’s robots.txt allows it. Lab speed, transfer size and phone typography were measured on the home page.
- Phone lab run.
- Moto G Power 412×823 at 1.75x, slow 4G (562.5 ms latency, 1.47 Mbit/s down, 0.68 Mbit/s up), CPU 4x; three loads, median reported. Lab values approximate a mid-range phone; they are not field data from real visitors.
- Privacy before consent.
- One observing visit per page, nothing clicked: requests to other sites, cookies and browser storage present before any interaction, fonts loaded from third-party font services.
- What is not compared.
- TLS, DNS and e-mail settings (our measurement network distorts them), and the checker’s own design-taste score (that would be grading others by our own taste).
- Kiekkist designs
- were served from a local web server through the same network and CPU throttling. That leaves out DNS lookup, TLS handshake and the distance to a CDN, which favours our numbers for load time. Third-party sites were loaded as a visitor’s phone loads them, including the services they call before consent.
- Read-only.
- No forms were sent, nothing was bought or logged into, no load testing.
Raw reports, the site list with the reason each site is in, and the runner script are kept so the run can be repeated; the result will change when the sites change.