Today
14 phone-screens
8,968 pixels of content
−46%
Looking ahead

~8 phone-screens of scrolling could be reclaimed on this page if these findings are addressed.

A location-templated SEO landing page for Epsom. Reuses the listing template from page 02 with seven homes pre-filtered, plus an additional body description on each card.

A near-clone of page 02 with location-specific copy. The same patterns observed on page 02 recur here, which is why the cross-page findings are worth flagging, the same template appears on multiple pages.

Page-specific findings

F3.1 Medium density 2

P03 cards carry an extra body description with READ MORE not present on P02

The same `careHomeItem` template renders with an additional 3-paragraph body + READ MORE expander on the location landing template, adding ~150–250 px per card. Inconsistent with P02 which uses the same component without the description.

On the page
F2.7 Medium typography 2

Distance "(2.7 miles)" rendered in faint grey on white

Distance is rendered near `--color-text-dimmed` (#999). At 14 px on

On the page
F3.5 Medium typography 1

Distance text contrast (mirrors F2.7)

Distance "(X.X miles)" rendered in `--color-text-dimmed` (#999) at 14 px, ~2.85:1 contrast on white. Same as F2.7.

On the page
F3.4 Low typography 1

Body lead carries no body-lg weight despite being the page's primary positioning

The lead paragraph on a location landing page is the page's primary positioning, yet renders at the same `body-md` weight as the boilerplate beneath it.

On the page
F3.2 Medium navigation 1

SEO copy sits before the result cards, delaying the user's self-service step

The page leads with two paragraphs of templated SEO copy listing every Epsom home name plus generic Care UK boilerplate. The copy exists for a reason, keyword density, location names and topical depth all feed organic search ranking, which is what makes the page work as a landing page in the first place. The issue isn't that the copy exists; it's where it sits. On mobile, the user landing from "Epsom care home" reaches two paragraphs of brand copy before they can see any homes, so the page asks them to read the brand story before they can self-identify the home they want.

On the page

Cross-page findings that apply here

These are component-level findings catalogued in the Cross-page findings view. Each is observed on multiple pages, so they're worth highlighting separately from page-specific issues.

C-ALIGN.1 High layout P01P02P03P04P05P06 3

Section components sit with inconsistent alignment to the page edges, breaking visual flow

Across the audit, several different section components on the same page render with mismatched left and right page margins. Some sit flush to the left edge with a wider right gutter; others reverse it; some sit roughly centred but with their inner content offset. On a mobile viewport where horizontal space is already at a premium, the result is a page that reads as misaligned. Each section starts at a slightly different horizontal position, the vertical rhythm down the page breaks, and the side with exaggerated padding wastes content area. Beyond the wasted space, the inconsistency carries a cognitive cost. Each new section asks the eye to re-anchor on a different horizontal axis. The user is constantly recalibrating where content begins and ends, which interrupts the natural top-to-bottom reading flow and adds friction to scanning the page. On a long page (the Care Home Detail page is 27 phone-screens deep), that friction compounds. The pattern is observable on the Care Home Detail page across the purple intro panels, the lighter-grey content cards, the Feature text panels (variants A and B), Care at our home, Reviews & Ratings, and the Nearby homes block. It carries over to the listing, promo-landing and careers templates, which inherit the same section components.

On the page
C-CARD-LIST.1 High density P02P03 3

Care-home result card is heavy on mobile (around 770–970 px tall per card)

Each card stacks a full-width image, a title row, a CQC line, a 7-row care-type matrix showing offered + not-offered services with similar visual weight, a phone number row, and a full-width "VIEW HOME" button. On P02 the template runs around 770 px per card (verified from heading positions); on P03 it's closer to 970 px because each card adds a description block. Either way, only about one card fits on the visible viewport at a time.

On the page
C-CHAT.1 High layout P01P02P03P04P05P06 2

Two persistent bottom-anchored widgets compound on every screen

Two competing always-on bottom widgets reduce the effective scrollable viewport by ~80–200 logical px on every screen of content the user reads. WCAG 2.4.11 (Focus Not Obscured), content under a persistent widget cannot be focused without scrolling around it. Per page: - P01, Olark chat icon + Recently Viewed (2 widgets) - P02–P03, Recently Viewed only - P04, Recruiting Assistant + Recently Viewed (2 widgets) - P05–P06, Recently Viewed only

On the page
C-IMG.1 High layout P00P01P02P03P04P05P06 2

71% of images across the audit are missing width / height / aspect-ratio

Images without explicit dimensions cause **layout shift** as they load, content jumps as the browser reserves space. This produces a poor Core Web Vitals CLS score (a Google ranking signal) and a janky perceived performance. The brief explicitly calls this out. Per page: - P00: 21 / 72 (29%) - P01: 242 / 297 (81%) - P02: 13 / 15 (87%) - P03: 10 / 12 (83%) - P04: 18 / 69 (26%) - P05: 3 / 5 (60%) - P06: 104 / 106 (98%)

On the page
C-CARD-LIST.2 Medium density P02P03 1

Care-type matrix gives offered and not-offered services the same visual weight

Each result card lists 7 care types as a matrix. Pink-check icons mark services the home offers; grey-circle icons mark services it doesn't. Both states get the same row height and the same visual weight, so "what isn't offered" takes up just as much of the card as "what is." Across 10 cards on P02 (70 rows) and 7 cards on P03 (49 rows), a meaningful chunk of every card is given to absences rather than presences. There's also no explicit label clarifying that the grey circles mean "not offered", the user has to infer it from the icon contrast against the pink checks.

On the page
C-FONT.1 Medium typography P00P01P02P03P04P05P06

11–14 px text used in 100+ places site-wide

WCAG and iOS HIG both recommend ≥ 16 px for body text. 11–12 px text is below that floor; 14 px is borderline (acceptable for footnotes / captions, not body copy). P01 alone has 39 elements at 11 px, 38 at 12 px, 99 at 14 px.

C-NAV.1 Low density P00P01P02P03P04P05P06 2

Top utility tab bar consumes ~50 logical px on every page

The three audience tabs (CAREERS / CARE HOMES / CUSTOMERS) sit at the very top of every page, they're a Care UK Group navigation (sister-site switcher) but consume permanent vertical space on a small viewport.

On the page
C-FOOTER.1 Low touch P00P01P02P03P04P05P06

Eight footer navigation links sit below the WCAG AA tap minimum on every page

Eight footer links measure 19 px tall on every audited page: About Care UK, Press & media, Feedback & complaints, Careers at Care UK, Legal & regulatory information, Privacy policies, Cookies policy, Web Accessibility. The WCAG 2.5.8 AA minimum is 24×24 px. These don't qualify for the inline-text exception in 2.5.8, since each link is its own row in a stacked footer navigation list, not a phrase inside a sentence. They are explicit navigation controls.

Potential ways forward

Observations on patterns that could improve the issues above. These are possibilities worth exploring, not committed solutions, the audit's deliverable is the diagnosis.

Signposting on the result card

Same observation as page 02. Each card could carry just enough for the user to recognise the right home and click through, rather than reproducing the home's services and contact details inline.

A more focused lead

The lead body currently lists every Epsom home name and repeats brand boilerplate. A user landing here from a search for "Epsom care home" needs to know quickly that Care UK serves Epsom and where to find the homes; the cards beneath can do the rest.