Accessibility Scan Report

Title: London Issue: #68 Date: 4/18/2026, 1:19:53 AM Duration: 21.7m URLs: 100 / 100 🌙 Dark Mode: 26 / 100 URLs⚡ Reduced Motion: 70 / 100 URLs🔍 High Contrast: 1 / 100 URLs🖥️ Forced Colors: 2 / 100 URLs

Summary

Issues

  • By Level: A (122), AA (7)
  • By Version (A & AA): WCAG 2.0 (129)
  • By Category: axe-strict (173) & Others (264)
  • Total: 437 across 23 unique rules & 2 accessibility engines

By Severity

Critical
Serious
Moderate
Minor

By Role

UX Designer
Visual Designer
Content Author
Front-End Developer

Issues

🎯 Pages with Most Errors

Focus your efforts on these pages to make the biggest impact. Click any error count to filter the rule list below. Numbers in parentheses (+N) indicate findings that cover WCAG criteria already reported by axe.

Festival of Ideas Workshop Findings | London City Hall 25
Old Oak and Park Royal Development Corporation | London 26
Home - Homes for Londoners 38
Error - Transport for London 7
Defending London's Postal Service | London City Hall 10
Apply to the EU Settlement Scheme (settled and pre-settled status): Apply to the EU Settlement Scheme - GOV.UK 47
I received support under the first phase of Warmer Homes. Can I re-apply for this phase of Warmer Homes? | London City Hall 7
Where can I find out more about the different kinds of improvements? | London City Hall 7
Could you please confirm if we need to apply for a MAP Quality Mark for Construction provision if it is already under the Mayor’s Construction Academy? Or does the Mayor’s Construction Academy provide the same status as the MAP Quality Mark? | London City Hall 7
What is an affordable home and how can I find one? | London City Hall 6

🔧 Most Common Issues (axe)

14 rules
67 Moderate axe SC 1.1.1 A Visual svg-img-alt
67 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 1.1.1 A

Disabilities affected:
Visual

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans

Examples

Example 1 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="simple-icons-icon simple-icons-icon__linkedin" focusable="false">
XPath: .simple-icons-icon__linkedin
Example 2 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="simple-icons-icon simple-icons-icon__linkedin" focusable="false">
XPath: .simple-icons-icon__linkedin
Example 3 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="simple-icons-icon simple-icons-icon__linkedin" focusable="false">
XPath: .simple-icons-icon__linkedin
Example 4 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="simple-icons-icon simple-icons-icon__linkedin" focusable="false">
XPath: .simple-icons-icon__linkedin
Example 5 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="simple-icons-icon simple-icons-icon__linkedin" focusable="false">
XPath: .simple-icons-icon__linkedin
50 Moderate axe SC 2.2.1 A Motor Cognitive meta-refresh
25 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 2.2.1 A

Disabilities affected:
Motor Cognitive

Affected Pages

Who Is Affected

  • Limited Manipulation 2.2% — ~7,600,000 Americans
  • Limited Reach and Strength 5.8% — ~19,600,000 Americans
  • Limited Language, Cognitive, and Learning Abilities 4.7% — ~15,900,000 Americans

Examples

Example 1 View on Page
Delayed refresh under 20 hours must not be used
Mode: light
<meta http-equiv="refresh" content="360">
XPath: meta[http-equiv="refresh"]
Example 2 View on Page
Delayed refresh under 20 hours must not be used
Mode: dark
<meta http-equiv="refresh" content="360">
XPath: meta[http-equiv="refresh"]
Example 3 View on Page
Delayed refresh under 20 hours must not be used
Mode: light
<meta http-equiv="refresh" content="360">
XPath: meta[http-equiv="refresh"]
Example 4 View on Page
Delayed refresh under 20 hours must not be used
Mode: dark
<meta http-equiv="refresh" content="360">
XPath: meta[http-equiv="refresh"]
Example 5 View on Page
Delayed refresh under 20 hours must not be used
Mode: light
<meta http-equiv="refresh" content="360">
XPath: meta[http-equiv="refresh"]
11 Moderate axe heading-order: Ensures heading levels are not skipped (e.g. h1→h3). Inconsistent heading hierarchy makes page structure difficult to navigate for screen reader users.
7 pages affected

