# Design report: www.gov.uk

- Score: 80 / 100, grade B
- Scanned: 2026-10-24T04:50:23.276Z
- Pages: https://www.gov.uk/, https://www.gov.uk/help/cookies, https://www.gov.uk/browse
- Checks: 2 failed, 2 warnings, 11 passed, 12 excluded
- Report: https://is-aesthetic.com/r/www.gov.uk

## Tiers

- Essential: 80 of 100 points (15 evaluated, 431 excluded)
- Recommended: 0 of 0 points (0 evaluated, 73 excluded)
- Bonus: 0 of 5 points (0 evaluated, 14 excluded)

## Domains

- Visual communication: 50
- Information and findability: 88
- Functional and interaction support: 100
- Inclusion and adaptation: 81
- Visual expression: not measured
- Transparency and agency: not measured

## What to fix

### Essential

#### Fail: Repeated parts look the same (C014.1)

- Domain: Visual communication
- Checks: Cards, buttons and list rows of one kind should share padding, radius, borders, shadow and type.
- Measured on /: 24 px largest difference
- Passes at: Matching component variants differ by at most 1 px
- Warning at: A measured spacing or size difference is between 2 and 4 px
- Fails at: A difference exceeds 4 px, or a compared style attribute differs
- Fix: Build each repeated element from one component or class and remove one-off overrides, so padding, radius, border, shadow and type match within 1 px.
- Elements:
  - 1440 px · `html > body > main > div > div:nth-of-type(1) > div > div:nth-of-type(1) > section > div > div > div:nth-of-type(2) > ul > li:nth-of-type(2)`
  - 1440 px · `html > body > main > div > div:nth-of-type(1) > div > div:nth-of-type(1) > section > div > div > div:nth-of-type(2) > ul > li:nth-of-type(3)`
  - 1440 px · `html > body > main > div > div:nth-of-type(1) > div > div:nth-of-type(1) > section > div > div > div:nth-of-type(2) > ul > li:nth-of-type(4)`

#### Fail: Names include the visible label (C160.2)

- Domain: Inclusion and adaptation
- Checks: A control's accessible name should contain the words people see on it.
- Measured on /: 2 names missing their visible label
- Measured on /help/cookies: 1 name missing its visible label
- Measured on /browse: 2 names missing their visible label
- Passes at: A control’s accessible name contains its visible label
- Fails at: A control’s accessible name omits its visible label
- Fix: Start the aria-label with the visible text, or remove the aria-label so the visible text becomes the name. Voice-control users say what they see.
- Elements:
  - 1440 px · `html > body > div:nth-of-type(1) > div > div:nth-of-type(1) > div > div` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-0%2Fcrop-1440-0.webp)
  - 1440 px · `html > body > div:nth-of-type(2) > div > div:nth-of-type(1)` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-0%2Fcrop-1440-1.webp)
  - 1440 px · `html > body > div:nth-of-type(3) > div > div:nth-of-type(1)` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-1%2Fcrop-1440-0.webp)
  - 1440 px · `html > body > div:nth-of-type(1) > div > div:nth-of-type(1) > div > div` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-2%2Fcrop-1440-0.webp)
  - 1440 px · `html > body > div:nth-of-type(3) > div > div:nth-of-type(1)` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-2%2Fcrop-1440-1.webp)

#### Warning: Current page is marked (C077.1)

- Domain: Information and findability
- Checks: The nav item for the page you're on should carry aria-current, once per navigation group.
- Measured on /: 2 navigation groups without a current marker
- Passes at: Each relevant navigation group identifies one current item
- Warning at: No current marker, but a distinct current item is visible
- Fails at: A relevant group has conflicting current markers or no identifiable current item
- Fix: Add aria-current="page" to the link for the current page, exactly once in each nav, and style that state so it is visible too.
- Elements:
  - 1440 px · `html > body > header > div > div > div > nav` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-0%2Fcrop-1440-1000.webp)
  - 390 px · `html > body > header > div > div > div > nav` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-0%2Fcrop-390-1001.webp)

#### Warning: Heading levels are in order (C167.2)

- Domain: Inclusion and adaptation
- Checks: A page needs one h1, headings that don't skip levels, and a main landmark.
- Measured on /: 2 outline issues
- Measured on /help/cookies: 1 outline issue
- Measured on /browse: 2 outline issues
- Passes at: No heading-outline findings
- Warning at: One or more heading-outline findings; advisory in the fixed variant
- Fix: Use one h1, then h2 and h3 in order without skipping, and wrap the main content in a main element. Set sizes in CSS, not by picking a level.
- Elements:
  - 1440 px · `html > body > a` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-0%2Fcrop-1440-2.webp)
  - 1440 px · `html > body > div:nth-of-type(2) > div > div:nth-of-type(1) > div > div:nth-of-type(1) > div > h2`
  - 1440 px · `html > body > div:nth-of-type(3) > div > div:nth-of-type(1) > div > div:nth-of-type(1) > div > h2` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-1%2Fcrop-1440-1.webp)
  - 1440 px · `html > body > a` · [crop](https://is-aesthetic.com/api/v1/evidence?path=reports%2F906aeb90-5b23-429d-8023-64a0aaeb454b%2Fpage-2%2Fcrop-1440-2.webp)
  - 1440 px · `html > body > div:nth-of-type(3) > div > div:nth-of-type(1) > div > div:nth-of-type(1) > div > h2`

## Passed

- Nothing overlaps (C019.1)
- Dates aren't stale (C060.1)
- Headings are distinct (C073.2)
- Same link text, same place (C078.3)
- Controls are labelled on screen (C108.1)
- Images have alt text (C139.1)
- Hidden things stay hidden (C141.2)
- Targets are big enough (C158)
- Every control has a name (C160.1)
- Data tables use table tags (C167.5)
- Code order matches the screen (C168.1)

## Excluded

- Supporting text steps back (C006.1): No captions, hints or footnotes on this page.
- Links don't rely on colour (C031.1): Required inputs unavailable: states
- Paragraphs stay short (C074.1): Unresolved inputs or thresholds: 1
- C123.2 (C123.2): Required inputs unavailable: form-submit, owned or design-bench page
- Tab order follows the page (C154.2): Required inputs unavailable: keyboard
- Headings use heading tags (C167.1): No text styled as a heading.
- Live regions are scoped (C170.2): No live regions on this page.
- Works at 320 px wide (C173): Required inputs unavailable: interaction
- Crops keep the subject (C194.1): No cropped images with a named subject.
- Notices can be dismissed (CAR-14.1): No informational banners or toasts on this page.
- Required fields are marked (C112.1): No required fields on this page.
- Format rules are shown (C112.2): No fields with format rules on this page.

## What this doesn't cover

- Aesthetic judgment, brand intent and designer calibration
- Text contrast is not measured yet (the vetted contrast rules are not implemented in this pin)
- Briefs, specifications, logins and declared design systems
- Form submissions, transactions and activated task flows
- Closed shadow roots, cross-origin frame contents and other themes
- Rules without a vetted implementation or required measurement
- Pages or assets refused by robots.txt or the scan limits

Methodology: https://is-aesthetic.com/methodology
