Loading, about as long as a coffee at the Lion’s Head.
Loading, about as long as a coffee at the Lion’s Head.
Accessibility and performance results for every major page template on this website, measured with Google Lighthouse and published here in full. The City can read its own numbers without filing a ticket with a vendor.
Last scan
August 11, 2026 at 07:49 UTC
10 templates, mobile and desktop, measured against http://localhost:3311.
Every number here comes from a real Lighthouse audit run against a production build of this site. Lighthouse loads the page in a headless browser, throttles the connection and the CPU to imitate a mid-range phone, and reports four category scores out of 100 plus the three Core Web Vitals that describe how the page felt to load.
The scan covers one representative page per template rather than every URL. Templates are what actually differ: a service detail page, a hub, an intake form, a search page. Fixing a template fixes every page built on it.
An accessibility score is not a certificate. Lighthouse catches the machine-checkable failures, roughly a third of the WCAG criteria. The rest needs a human. The City’s full position on accessibility, including how to report a barrier, is on the accessibility page.
Simulated mid-range Android phone on a throttled 4G connection, the Lighthouse mobile default. On a narrow screen, scroll the table sideways to see every column.
| Template | Performance | Accessibility | Best practices | SEO | LCP2.5s or less | TBT200ms or less | CLS0.1 or less |
|---|---|---|---|---|---|---|---|
| Homepage/ | 81, needs work | 100, good | 100, good | 69, needs work | 4.12s, poor | 273ms, needs work | 0.000, good |
| Service detail/services/taxes/property-taxes | 88, needs work | 100, good | 100, good | 69, needs work | 3.85s, needs work | 124ms, good | 0.000, good |
| Emergency hub/emergency | 87, needs work | 100, good | 100, good | 69, needs work | 3.98s, needs work | 70ms, good | 0.000, good |
| Request intake/request | 88, needs work | 100, good | 100, good | 69, needs work | 3.90s, needs work | 89ms, good | 0.000, good |
| Support hub/community/support | 88, needs work | 100, good | 100, good | 69, needs work | 3.86s, needs work | 89ms, good | 0.000, good |
| Council meetings/government/council/meetings | 88, needs work | 100, good | 100, good | 69, needs work | 3.82s, needs work | 83ms, good | 0.000, good |
| Newsroom/news | 88, needs work | 100, good | 100, good | 69, needs work | 3.83s, needs work | 77ms, good | 0.000, good |
| Search/search | 85, needs work | 100, good | 100, good | 69, needs work | 4.35s, poor | 74ms, good | 0.000, good |
| Payments/pay | 88, needs work | 100, good | 100, good | 69, needs work | 3.84s, needs work | 93ms, good | 0.000, good |
| Permit guide/planning/permits/building | 88, needs work | 100, good | 100, good | 69, needs work | 3.92s, needs work | 86ms, good | 0.000, good |
Lighthouse desktop preset, wired connection, no CPU throttling. On a narrow screen, scroll the table sideways to see every column.
| Template | Performance | Accessibility | Best practices | SEO | LCP2.5s or less | TBT200ms or less | CLS0.1 or less |
|---|---|---|---|---|---|---|---|
| Homepage/ | 99, good | 100, good | 100, good | 69, needs work | 0.95s, good | 5ms, good | 0.000, good |
| Service detail/services/taxes/property-taxes | 100, good | 100, good | 100, good | 69, needs work | 0.80s, good | 4ms, good | 0.000, good |
| Emergency hub/emergency | 100, good | 100, good | 100, good | 69, needs work | 0.79s, good | 0ms, good | 0.000, good |
| Request intake/request | 100, good | 100, good | 100, good | 69, needs work | 0.82s, good | 0ms, good | 0.000, good |
| Support hub/community/support | 100, good | 100, good | 100, good | 69, needs work | 0.80s, good | 2ms, good | 0.000, good |
| Council meetings/government/council/meetings | 100, good | 100, good | 100, good | 69, needs work | 0.80s, good | 3ms, good | 0.000, good |
| Newsroom/news | 100, good | 100, good | 100, good | 69, needs work | 0.79s, good | 0ms, good | 0.000, good |
| Search/search | 99, good | 100, good | 100, good | 69, needs work | 0.87s, good | 1ms, good | 0.000, good |
| Payments/pay | 100, good | 100, good | 100, good | 69, needs work | 0.82s, good | 1ms, good | 0.000, good |
| Permit guide/planning/permits/building | 100, good | 100, good | 100, good | 69, needs work | 0.79s, good | 0ms, good | 0.000, good |
How to read the colours
The colour repeats what the number already says, so nothing on this page depends on being able to tell colours apart.
That ordering is what keeps the page honest. There is no live monitoring behind it, no agent pinging pages in the background, and no dashboard service reporting on itself. The page shows the last measurement that was actually taken, and says when it was taken. If a run fails, that row reads “not measured” instead of borrowing an older number.
In an ongoing engagement, the scan belongs in the deployment pipeline, so every release measures itself and the numbers on this page are never older than the code that is live.
Most municipal website contracts describe accessibility and speed as promises. A promise is checked at launch, if it is checked at all, and then the site drifts. Content editors add a 4MB photo, a third-party widget lands on the payments page, a plugin update breaks a heading order. Nobody notices until a resident cannot complete a task, or until a complaint arrives.
A page like this changes who holds the evidence. The measurements live in the City’s own repository, on the City’s own site, in a format staff can read without a vendor login or a support request. Council can see it. Procurement can quote it. A resident who wants to know whether the City takes accessibility seriously can read the same numbers as everyone else.
It also changes what a vendor can get away with. When the score is published and dated, “the site is fast” stops being a sales line and becomes a number somebody can check. Any competent vendor can produce this page. The City expects it from anyone it hires.
The City of Silvermere is a fictional municipality, and this site is a concept build used to demonstrate how a municipal website could work. The city, the staff, and the services are invented.
The numbers on this page are not. They are real Lighthouse measurements of these real pages, taken at the time stamped above. What is being demonstrated is the pattern: measure the templates, publish the results, date them, and let anyone check.
Two things this page deliberately does not claim. It is not live monitoring, and it is not a WCAG conformance statement. It is a dated set of automated test results, which is exactly as much as an automated test can honestly support.
One score needs its own caveat. This concept site is deliberately excluded from search engines (every page carries a noindex directive) so a fictional city never pollutes real search results. Lighthouse treats that as a failed crawlability audit and caps the SEO category on every template. That cap is the cost of publishing the concept responsibly; a production municipal site carries no such directive, and its SEO category is measured without it.
This page is one of the concept’s testable patterns. See the rest of how this concept works.