Examples

Example 1 View on Page
Heading levels should only increase by one
Mode: light
<h3 class="h3"> Related questions </h3>
XPath: .u-space-y-4 > h3
Example 2 View on Page
Heading levels should only increase by one
Mode: light
<h5 class="h5"> Eligibility </h5>
XPath: .u-mb-10:nth-child(1) > .u-bg-off-white.u-p-6.sm\:u-px-12 > h5
Example 3 View on Page
Heading levels should only increase by one
Mode: light
<h3 class="h3"> Related questions </h3>
XPath: .u-space-y-4 > h3
Example 4 View on Page
Heading levels should only increase by one
Mode: light
<h5 class="h5"> General </h5>
XPath: h5
Example 5 View on Page
Heading levels should only increase by one
Mode: light
<h4 id="by-karen-lawrence-commissioner-on-the-london-sustainable-development-commission">
XPath: #by-karen-lawrence-commissioner-on-the-london-sustainable-development-commission
10 Moderate axe landmark-unique
9 pages affected

Examples

Example 1 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<section class="u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg" aria-labelledby="key-info-heading">
XPath: .layout__region--first > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section
Example 2 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<nav>
XPath: .layout__region--first > .u-items-baseline.u-h-full > .layout__region.u-space-y-1.u-w-full > section > nav
Example 3 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<section class="u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg" aria-labelledby="key-info-heading">
XPath: .lg\:u-col-span-8 > section
Example 4 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<section class="u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg" aria-labelledby="key-info-heading">
XPath: .lg\:u-col-span-8 > section
Example 5 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<section class="u-space-y-6 u-p-6 sm:u-p-12 md:u-p-7 lg:u-p-8 xl:u-p-12 xl:u-p-11 xxl:u-p-10 u-bg-off-white has-light-bg" aria-labelledby="key-info-heading">
XPath: .lg\:u-col-span-8 > section
9 Moderate axe region: Ensures all page content is contained within landmark regions. Content outside landmarks cannot be found by screen reader users navigating by landmarks.
4 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: No

Examples

Example 1 View on Page
All page content should be contained by landmarks
Mode: light
<div class="footer-locations-grid slide-toggle__child">
XPath: .footer-locations-grid
Example 2 View on Page
All page content should be contained by landmarks
Mode: light
<a href="https://www.sharetobuy.com/" aria-label="Share to Buy">
XPath: a[aria-label="Share to Buy"]
Example 3 View on Page
All page content should be contained by landmarks
Mode: light
<div class="footer-inline-nav inline-nav">
XPath: .footer-inline-nav
Example 4 View on Page
All page content should be contained by landmarks
Mode: light
<a data-module="govuk-skip-link" class="gem-c-skip-link govuk-skip-link govuk-!-display-none-print" href="#content" data-govuk-skip-link-init="" data-govuk-skip-link-module-started="true">Skip to main content</a>
XPath: body > .gem-c-skip-link.govuk-skip-link[data-module="govuk-skip-link"]
Example 5 View on Page
All page content should be contained by landmarks
Mode: light
<div data-module="ga4-link-tracker" class="gem-c-step-nav-header" title="Stay in the UK ('settled status'): step by step" data-ga4-link-tracker-module-started="true">
XPath: .gem-c-step-nav-header
9 Moderate axe empty-table-header
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Table header text should not be empty
Mode: light
<th>&nbsp;</th>
XPath: tr:nth-child(2) > th
Example 2 View on Page
Table header text should not be empty
Mode: light
<th>&nbsp;</th>
XPath: tr:nth-child(3) > th
Example 3 View on Page
Table header text should not be empty
Mode: light
<th>&nbsp;</th>
XPath: tr:nth-child(5) > th
Example 4 View on Page
Table header text should not be empty
Mode: light
<th>&nbsp;</th>
XPath: tr:nth-child(6) > th
Example 5 View on Page
Table header text should not be empty
Mode: light
<th>&nbsp;</th>
XPath: tr:nth-child(7) > th
6 Serious axe SC 1.4.3 AA Visual color-contrast: Ensures text and interactive elements have sufficient contrast ratio (4.5:1 for normal text, 3:1 for large text) against their background.
3 pages affected

Rule Information

Engine: axe

Roles: Visual Designer

Blocking: No

WCAG: SC 1.4.3 AA

Disabilities affected:
Visual

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans
  • Without Perception of Color 4.3% — ~14,500,000 Americans

Examples

Example 1 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<span class="x1lliihq x6ikm8r x10wlt62 x1n2onr6 xlyipyv xuxw1ft">Create new account</span>
XPath: .xp48ta0 > .x14ayic.xwyz465.x1e0frkt > .xsqbvy7.xb9jzoj[role="none"] > .x1lkfr7t.x1lbecb7.xtk6v10 > .xlyipyv.xuxw1ft.x6ikm8r
Example 2 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: dark
<span class="x1lliihq x6ikm8r x10wlt62 x1n2onr6 xlyipyv xuxw1ft">Create new account</span>
XPath: .xp48ta0 > .x14ayic.xwyz465.x1e0frkt > .xsqbvy7.xb9jzoj[role="none"] > .x1lkfr7t.x1lbecb7.xtk6v10 > .xlyipyv.xuxw1ft.x6ikm8r
Example 3 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<p>We use some essential cookies to make this website work.</p>
XPath: p:nth-child(1)
Example 4 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<p>We also use cookies set by other sites to help us deliver content from their services.</p>
XPath: p > p:nth-child(3)
Example 5 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<p>We use some essential cookies to make this website work.</p>
XPath: p > p:nth-child(1)
2 Moderate axe aria-dialog-name
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
ARIA dialog and alertdialog nodes should have an accessible name
Mode: light
<div aria-modal="true" role="dialog" class="x1n2onr6 x1ja2u2z x1afcbsf x78zum5 xdt5ytf x1a2a7pz x6ikm8r x10wlt62 x71s49j x1jx94hy xw5cjc7 x1dmpuos x1vsv7so xau1kf4 x104qc98 x15o3w11 xogydr4 x1vmz7ll x1yyrj1m x193iq5w">
XPath: .x1afcbsf
Example 2 View on Page
ARIA dialog and alertdialog nodes should have an accessible name
Mode: dark
<div aria-modal="true" role="dialog" class="x1n2onr6 x1ja2u2z x1afcbsf x78zum5 xdt5ytf x1a2a7pz x6ikm8r x10wlt62 x71s49j x1jx94hy xw5cjc7 x1dmpuos x1vsv7so xau1kf4 x104qc98 x15o3w11 xogydr4 x1vmz7ll x1yyrj1m x193iq5w">
XPath: .x1afcbsf
2 Moderate axe meta-viewport-large
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Users should be able to zoom and scale the text up to 500%
Mode: light
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2,shrink-to-fit=no">
XPath: meta[name="viewport"]
Example 2 View on Page
Users should be able to zoom and scale the text up to 500%
Mode: dark
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2,shrink-to-fit=no">
XPath: meta[name="viewport"]
1 Critical axe SC 1.1.1 A Visual image-alt: Ensures every <img> element has alternative text. Without alt text, blind users receive no information about the image's meaning or purpose.
1 pages affected

Rule Information

Engine: axe

Roles: Content Author

Blocking: ⚠️ Yes (Task-Blocking)

WCAG: SC 1.1.1 A

Disabilities affected:
Visual

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans

Examples

Example 1 View on Page
Images must have alternative text
Mode: light
<img height="40" src="data:image/svg+xml;b...">
XPath: img
1 Moderate axe landmark-one-main: Ensures the page has exactly one main landmark. Screen reader users rely on the main landmark to skip navigation and jump directly to page content.
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Document should have one main landmark
Mode: light
<html lang="en" class="">
XPath: html
1 Critical axe SC 1.4.4 AA Visual meta-viewport: Ensures viewport meta does not disable text scaling. Disabling user-scaling prevents people with low vision from enlarging text to a readable size.
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: ⚠️ Yes (Task-Blocking)

WCAG: SC 1.4.4 AA

Disabilities affected:
Visual

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans

Examples

Example 1 View on Page
Zooming and scaling must not be disabled
Mode: light
<meta name="viewport" content="width=device-width, initial-scale = 1.0, maximum-scale=1.0, user-scalable=no">
XPath: meta[name="viewport"]
1 Moderate axe SC 4.1.2 A Visual Motor Cognitive aria-prohibited-attr
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 4.1.2 A

Disabilities affected:
Visual Motor Cognitive

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans
  • Limited Manipulation 2.2% — ~7,600,000 Americans
  • Limited Reach and Strength 5.8% — ~19,600,000 Americans
  • Limited Language, Cognitive, and Learning Abilities 4.7% — ~15,900,000 Americans

Examples

Example 1 View on Page
Elements must only use permitted ARIA attributes
Mode: light
<div class="html5-video-player ytp-hide-controls ytp-exp-bottom-control-flexbox ytp-modern-caption ytp-livebadge-color unstarted-mode" tabindex="" id="movie_player" data-version="/s/player/4b0d80ee/player_embed.vflset/en_US/base.js" aria-label="YouTube Video Player">
XPath: #homepagevideo

🔧 Most Common Issues (QualWeb)

9 rules
72 Moderate qualweb QW-ACT-R76: Element has contrast ratio lower than minimum.
72 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Element has contrast ratio lower than minimum.
Mode: light
Example 2 View on Page
Element has contrast ratio lower than minimum.
Mode: light
Example 3 View on Page
Element has contrast ratio lower than minimum.
Mode: light
Example 4 View on Page
Element has contrast ratio lower than minimum.
Mode: light
Example 5 View on Page
Element has contrast ratio lower than minimum.
Mode: light
68 Moderate qualweb QW-ACT-R17: The test target doesn't have an accessible name.
68 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
The test target doesn't have an accessible name.
Mode: light
Example 2 View on Page
The test target doesn't have an accessible name.
Mode: light
Example 3 View on Page
The test target doesn't have an accessible name.
Mode: light
Example 4 View on Page
The test target doesn't have an accessible name.
Mode: light
Example 5 View on Page
The test target doesn't have an accessible name.
Mode: light
67 Moderate qualweb QW-ACT-R21: The test target accessible name doesn't exist or it's empty ('').
67 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
The test target accessible name doesn't exist or it's empty ('').
Mode: light
Example 2 View on Page
The test target accessible name doesn't exist or it's empty ('').
Mode: light
Example 3 View on Page
The test target accessible name doesn't exist or it's empty ('').
Mode: light
Example 4 View on Page
The test target accessible name doesn't exist or it's empty ('').
Mode: light
Example 5 View on Page
The test target accessible name doesn't exist or it's empty ('').
Mode: light
25 Moderate qualweb QW-ACT-R4: The test target refreshes after 360 seconds.
25 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 2 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 3 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 4 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 5 View on Page
The test target refreshes after 360 seconds.
Mode: light
25 Moderate qualweb QW-ACT-R71: The test target refreshes after 360 seconds.
25 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 2 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 3 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 4 View on Page
The test target refreshes after 360 seconds.
Mode: light
Example 5 View on Page
The test target refreshes after 360 seconds.
Mode: light
4 Moderate qualweb QW-ACT-R30: The complete visible text content of the test target neither matches or is contained within its accessible name.
4 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Examples

Example 1 View on Page
The complete visible text content of the test target neither matches or is contained within its accessible name.
Mode: light
Example 2 View on Page
The complete visible text content of the test target neither matches or is contained within its accessible name.
Mode: light
Example 3 View on Page
The complete visible text content of the test target neither matches or is contained within its accessible name.
Mode: light
Example 4 View on Page
The complete visible text content of the test target neither matches or is contained within its accessible name.
Mode: light
1 Moderate qualweb QW-ACT-R13: The test target has focusable children.
1 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
The test target has focusable children.
Mode: light
1 Moderate qualweb QW-ACT-R37: Element has contrast ratio lower than minimum.
1 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Element has contrast ratio lower than minimum.
Mode: light
1 Moderate qualweb QW-ACT-R14: The `meta` element with a `name='viewport'` attribute abolishes the user agent ability to zoom with user-scalable=no or maximum-scale < 2.
1 pages affected

Rule Information

Engine: qualweb

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
The `meta` element with a `name='viewport'` attribute abolishes the user agent ability to zoom with user-scalable=no or maximum-scale < 2.
Mode: light