Accessibility Scan Report

Title: LocalGov Drupal Issue: #38 Date: 4/27/2026, 1:23:41 AM Duration: 15.3m URLs: 70 / 70 🌙 Dark Mode: 7 / 70 URLs⚡ Reduced Motion: 48 / 70 URLs🔍 High Contrast: 4 / 70 URLs🖥️ Forced Colors: 5 / 70 URLs

Summary

Issues

  • By Level: A (66), AA (42)
  • By Version (A & AA): WCAG 2.0 (108)
  • By Category: axe-strict (305) & Others (8362)
  • Total: 8667 across 69 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.

Welcome to Calderdale Council | Calderdale Council 56
Milton Keynes City Council 56
Home | Knowsley Council 35
Homepage | Havant Borough Council 20
Northumberland County Council | Northumberland County Council 21
Welcome to South Staffordshire Council - Homepage | South Staffordshire District Council 31
Homepage | Laois County Council 21
Homepage | Royal Borough of Kensington and Chelsea 20
Home | Elmbridge Borough Council 19
Welcome to Westmorland and Furness | Westmorland and Furness Council 16

🔧 Most Common Issues (axe)

28 rules
125 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.
47 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
All page content should be contained by landmarks
Mode: light
<a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a>
XPath: .focusable
Example 2 View on Page
All page content should be contained by landmarks
Mode: light
<div class="localgov-alert-banner__content">
XPath: .localgov-alert-banner__content
Example 3 View on Page
All page content should be contained by landmarks
Mode: light
<div class="banner__image">
XPath: .banner__image
Example 4 View on Page
All page content should be contained by landmarks
Mode: light
<div class="field field--name-localgov-title field--type-string field--label-hidden field__item">How can we help?</div>
XPath: .field--name-localgov-title
Example 5 View on Page
All page content should be contained by landmarks
Mode: light
<input data-drupal-selector="edit-s" placeholder="Search" type="text" id="edit-s--2" name="s" value="" size="30" maxlength="128" class="form-text required" required="required" aria-required="true">
XPath: .beta-search-box > .views-exposed-form.block-localgov-search.block-localgov-sitewide-search-block > form > .js-form-item.form-item.js-form-type-search-api-autocomplete > .form-text.required[data-drupal-selector="edit-s"]
42 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.
11 pages affected

Rule Information

Engine: axe

Roles: Visual Designer

Blocking: No

WCAG: SC 1.4.3 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
  • 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
<h2>Clare County Council</h2>
XPath: #block-bbd-localgov-clarecountycouncil > h2
Example 2 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<h2 id="block-bbd-localgov-quicklinks-menu">Quicklinks</h2>
XPath: #block-bbd-localgov-quicklinks-menu
Example 3 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<h2 id="block-bbd-localgov-help-menu">Help</h2>
XPath: #block-bbd-localgov-help-menu
Example 4 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<h2 id="block-bbd-localgov-terms-menu">Terms</h2>
XPath: #block-bbd-localgov-terms-menu
Example 5 View on Page
Elements must meet minimum color contrast ratio thresholds
Mode: light
<h2>Google translate</h2>
XPath: #block-bbd-localgov-gtranslate-block--2 > h2
24 Moderate axe SC 1.1.1 A Visual svg-img-alt
1 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 data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg="" alt="">
XPath: a[href$="apply"] > .fa-chevron-right[data-fa-pseudo-element="::after"][data-icon="chevron-right"]
Example 2 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg="" alt="">
XPath: a[href$="apply-or-search-job"] > .fa-chevron-right[data-fa-pseudo-element="::after"][data-icon="chevron-right"]
Example 3 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg="" alt="">
XPath: .dio_apply-region > .paragraph--type--localgov-text.paragraph.paragraph--view-mode--default > .field--name-localgov-text.field--type-text-long.field--label-hidden > ul > li:nth-child(3) > a[data-entity-substitution="canonical"][data-entity-type="node"] > .fa-chevron-right[data-fa-pseudo-element="::after"][data-icon="chevron-right"]
Example 4 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg="" alt="">
XPath: a[href$="apply-planning-permission"] > .fa-chevron-right[data-fa-pseudo-element="::after"][data-icon="chevron-right"]
Example 5 View on Page
<svg> elements with an img role must have alternative text
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2svg="" alt="">
XPath: a[title="Admissions"] > .fa-chevron-right[data-fa-pseudo-element="::after"][data-icon="chevron-right"]
11 Moderate axe landmark-unique
9 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<div class="search-block-form block block-search block-search-form-block" data-drupal-selector="search-block-form" id="block-searchform" role="search">
XPath: #block-searchform
Example 2 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<div data-parent-id="our-services-id" class="lgd-header__nav lbhf-header-drawer-item lbhf-header-drawer-item__sm" id="our-services-drawer" tabindex="-1" aria-labelledby="our-services-id" role="region">
XPath: #our-services-drawer
Example 3 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<header class="lgd-header" data-once="allStickyHeaders">
XPath: header
Example 4 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<header class="lgd-header" data-once="allStickyHeaders">
XPath: header
Example 5 View on Page
Landmarks should have a unique role or role/label/title (i.e. accessible name) combination
Mode: light
<main class="main" id="main-content">
XPath: #main-content
8 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.
8 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: No

Examples

Example 1 View on Page
Document should have one main landmark
Mode: light
<html>
XPath: html
Example 2 View on Page
Document should have one main landmark
Mode: light
<html>
XPath: html
Example 3 View on Page
Document should have one main landmark
Mode: light
<html>
XPath: html
Example 4 View on Page
Document should have one main landmark
Mode: light
<html><head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> </body></html>
XPath: html
Example 5 View on Page
Document should have one main landmark
Mode: light
<html lang="en">
XPath: html
7 Moderate axe label-title-only
5 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Form elements should have a visible label
Mode: light
<input title="Search" autocomplete="off" data-drupal-selector="edit-search-query" type="text" id="edit-search-query--2" name="search_query" value="" size="60" maxlength="128" placeholder="Search" class="form-text required" required="required" aria-required="true">
XPath: #edit-search-query--2
Example 2 View on Page
Form elements should have a visible label
Mode: light
<input title="Search" autocomplete="off" data-drupal-selector="edit-search-query" type="text" id="edit-search-query" name="search_query" value="" size="60" maxlength="128" placeholder="Search" class="form-text required" required="required" aria-required="true">
XPath: #edit-search-query
Example 3 View on Page
Form elements should have a visible label
Mode: light
<input title="Enter the terms you ..." autocomplete="off" placeholder="Search Essex County ..." onfocus="this.placeholder = '..." onblur="this.placeholder = '..." data-drupal-selector="edit-search-keys" type="text" id="edit-search-keys" name="search_keys" value="" size="60" maxlength="128" class="fo ...>
XPath: #edit-search-keys
Example 4 View on Page
Form elements should have a visible label
Mode: light
<input placeholder="Enter your email address" name="e" type="email" required="" id="prefix-emailInput" title="Enter your email address">
XPath: #prefix-emailInput
Example 5 View on Page
Form elements should have a visible label
Mode: light
<input title="Search" data-drupal-selector="edit-keys" placeholder="Search our website" id="edit-keys--u2Hygo0_wgk" type="search" name="keys" value="" size="15" maxlength="128" class="form-search">
XPath: #edit-keys--u2Hygo0_wgk
7 Critical axe SC 4.1.2 A Visual Motor Cognitive button-name: Ensures buttons have discernible text so screen reader users know what action the button performs.
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, Content Author

Blocking: ⚠️ Yes (Task-Blocking)

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
Buttons must have discernible text
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="Toggle on">ON</p></button>
XPath: .qc-cmp2-expandable-info:nth-child(1) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role="switch"]
Example 2 View on Page
Buttons must have discernible text
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="Toggle on">ON</p></button>
XPath: .qc-cmp2-expandable-info:nth-child(2) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role="switch"]
Example 3 View on Page
Buttons must have discernible text
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="Toggle on">ON</p></button>
XPath: .qc-cmp2-expandable-info:nth-child(3) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role="switch"]
Example 4 View on Page
Buttons must have discernible text
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="Toggle on">ON</p></button>
XPath: .qc-cmp2-expandable-info:nth-child(4) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role="switch"]
Example 5 View on Page
Buttons must have discernible text
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="Toggle on">ON</p></button>
XPath: .qc-cmp2-expandable-info:nth-child(5) > .qc-cmp2-toggle-switch > .css-w01txj.qc-cmp2-toggle[role="switch"]
6 Moderate axe SC 2.2.1 A Motor Cognitive meta-refresh
3 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"]
6 Serious axe SC 3.1.1 A Cognitive html-has-lang: Ensures the <html> element has a lang attribute. Screen readers use the language attribute to select the correct pronunciation engine.
6 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 3.1.1 A

Disabilities affected:
Cognitive

Who Is Affected

  • Limited Language, Cognitive, and Learning Abilities 4.7% — ~15,900,000 Americans

Examples

Example 1 View on Page
<html> element must have a lang attribute
Mode: light
<html>
XPath: html
Example 2 View on Page
<html> element must have a lang attribute
Mode: light
<html>
XPath: html
Example 3 View on Page
<html> element must have a lang attribute
Mode: light
<html>
XPath: html
Example 4 View on Page
<html> element must have a lang attribute
Mode: light
<html><head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> </body></html>
XPath: html
Example 5 View on Page
<html> element must have a lang attribute
Mode: light
<html><head><title>403 Forbidden</title></head> <body> <center><h1>403 Forbidden</h1></center> </body></html>
XPath: html
6 Moderate axe aria-dialog-name
5 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 class="eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--opt-in" role="dialog" aria-hidden="false" data-once="data-table">
XPath: .eu-cookie-compliance-banner
Example 2 View on Page
ARIA dialog and alertdialog nodes should have an accessible name
Mode: light
<div id="prefix-overlay-outer" tabindex="0" role="dialog" aria-modal="true" aria-describedby="prefix-overlay-step1">
XPath: #prefix-overlay-outer
Example 3 View on Page
ARIA dialog and alertdialog nodes should have an accessible name
Mode: light
<div id="prefix-overlay-outer" tabindex="0" role="dialog" aria-labelledby="#prefix-overlay-header" aria-describedby="#prefix-overlay-step1" style="height: 349px;">
XPath: #prefix-overlay-outer
Example 4 View on Page
ARIA dialog and alertdialog nodes should have an accessible name
Mode: light
<div id="prefix-overlay-outer" tabindex="0" role="dialog" aria-modal="true" aria-describedby="prefix-overlay-step1">
XPath: #prefix-overlay-outer
Example 5 View on Page
ARIA dialog and alertdialog nodes should have an accessible name
Mode: light
<div id="prefix-overlay-outer" tabindex="0" role="dialog" aria-modal="true" aria-describedby="prefix-overlay-step1">
XPath: #prefix-overlay-outer
6 Moderate axe landmark-no-duplicate-contentinfo: Ensures the page has only one contentinfo landmark (<footer> at top level). Duplicate contentinfo landmarks make landmark navigation unpredictable.
6 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Document should not have more than one contentinfo landmark
Mode: light
<div class="eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories cookies-notice" role="contentinfo" aria-label="cookienotice" aria-hidden="false">
XPath: .eu-cookie-compliance-banner
Example 2 View on Page
Document should not have more than one contentinfo landmark
Mode: light
<div class="eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories cookies-notice" role="contentinfo" aria-label="cookienotice" aria-hidden="false">
XPath: .eu-cookie-compliance-banner
Example 3 View on Page
Document should not have more than one contentinfo landmark
Mode: light
<div class="eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories cookies-notice" role="contentinfo" aria-label="cookienotice" aria-hidden="false">
XPath: .eu-cookie-compliance-banner
Example 4 View on Page
Document should not have more than one contentinfo landmark
Mode: light
<div class="eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories cookies-notice" role="contentinfo" aria-label="cookie notice" aria-hidden="false">
XPath: .eu-cookie-compliance-banner
Example 5 View on Page
Document should not have more than one contentinfo landmark
Mode: light
<div class="eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories cookies-notice" role="contentinfo" aria-label="cookienotice" aria-hidden="false">
XPath: .eu-cookie-compliance-banner
6 Moderate axe landmark-banner-is-top-level
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Banner landmark should not be contained in another landmark
Mode: light
<div class="lgd-region lgd-region--header region region-header" role="banner">
XPath: .lgd-region--header
Example 2 View on Page
Banner landmark should not be contained in another landmark
Mode: light
<div class="lgd-region lgd-region--content region region-content" role="banner">
XPath: .lgd-region--content
Example 3 View on Page
Banner landmark should not be contained in another landmark
Mode: light
<div class="lgd-region lgd-region--content-bottom region region-content-bottom" role="banner">
XPath: .lgd-region--content-bottom
Example 4 View on Page
Banner landmark should not be contained in another landmark
Mode: light
<div class="lgd-region lgd-region--footer-first region region-footer-first" role="banner">
XPath: .lgd-region--footer-first
Example 5 View on Page
Banner landmark should not be contained in another landmark
Mode: light
<div class="lgd-region lgd-region--footer-second region region-footer-second" role="banner">
XPath: .lgd-region--footer-second
5 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.
5 pages affected

Rule Information

Engine: axe

Roles: Content Author, UX Designer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Heading levels should only increase by one
Mode: light
<h3 class="box-link__title"> <a class="box-link__link" href="/planning-and-building/development-management/planning-permission"> Online Planning </a> </h3>
XPath: .box-links-listing__list-item.lgd-row__one-quarter:nth-child(1) > .box-link.paragraph--type--localgov-box-link > .box-link__title
Example 2 View on Page
Heading levels should only increase by one
Mode: light
<h4 class="heading heading--small"> Connect with us </h4>
XPath: h4
Example 3 View on Page
Heading levels should only increase by one
Mode: light
<h4 id="the-crisis-and-resilience-fund-crf-has-replaced-the-household-support-fund">The Crisis and Resilience Fund (CRF) has replaced the Household Support Fund</h4>
XPath: #the-crisis-and-resilience-fund-crf-has-replaced-the-household-support-fund
Example 4 View on Page
Heading levels should only increase by one
Mode: light
<h4>Engines, entertainment and family fun gearing up for Grantham Car Show</h4>
XPath: .views-row.lgd-row__one-third:nth-child(1) > .node--type-localgov-news-article.lgd-teaser.lgd-teaser--localgov-news-article > .card-link > .lgd-teaser__content.lgd-teaser__content--localgov-news-article > .text-wrapper > .field--name-field-display-title.field--type-string.field--label-hidden > h4
Example 5 View on Page
Heading levels should only increase by one
Mode: light
<h3 class="services-menu-title">Services</h3>
XPath: .services-menu-title
5 Moderate axe landmark-no-duplicate-banner: Ensures the page has only one banner landmark (<header> at top level). Multiple banners confuse screen reader users navigating by landmarks.
4 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, UX Designer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Document should not have more than one banner landmark
Mode: light
<header class="lgd-header" data-once="allStickyHeaders">
XPath: header
Example 2 View on Page
Document should not have more than one banner landmark
Mode: light
<header class="lgd-header" aria-label="Navigation" data-once="allStickyHeaders">
XPath: header
Example 3 View on Page
Document should not have more than one banner landmark
Mode: dark
<header class="lgd-header" aria-label="Navigation" data-once="allStickyHeaders">
XPath: header
Example 4 View on Page
Document should not have more than one banner landmark
Mode: light
<header> <h1 class="visually-hidden">Welcome to Elmbridge.gov.uk</h1> </header>
XPath: body > header
Example 5 View on Page
Document should not have more than one banner landmark
Mode: light
<header class="header eu-cookie-compliance-status-null" data-eu-cookie-compliance-once="true" data-once="site-header">
XPath: header
5 Moderate axe aria-allowed-role
3 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
ARIA role should be appropriate for the element
Mode: light
<article class="js-localgov-alert-ba..." data-dismiss-alert-t...="alert-63--b0efba5585..." role="alert" data-once="allAlertBanners">
XPath: .js-localgov-alert-banner
Example 2 View on Page
ARIA role should be appropriate for the element
Mode: light
<li class="splide__slide cmbc-carousel_item is-active is-visible" id="carousel-mogig9la45d5h-slide01" role="group" aria-roledescription="slide" aria-label="1 of 4" style="width: calc(100%);">
XPath: #carousel-mogig9la45d5h-slide01
Example 3 View on Page
ARIA role should be appropriate for the element
Mode: light
<button role="listitem" class="qc-cmp2-list-item-header" aria-label="Opt-Outs" aria-live="polite">
XPath: button[aria-label="Opt-Outs"]
Example 4 View on Page
ARIA role should be appropriate for the element
Mode: light
<li id="Google Basic Consents" class="qc-cmp2-list-item qc-cmp2-expanded" role="list">
XPath: #Google\ Basic\ Consents
Example 5 View on Page
ARIA role should be appropriate for the element
Mode: light
<button class="qc-cmp2-list-item-header" role="listitem" aria-label="Google consents" aria-live="polite">
XPath: button[aria-label="Google consents"]
5 Moderate axe SC 1.1.1 A Visual role-img-alt
1 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
[role="img"] elements must have alternative text
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: .call-to-action.paragraph--type--call-to-action.paragraph--view-mode--default > .ext[data-extlink=""][aria-label="(link is external)"] > .fa-ext.extlink[role="img"]
Example 2 View on Page
[role="img"] elements must have alternative text
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href$="foster4.co.uk/"] > .fa-ext.extlink[role="img"]
Example 3 View on Page
[role="img"] elements must have alternative text
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href$="knowsleyeps.co.uk/"] > .fa-ext.extlink[role="img"]
Example 4 View on Page
[role="img"] elements must have alternative text
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: .menu-item:nth-child(10) > .ext[data-extlink=""][aria-label="(link is external)"] > .fa-ext.extlink[role="img"]
Example 5 View on Page
[role="img"] elements must have alternative text
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: .menu-item:nth-child(13) > .ext[data-extlink=""][aria-label="(link is external)"] > .fa-ext.extlink[role="img"]
4 Moderate axe page-has-heading-one
3 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Page should contain a level-one heading
Mode: light
<html lang="en" dir="ltr" class="sticky-header-html js" style="--lgd-sticky-header-position: 0px; --lgd-sticky-header-height: 116px;">
XPath: html
Example 2 View on Page
Page should contain a level-one heading
Mode: light
<html class="overflow-hidden h-full w-full">
XPath: #connect-frame
Example 3 View on Page
Page should contain a level-one heading
Mode: light
<html lang="en" dir="ltr" class="sticky-header-html js" style="--lgd-sticky-header-position: 0px; --lgd-sticky-header-height: 92px;">
XPath: html
Example 4 View on Page
Page should contain a level-one heading
Mode: light
<html lang="en" dir="ltr" class="sticky-header-html js" style="--lgd-sticky-header-position: 0px; --lgd-sticky-header-height: 121px;">
XPath: html
4 Moderate axe image-redundant-alt
3 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Alternative text of images should not be repeated as text
Mode: light
<img loading="lazy" src="/sites/default/files/styles/footer_icons/public/2022-09/group_21.png?itok=2sAiHH2g" width="66" height="66" alt="Email" data-once="allImages">
XPath: img[alt="Email"]
Example 2 View on Page
Alternative text of images should not be repeated as text
Mode: light
<img loading="lazy" src="/sites/default/files/styles/footer_icons/public/2022-09/group_19.png?itok=caeYrV6F" width="66" height="66" alt="Customer feedback" data-once="allImages">
XPath: img[alt="Customer feedback"]
Example 3 View on Page
Alternative text of images should not be repeated as text
Mode: light
<img src="data:image/svg+xml;b..." alt="begin" style="margin-left: 5px;">
XPath: img[alt="begin"]
Example 4 View on Page
Alternative text of images should not be repeated as text
Mode: light
<img src="data:image/svg+xml;b..." alt="begin" style="margin-left: 5px;">
XPath: img[alt="begin"]
3 Serious axe tabindex: Ensures tabindex attribute values greater than 0 are not used. Positive tabindex values create an unnatural tab order that disorients keyboard users.
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: ⚠️ Yes (Task-Blocking)

Affected Pages

Examples

Example 1 View on Page
Elements should not have tabindex greater than zero
Mode: light
<a href="#main-content" class="visually-hidden focusable skip-link" tabindex="1"> Skip to main content </a>
XPath: .focusable
Example 2 View on Page
Elements should not have tabindex greater than zero
Mode: light
<div class="site-logo" tabindex="2"> <img src="/themes/custom/bfc/logo.svg" alt="Bracknell Forest Council"> </div>
XPath: .site-logo
Example 3 View on Page
Elements should not have tabindex greater than zero
Mode: light
<button aria-controls="main-menu-wrapper" aria-expanded="false" type="button" class="menu__button" tabindex="3">
XPath: .menu__button
2 Moderate axe SC 1.3.1 A Visual Cognitive aria-required-parent
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 1.3.1 A

Disabilities affected:
Visual Cognitive

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans
  • Limited Language, Cognitive, and Learning Abilities 4.7% — ~15,900,000 Americans

Examples

Example 1 View on Page
Certain ARIA roles must be contained by particular parents
Mode: light
<button role="listitem" class="qc-cmp2-list-item-header" aria-label="Opt-Outs" aria-live="polite">
XPath: button[aria-label="Opt-Outs"]
Example 2 View on Page
Certain ARIA roles must be contained by particular parents
Mode: light
<p class="qc-cmp2-list-item-title" role="listitem"><p>Google consents</p></p>
XPath: .qc-cmp2-list-item-title[role="listitem"]
2 Serious axe SC 1.3.1 A Visual Cognitive list: Ensures <ul> and <ol> contain only <li> elements. Invalid list structure prevents screen readers from announcing list item counts and navigation shortcuts.
1 pages affected

Rule Information

Engine: axe

Roles: Content Author, Front-End Developer

Blocking: No

WCAG: SC 1.3.1 A

Disabilities affected:
Visual Cognitive

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans
  • Limited Language, Cognitive, and Learning Abilities 4.7% — ~15,900,000 Americans

Examples

Example 1 View on Page
<ul> and <ol> must only directly contain <li>, <script> or <template> elements
Mode: light
<ul class="qc-cmp2-consent-list css-1f88jwd">
XPath: .css-1f88jwd
Example 2 View on Page
<ul> and <ol> must only directly contain <li>, <script> or <template> elements
Mode: light
<ul class="qc-cmp2-consent-list css-def7e2">
XPath: .css-def7e2
1 Moderate axe SC 2.1.1, SC 2.1.3 A Motor scrollable-region-focusable
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 2.1.1, SC 2.1.3 A

Disabilities affected:
Motor

Affected Pages

Who Is Affected

  • Limited Manipulation 2.2% — ~7,600,000 Americans
  • Limited Reach and Strength 5.8% — ~19,600,000 Americans

Examples

Example 1 View on Page
Scrollable region must have keyboard access
Mode: light
<div id="uc-cmp-description" class="overflow">
XPath: #usercentrics-cmp-ui,#uc-cmp-description
1 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.0, user-scalable=yes">
XPath: meta[name="viewport"]:nth-child(28)
1 Moderate axe empty-heading
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Headings should not be empty
Mode: light
<h2 class="call-to-action-links-listing__title"></h2>
XPath: .call-to-action-links-listing__title
1 Serious axe SC 4.1.2 A Visual Motor Cognitive frame-title: Ensures <iframe> and <frame> elements have a descriptive title attribute so screen reader users understand what the embedded content contains.
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer, Content Author

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
Frames must have an accessible name
Mode: light
<iframe src="javascript:false" title="" role="presentation" style="position: absolute; width: 0px; height: 0px; border: 0px;"></iframe>
XPath: #chatInlay
1 Moderate axe SC 1.3.1 A Visual Cognitive aria-required-children
1 pages affected

Rule Information

Engine: axe

Roles: Front-End Developer

Blocking: No

WCAG: SC 1.3.1 A

Disabilities affected:
Visual Cognitive

Affected Pages

Who Is Affected

  • Without Vision 1.0% — ~3,400,000 Americans
  • Limited Vision 2.4% — ~8,100,000 Americans
  • Limited Language, Cognitive, and Learning Abilities 4.7% — ~15,900,000 Americans

Examples

Example 1 View on Page
Certain ARIA roles must contain particular children
Mode: light
<li id="Google Basic Consents" class="qc-cmp2-list-item qc-cmp2-expanded" role="list">
XPath: #Google\ Basic\ Consents
1 Moderate axe SC 4.1.2 A Visual Motor Cognitive aria-command-name
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
ARIA commands must have an accessible name
Mode: light
<div id="oc-lcw-chat-button" dir="ltr" tabindex="0" role="button" class="ms-Stack css-110"><i aria-hidden="true" class="root-111" id="oc-lcw-chat-button-icon-container"></i></div>
XPath: #Microsoft_Omnichannel_LCWidget_Chat_Iframe_Window

🔧 Most Common Issues (AccessLint)

41 rules
5926 Moderate accesslint adaptable/list-children
6 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
List contains non-<li> child <p>.
Mode: light
<p class="CybotCookiebotDialogDetailBodyEmptyCategoryMessage">We do not use cookies of this type.</p>
XPath: #CybotCookiebotDialogDetailBodyContentCookieTabsPreference > div > ul > p
Example 2 View on Page
List contains non-<li> child <p>.
Mode: light
<p class="CybotCookiebotDialogDetailBodyEmptyCategoryMessage">We do not use cookies of this type.</p>
XPath: #CybotCookiebotDialogDetailBodyContentCookieTabsAdvertising > div > ul > p
Example 3 View on Page
List contains non-<li> child <p>.
Mode: light
<p class="CybotCookiebotDialogDetailBodyEmptyCategoryMessage">We do not use cookies of this type.</p>
XPath: #CybotCookiebotDialogDetailBodyContentCookieTabsUnclassified > div > ul > p
Example 4 View on Page
List contains non-<li> child <p>.
Mode: light
<p class="CybotCookiebotDialogDetailBodyEmptyCategoryMessage">We do not use cookies of this type.</p>
XPath: #CybotCookiebotDialogDetailBodyContentCookieTabsPreference > div > ul > p
Example 5 View on Page
List contains non-<li> child <p>.
Mode: light
<p class="CybotCookiebotDialogDetailBodyEmptyCategoryMessage">We do not use cookies of this type.</p>
XPath: #CybotCookiebotDialogDetailBodyContentCookieTabsAdvertising > div > ul > p
1995 Moderate accesslint labels-and-names/label-content-mismatch
31 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Accessible name "Select Language" does not contain visible label "Translate".
Mode: light
<select class="notranslate fake_gt_selector" aria-label="Select Language" id="bbd-translation"><option value="">Select Language</option><option value="en|en" data-gt-href="#" selected="">English</opti...
XPath: #bbd-translation
Example 2 View on Page
Accessible name "Necessary (5)" does not contain visible text "Necessary 5".
Mode: light
<button id="CybotCookiebotDialogDetailBodyContentCookieContainerNecessary" class="CybotCookiebotDialogDetailBodyContentCookieContainerButton CybotCookiebotDialogCollapsed" lang="en" data-target="Cybot...
XPath: #CybotCookiebotDialogDetailBodyContentCookieContainerNecessary
Example 3 View on Page
Accessible name "Preferences (0)" does not contain visible text "Preferences 0".
Mode: light
<button id="CybotCookiebotDialogDetailBodyContentCookieContainerPreference" class="CybotCookiebotDialogDetailBodyContentCookieContainerButton CybotCookiebotDialogCollapsed" lang="en" data-target="Cybo...
XPath: #CybotCookiebotDialogDetailBodyContentCookieContainerPreference
Example 4 View on Page
Accessible name "Statistics (9)" does not contain visible text "Statistics 9".
Mode: light
<button id="CybotCookiebotDialogDetailBodyContentCookieContainerStatistics" class="CybotCookiebotDialogDetailBodyContentCookieContainerButton CybotCookiebotDialogCollapsed" lang="en" data-target="Cybo...
XPath: #CybotCookiebotDialogDetailBodyContentCookieContainerStatistics
Example 5 View on Page
Accessible name "Marketing (0)" does not contain visible text "Marketing 0".
Mode: light
<button id="CybotCookiebotDialogDetailBodyContentCookieContainerAdvertising" class="CybotCookiebotDialogDetailBodyContentCookieContainerButton CybotCookiebotDialogCollapsed" lang="en" data-target="Cyb...
XPath: #CybotCookiebotDialogDetailBodyContentCookieContainerAdvertising
60 Moderate accesslint landmarks/region
44 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Content is not contained within a landmark region.
Mode: light
<div id="sliding-popup" role="alertdialog" aria-describedby="popup-text" aria-label="Cookie compliance banner" class="sliding-popup-top clearfix" style="height: auto; width: 100%; top: 0px;"><div aria...
XPath: #sliding-popup
Example 2 View on Page
Content is not contained within a landmark region.
Mode: light
<div id="klaro" style="--button-text-color: #fff; --dark1: #fafafa; --dark2: #777; --dark3: #555; --light1: #444; --light2: #666; --light3: #111; --green3: #f00; --notice-left: 20px; --notice-right: a...
XPath: #klaro
Example 3 View on Page
Content is not contained within a landmark region.
Mode: light
<div id="CybotCookiebotDialog" name="CybotCookiebotDialog" role="dialog" aria-modal="true" aria-labelledby="CybotCookiebotDialogBodyContentTitle" tabindex="-1" lang="en" dir="ltr" ng-non-bindable="" c...
XPath: #CybotCookiebotDialog
Example 4 View on Page
Content is not contained within a landmark region.
Mode: light
<div class="anrt-gdpr-floating-cookie"><button class="anrt-gdpr-floating-cookie__button anrt-gdpr-floating-cookie--cookiepro" title="Update Cookie Preferences"><span class="visually-hidden">Update Coo...
XPath: body > div:nth-of-type(3)
Example 5 View on Page
Content is not contained within a landmark region.
Mode: light
<div id="sliding-popup" role="alertdialog" aria-describedby="popup-text" aria-label="Cookie compliance banner" class="sliding-popup-bottom" style="height: auto; width: 100%; bottom: 0px;"><div aria-la...
XPath: #sliding-popup
44 Moderate accesslint distinguishable/color-contrast
12 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Insufficient color contrast ratio of 2.57:1 (required 4.5:1).
Mode: light
<label for="edit-search-api-fulltext">Search</label>
XPath: div:nth-of-type(1) > label[for="edit-search-api-fulltext"]
Example 2 View on Page
Insufficient color contrast ratio of 1:1 (required 3:1).
Mode: light
<span style="color: white;">Keep up-to-date with the latest news, what's on and how to have your say.</span>
XPath: p:nth-of-type(1) > span
Example 3 View on Page
Insufficient color contrast ratio of 1.06:1 (required 4.5:1).
Mode: light
<button onclick="playPause()" type="button">Pause video</button>
XPath: div:nth-of-type(1) > div > section > div:nth-of-type(1) > div > button
Example 4 View on Page
Insufficient color contrast ratio of 1:1 (required 4.5:1).
Mode: light
<button class="localgov-alert-banner__close js-localgov-alert-banner__close" aria-label="Hide alert" data-once="allAlertBannerCloseButtons">Hide</button>
XPath: div > button[aria-label="Hide alert"]
Example 5 View on Page
Insufficient color contrast ratio of 1:1 (required 4.5:1).
Mode: light
<a class="a2a_button a2a_button_twitter ext" href="https://twitter.com/londoncouncils" data-extlink="" target="_blank" rel="noopener noreferrer" title="(opens in a new window)">twitter<svg focusable="...
XPath: span > a[href="https://twitter.com/londoncouncils"]
42 Moderate accesslint aria/aria-required-attr
6 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Role "switch" requires attribute "aria-checked".
Mode: light
<input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonPreferences" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox" data-target="CybotCookiebotDialogBod...
XPath: #CybotCookiebotDialogBodyLevelButtonPreferences
Example 2 View on Page
Role "switch" requires attribute "aria-checked".
Mode: light
<input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonStatistics" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox" data-target="CybotCookiebotDialogBody...
XPath: #CybotCookiebotDialogBodyLevelButtonStatistics
Example 3 View on Page
Role "switch" requires attribute "aria-checked".
Mode: light
<input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonMarketing" class="CybotCookiebotDialogBodyLevelButton CybotCookiebotDialogBodyLevelConsentCheckbox" data-target="CybotCookiebotDialogBodyL...
XPath: #CybotCookiebotDialogBodyLevelButtonMarketing
Example 4 View on Page
Role "switch" requires attribute "aria-checked".
Mode: light
<input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonPreferencesInline" aria-labelledby="CybotCookiebotDialogBodyLevelButtonPreferencesInlineLabel" class="CybotCookiebotDialogBodyLevelButton ...
XPath: #CybotCookiebotDialogBodyLevelButtonPreferencesInline
Example 5 View on Page
Role "switch" requires attribute "aria-checked".
Mode: light
<input type="checkbox" id="CybotCookiebotDialogBodyLevelButtonStatisticsInline" aria-labelledby="CybotCookiebotDialogBodyLevelButtonStatisticsInlineLabel" class="CybotCookiebotDialogBodyLevelButton Cy...
XPath: #CybotCookiebotDialogBodyLevelButtonStatisticsInline
29 Moderate accesslint keyboard-accessible/tabindex
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Element has tabindex="1" which disrupts tab order.
Mode: light
<a href="#main-content" class="visually-hidden focusable skip-link" tabindex="1"> Skip to main content </a>
XPath: body > a[href="#main-content"]
Example 2 View on Page
Element has tabindex="2" which disrupts tab order.
Mode: light
<div class="site-logo" tabindex="2"> <img src="/themes/custom/bfc/logo.svg" alt="Bracknell Forest Council"> </div>
XPath: #block-bfc-localgov-sitebranding > div
Example 3 View on Page
Element has tabindex="3" which disrupts tab order.
Mode: light
<button aria-controls="main-menu-wrapper" aria-expanded="false" type="button" class="menu__button" tabindex="3"> <span>Menu</span> <span aria-hidden="true" class="menu__button-bars...
XPath: #block-bfc-localgov-mainnavigation > button
Example 4 View on Page
Element has tabindex="3" which disrupts tab order.
Mode: light
<li class="menu--main__account-link" tabindex="3"> <div class="account-link account-link--white"> <a href="/customer-accounts"> My accounts </a> </div> </li>
XPath: #main-menu-wrapper > div > div > ul > li:nth-of-type(1)
Example 5 View on Page
Element has tabindex="3" which disrupts tab order.
Mode: light
<a href="/bins-and-recycling" tabindex="3" data-drupal-link-system-path="node/95">Bins and recycling</a>
XPath: li:nth-of-type(2) > a[href="/bins-and-recycling"]
26 Moderate accesslint keyboard-accessible/nested-interactive
3 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Interactive element <button> is nested inside <a>.
Mode: light
<button class="services__card-title h4">Complaints, Comments and Praise </button>
XPath: a[href="/customerfeedback/"] > button
Example 2 View on Page
Interactive element <button> is nested inside <a>.
Mode: light
<button class="services__card-title h4">Apply for a Council home</button>
XPath: a[href="/applyforacouncilproperty/"] > button
Example 3 View on Page
Interactive element <button> is nested inside <a>.
Mode: light
<button class="services__card-title h4">Apply for benefits</button>
XPath: a[href="/applyforhousingbenefitandcounciltaxsupport/"] > button
Example 4 View on Page
Interactive element <button> is nested inside <a>.
Mode: light
<button class="services__card-title h4">Bin collection days</button>
XPath: a[href="http://app.newark-sherwooddc.gov.uk/bincollection/"] > button
Example 5 View on Page
Interactive element <button> is nested inside <a>.
Mode: light
<button class="services__card-title h4">Council House repairs</button>
XPath: a[href="/repairsandmaintenance/"] > button
26 Moderate accesslint aria/presentational-children-focusable
3 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Focusable element inside a "link" role whose children are presentational.
Mode: light
<button class="services__card-title h4">Complaints, Comments and Praise </button>
XPath: a[href="/customerfeedback/"] > button
Example 2 View on Page
Focusable element inside a "link" role whose children are presentational.
Mode: light
<button class="services__card-title h4">Apply for a Council home</button>
XPath: a[href="/applyforacouncilproperty/"] > button
Example 3 View on Page
Focusable element inside a "link" role whose children are presentational.
Mode: light
<button class="services__card-title h4">Apply for benefits</button>
XPath: a[href="/applyforhousingbenefitandcounciltaxsupport/"] > button
Example 4 View on Page
Focusable element inside a "link" role whose children are presentational.
Mode: light
<button class="services__card-title h4">Bin collection days</button>
XPath: a[href="http://app.newark-sherwooddc.gov.uk/bincollection/"] > button
Example 5 View on Page
Focusable element inside a "link" role whose children are presentational.
Mode: light
<button class="services__card-title h4">Council House repairs</button>
XPath: a[href="/repairsandmaintenance/"] > button
24 Moderate accesslint text-alternatives/svg-img-alt
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
svg with role='img' has no accessible name.
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2...
XPath: a[href="/benefits/apply"] > svg
Example 2 View on Page
svg with role='img' has no accessible name.
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2...
XPath: a[href="/dio/apply-or-search-job"] > svg
Example 3 View on Page
svg with role='img' has no accessible name.
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2...
XPath: a[href="/dio/register-council-tax-electronic-billing"] > svg
Example 4 View on Page
svg with role='img' has no accessible name.
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2...
XPath: a[href="/dio/apply-planning-permission"] > svg
Example 5 View on Page
svg with role='img' has no accessible name.
Mode: light
<svg data-fa-pseudo-element="::after" data-prefix="fas" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" data-fa-i2...
XPath: a[href="/schools-and-learning/schools/admissions"] > svg
17 Moderate accesslint labels-and-names/duplicate-id-aria
11 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Duplicate ID "edit-s--2" referenced by label[for].
Mode: light
<input data-drupal-selector="edit-s" placeholder="Search" type="text" id="edit-s--2" name="s" value="" size="30" maxlength="128" class="form-text required" required="required" aria-required="true">
XPath: #edit-s--2
Example 2 View on Page
Duplicate ID "lgd-header__nav--primary" referenced by aria-controls.
Mode: light
<div id="lgd-header__nav--primary" class="lgd-header__nav lgd-header__nav--primary"> <div class="lgd-region lgd-region--primary-menu region region-primary-menu"> ...
XPath: #lgd-header__nav--primary
Example 3 View on Page
Duplicate ID "block-bbd-localgov-localgov-mainnavigation-scarfolk-menu" referenced by aria-labelledby.
Mode: light
<h2 class="visually-hidden" id="block-bbd-localgov-localgov-mainnavigation-scarfolk-menu">Main navigation</h2>
XPath: #block-bbd-localgov-localgov-mainnavigation-scarfolk-menu
Example 4 View on Page
Duplicate ID "edit-s--2" referenced by label[for].
Mode: light
<input placeholder="Start a search" data-drupal-selector="edit-s" type="text" id="edit-s--2" name="s" value="" size="30" maxlength="128" class="form-text">
XPath: #edit-s--2
Example 5 View on Page
Duplicate ID "event-date__start-label" referenced by aria-labelledby.
Mode: light
<span id="event-date__start-label" class="visually-hidden">Event date</span>
XPath: #event-date__start-label
11 Moderate accesslint landmarks/landmark-unique
10 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Multiple navigation landmarks have the same label "main navigation".
Mode: light
<nav aria-labelledby="block-bbd-localgov-mainnavigation-menu" id="block-bbd-localgov-mainnavigation" class="block block-menu navigation navigation--main"> <h2 class="visually-hidden" id...
XPath: #block-bbd-localgov-mainnavigation
Example 2 View on Page
Multiple navigation landmarks have the same label "accessibility and language tools".
Mode: light
<nav class="navigation--a11y"> <ul class="menu menu--a11y"> <li class="menu-item"> <button type="button" class="reciteme__proxy-trigger" data-once="recitemeProxy"> Accessibili...
XPath: #lgd-header-top > nav
Example 3 View on Page
Multiple navigation landmarks have the same label "accessibility and language tools".
Mode: light
<nav class="navigation--a11y"> <ul class="menu menu--a11y"> <li class="menu-item"> <button type="button" class="reciteme__proxy-trigger" data-once="recitemeProxy"> Accessibili...
XPath: #lgd-header-bottom > nav
Example 4 View on Page
Multiple navigation landmarks have the same label "main navigation".
Mode: light
<nav aria-labelledby="block-bbd-localgov-localgov-mainnavigation-scarfolk-menu" id="block-bbd-localgov-localgov-mainnavigation-scarfolk" class="block block-menu navigation navigation--main"> ...
XPath: #block-bbd-localgov-localgov-mainnavigation-scarfolk
Example 5 View on Page
Multiple navigation landmarks have the same label "main navigation".
Mode: light
<nav aria-labelledby="block-bbd-localgov-mainnavigation-menu" id="block-bbd-localgov-mainnavigation" class="block block-menu navigation navigation--main"> <h2 class="visually-hidden" id...
XPath: #block-bbd-localgov-mainnavigation
10 Moderate accesslint landmarks/no-duplicate-banner
4 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Page has multiple banner landmarks.
Mode: light
<header class="header"> <div class="header-container"> <a href="/" class="ncc-logo" title="Northumberland County Council"> <picture> <source srcset="/themes/custom/ncc_theme_v1/img/logo.png"...
XPath: body > div:nth-of-type(2) > header
Example 2 View on Page
Page has multiple banner landmarks.
Mode: light
<div id="block-bbd-localgov-localgov-alert-banner" class="block block-localgov-alert-banner block-localgov-alert-banner-block" role="banner"> <article class="js-localgov-alert-b...
XPath: #block-bbd-localgov-localgov-alert-banner
Example 3 View on Page
Page has multiple banner landmarks.
Mode: light
<header class="lgd-header" data-once="allStickyHeaders" style="position: fixed;"> <a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a> <div cl...
XPath: div:nth-of-type(2) > header
Example 4 View on Page
Page has multiple banner landmarks.
Mode: light
<div class="lgd-region lgd-region--header region region-header" role="banner"> <div class="lgd-region__inner lgd-region__inner--header"> <div id="block-elmbridge-localgov-sitebranding-...
XPath: header > div > div > div > div > div:nth-of-type(1)
Example 5 View on Page
Page has multiple banner landmarks.
Mode: light
<div class="lgd-region lgd-region--secondary-menu region region-secondary-menu" role="banner"> <div class="lgd-region__inner lgd-region__inner--secondary-menu"> <nav aria-l...
XPath: #lgd-header__nav--secondary > div
9 Moderate accesslint keyboard-accessible/focus-order
6 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Non-interactive <div> with tabindex="0" has no interactive role.
Mode: light
<div id="onetrust-banner-sdk" class="otFlat bottom ot-wo-title vertical-align-content" tabindex="0" style="bottom: 0px;"><div role="alertdialog" aria-describedby="onetrust-policy-text" aria-label="Pri...
XPath: #onetrust-banner-sdk
Example 2 View on Page
Non-interactive <div> with tabindex="0" has no interactive role.
Mode: light
<div id="cookiescript_reportwrap" tabindex="0"> <div class="cookiescript_report_strict " data-cs-tab-content="strict"> <div class="cookiescript_category...
XPath: #cookiescript_reportwrap
Example 3 View on Page
Non-interactive <div> with tabindex="0" has no interactive role.
Mode: light
<div class="a2a_overlay a2a_localize" id="a2a_overlay" tabindex="0" aria-label="Close" data-a2a-localize="label,Close"></div>
XPath: #a2a_overlay
Example 4 View on Page
Non-interactive <span> with tabindex="0" has no interactive role.
Mode: light
<span class="fa fa-angle-left prev slick-arrow" title="Left arrow" style="" tabindex="0"></span>
XPath: div:nth-of-type(1) > span:nth-of-type(1)
Example 5 View on Page
Non-interactive <span> with tabindex="0" has no interactive role.
Mode: light
<span class="fa fa-angle-right next slick-arrow" title="Right arrow" style="" tabindex="0"></span>
XPath: div:nth-of-type(1) > span:nth-of-type(2)
9 Moderate accesslint landmarks/landmark-main
9 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Examples

Example 1 View on Page
Page has no main landmark.
Mode: light
<html>
XPath: html
Example 2 View on Page
Page has no main landmark.
Mode: light
<html>
XPath: html
Example 3 View on Page
Page has no main landmark.
Mode: light
<html>
XPath: html
Example 4 View on Page
Page has no main landmark.
Mode: light
<html>
XPath: html
Example 5 View on Page
Page has multiple main landmarks.
Mode: light
<div id="webchat" role="main" data-once="init"></div>
XPath: #webchat
8 Moderate accesslint landmarks/no-duplicate-contentinfo
8 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Page has multiple contentinfo landmarks.
Mode: light
<div id="cookiescript_reportdate" role="contentinfo">Cookie <a id="cookiescript_reportlink" href="https://cookie-script.com/cookie-report?identifier=477d9825c3bd983c31c81f8a865d8dba" target="_blank" a...
XPath: #cookiescript_reportdate
Example 2 View on Page
Page has multiple contentinfo landmarks.
Mode: light
<footer class="lgd-footer"> <div class="footer__before-pre"> <div class="lgd-region lgd-region--pre-footer region region-pre-footer"> <div class="lgd-region...
XPath: div:nth-of-type(2) > footer
Example 3 View on Page
Page has multiple contentinfo landmarks.
Mode: light
<footer class="footer"> <div class="footer-container"> <div class="footer-navigation" role="navigation"> <div class="footer-section footer-grid-column-one-quarter"> <h2 class="ma...
XPath: div:nth-of-type(2) > div > footer
Example 4 View on Page
Page has multiple contentinfo landmarks.
Mode: light
<footer class="lgd-footer"> <div class="lgd-footer__footer"> <div class="lgd-container"> <div class="lgd-row"> <div cl...
XPath: div:nth-of-type(2) > footer
Example 5 View on Page
Page has multiple contentinfo landmarks.
Mode: light
<footer class="lgd-footer"> <div class="footer__before-pre"> <div class="lgd-region lgd-region--pre-footer region region-pre-footer"> <div class="lgd-reg...
XPath: div:nth-of-type(2) > footer
7 Moderate accesslint labels-and-names/frame-title
7 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Frame is missing an accessible name. Add a title attribute.
Mode: light
<iframe name="votingFrame" frameborder="0"></iframe>
XPath: #goog-gt-votingHiddenPane > iframe[name="votingFrame"]
Example 2 View on Page
Frame is missing an accessible name. Add a title attribute.
Mode: light
<iframe name="votingFrame" frameborder="0"></iframe>
XPath: #goog-gt-votingHiddenPane > iframe[name="votingFrame"]
Example 3 View on Page
Frame is missing an accessible name. Add a title attribute.
Mode: light
<iframe name="votingFrame" frameborder="0"></iframe>
XPath: #goog-gt-votingHiddenPane > iframe[name="votingFrame"]
Example 4 View on Page
Frame is missing an accessible name. Add a title attribute.
Mode: light
<iframe name="votingFrame" frameborder="0"></iframe>
XPath: #goog-gt-votingHiddenPane > iframe[name="votingFrame"]
Example 5 View on Page
Frame is missing an accessible name. Add a title attribute.
Mode: light
<iframe name="votingFrame" frameborder="0"></iframe>
XPath: #goog-gt-votingHiddenPane > iframe[name="votingFrame"]
7 Moderate accesslint labels-and-names/form-label
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Form element has no accessible label.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(1) > div > button
Example 2 View on Page
Form element has no accessible label.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(2) > div > button
Example 3 View on Page
Form element has no accessible label.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(3) > div > button
Example 4 View on Page
Form element has no accessible label.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(4) > div > button
Example 5 View on Page
Form element has no accessible label.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(5) > div > button
7 Moderate accesslint labels-and-names/aria-toggle-field-name
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
ARIA toggle field has no accessible name.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(1) > div > button
Example 2 View on Page
ARIA toggle field has no accessible name.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(2) > div > button
Example 3 View on Page
ARIA toggle field has no accessible name.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(3) > div > button
Example 4 View on Page
ARIA toggle field has no accessible name.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(4) > div > button
Example 5 View on Page
ARIA toggle field has no accessible name.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(5) > div > button
7 Moderate accesslint labels-and-names/button-name
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Button has no discernible text.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(1) > div > button
Example 2 View on Page
Button has no discernible text.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(2) > div > button
Example 3 View on Page
Button has no discernible text.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(3) > div > button
Example 4 View on Page
Button has no discernible text.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(4) > div > button
Example 5 View on Page
Button has no discernible text.
Mode: light
<button tabindex="0" role="switch" aria-checked="false" class="qc-cmp2-toggle css-w01txj"><div class="toggle"></div><p class="text off" aria-label="Toggle off">OFF</p><p class="text on" aria-label="To...
XPath: li:nth-of-type(5) > div > button
6 Moderate accesslint readable/html-has-lang
6 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Examples

Example 1 View on Page
<html> element missing lang attribute.
Mode: light
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>ERROR: The request could not be satisfied</title> <script type="text/javascript">var AccessLint=(function(y)...
XPath: html
Example 2 View on Page
<html> element missing lang attribute.
Mode: light
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>ERROR: The request could not be satisfied</title> <script type="text/javascript">var AccessLint=(function(y)...
XPath: html
Example 3 View on Page
<html> element missing lang attribute.
Mode: light
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>ERROR: The request could not be satisfied</title> <script type="text/javascript">var AccessLint=(function(y)...
XPath: html
Example 4 View on Page
<html> element missing lang attribute.
Mode: light
<html><head><title>403 Forbidden</title><script type="text/javascript">var AccessLint=(function(y){"use strict";const F=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])'...
XPath: html
Example 5 View on Page
<html> element missing lang attribute.
Mode: light
<html><head><title>403 Forbidden</title><script type="text/javascript">var AccessLint=(function(y){"use strict";const F=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])'...
XPath: html
6 Moderate accesslint readable/valid-lang
3 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Invalid lang attribute value "iw".
Mode: light
<option value="en|iw" data-gt-href="#" lang="iw">עִבְרִית</option>
XPath: #bbd-translation > option:nth-of-type(28)
Example 2 View on Page
Invalid lang attribute value "jw".
Mode: light
<option value="en|jw" data-gt-href="#" lang="jw">Basa Jawa</option>
XPath: #bbd-translation > option:nth-of-type(68)
Example 3 View on Page
Invalid lang attribute value "iw".
Mode: light
<option value="en|iw" data-gt-href="#" lang="iw">עִבְרִית</option>
XPath: #bbd-translation > option:nth-of-type(28)
Example 4 View on Page
Invalid lang attribute value "jw".
Mode: light
<option value="en|jw" data-gt-href="#" lang="jw">Basa Jawa</option>
XPath: #bbd-translation > option:nth-of-type(68)
Example 5 View on Page
Invalid lang attribute value "iw".
Mode: light
<option value="en|iw" data-gt-href="#" lang="iw">עִבְרִית</option>
XPath: #bbd-translation > option:nth-of-type(28)
5 Moderate accesslint labels-and-names/multiple-labels
5 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Form field has 3 labels. Use a single label element.
Mode: light
<input data-drupal-selector="edit-s" placeholder="Search" type="text" id="edit-s--2" name="s" value="" size="30" maxlength="128" class="form-text required" required="required" aria-required="true">
XPath: #edit-s--2
Example 2 View on Page
Form field has 2 labels. Use a single label element.
Mode: light
<input placeholder="Start a search" data-drupal-selector="edit-s" type="text" id="edit-s--2" name="s" value="" size="30" maxlength="128" class="form-text">
XPath: #edit-s--2
Example 3 View on Page
Form field has 2 labels. Use a single label element.
Mode: light
<input data-drupal-selector="edit-s" placeholder="Search" type="text" id="edit-s" name="s" value="" size="30" maxlength="128" class="form-text required" required="required" aria-required="true">
XPath: #edit-s
Example 4 View on Page
Form field has 3 labels. Use a single label element.
Mode: light
<input data-drupal-selector="edit-s" placeholder="Search" type="text" id="edit-s" name="s" value="" size="30" maxlength="128" class="form-text required" required="required" aria-required="true">
XPath: #edit-s
Example 5 View on Page
Form field has 2 labels. Use a single label element.
Mode: light
<input title="Enter the terms you wish to search for." data-drupal-selector="edit-keys" type="search" id="edit-keys" name="keys" value="" size="15" maxlength="128" class="form-search">
XPath: #edit-keys
5 Moderate accesslint aria/aria-allowed-attr
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
ARIA attribute "aria-expanded" is not allowed on role "listitem".
Mode: light
<li class="is-accordion-submenu-parent" aria-controls="tnezxy-acc-menu" aria-expanded="false" id="xe7zo3-acc-menu-link"><a href="/your-business/">Your Business</a> <ul class="multilevel-linkul-0 subme...
XPath: #xe7zo3-acc-menu-link
Example 2 View on Page
ARIA attribute "aria-expanded" is not allowed on role "listitem".
Mode: light
<li class="is-accordion-submenu-parent" aria-controls="kwd063-acc-menu" aria-expanded="false" id="56x8oo-acc-menu-link"><a href="/your-council/">Your Council</a> <ul class="multilevel-linkul-0 submenu...
XPath: #\35 6x8oo-acc-menu-link
Example 3 View on Page
ARIA attribute "aria-expanded" is not allowed on role "listitem".
Mode: light
<li class="is-accordion-submenu-parent" aria-controls="vc4m12-acc-menu" aria-expanded="false" id="o21kxh-acc-menu-link"><a href="/your-district/">Your District</a> <ul class="multilevel-linkul-0 subme...
XPath: #o21kxh-acc-menu-link
Example 4 View on Page
ARIA attribute "aria-expanded" is not allowed on role "listitem".
Mode: light
<li class="is-accordion-submenu-parent" aria-controls="1vxcc3-acc-menu" aria-expanded="false" id="21c54v-acc-menu-link"><a href="/your-home/">Your Home</a> <ul class="multilevel-linkul-0 submenu is-ac...
XPath: #\32 1c54v-acc-menu-link
Example 5 View on Page
ARIA attribute "aria-expanded" is not allowed on role "listitem".
Mode: light
<li class="is-accordion-submenu-parent" aria-controls="tzp6qr-acc-menu" aria-expanded="false" id="t2er4b-acc-menu-link"><a href="/latest-news/">Latest news</a> <ul class="multilevel-linkul-0 submenu i...
XPath: #t2er4b-acc-menu-link
5 Moderate accesslint navigable/heading-order
5 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Heading level 3 skipped from level 1. Use h2 instead.
Mode: light
<h3 class="box-link__title"> <a class="box-link__link" href="/planning-and-building/development-management/planning-permission"> Online Planning </a> </h3>
XPath: li:nth-of-type(1) > article > h3
Example 2 View on Page
Heading level 4 skipped from level 2. Use h3 instead.
Mode: light
<h4 class="heading heading--small"> Connect with us </h4>
XPath: div:nth-of-type(4) > h4
Example 3 View on Page
Heading level 4 skipped from level 2. Use h3 instead.
Mode: light
<h4 id="the-crisis-and-resilience-fund-crf-has-replaced-the-household-support-fund">The Crisis and Resilience Fund (CRF) has replaced the Household Support Fund</h4>
XPath: #the-crisis-and-resilience-fund-crf-has-replaced-the-household-support-fund
Example 4 View on Page
Heading level 4 skipped from level 2. Use h3 instead.
Mode: light
<h4>Engines, entertainment and family fun gearing up for Grantham Car Show</h4>
XPath: a[href="/news/2026/engines-entertainment-and-family-fun-gearing-grantham-car-show"] > div:nth-of-type(2) > div > div:nth-of-type(2) > h4
Example 5 View on Page
Heading level 3 skipped from level 1. Use h2 instead.
Mode: light
<h3 class="services-menu-title">Services</h3>
XPath: div > div > h3
5 Moderate accesslint text-alternatives/image-alt-words
5 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Alt text "Picture of the Tate Modern and Millennium Bridge in London on a sunny day" starts with redundant prefix "picture".
Mode: light
<img loading="lazy" src="/sites/default/files/2024-05/tate_modern_2.jpg" width="1040" height="520" alt="Picture of the Tate Modern and Millennium Bridge in London on a sunny day " typeof="foaf:Image" ...
XPath: div:nth-of-type(1) > div:nth-of-type(2) > img
Example 2 View on Page
Alt text "image of handmade flowers" starts with redundant prefix "image".
Mode: light
<img loading="lazy" src="/sites/default/files/styles/large_3_2_768x512/public/2026-04/flower%20project%204.jpg?itok=3vSBoI3r" width="768" height="512" alt="image of handmade flowers" data-once="allIma...
XPath: a[href="/tamworth-borough-council-invites-residents-help-create-stunning-flower-display-tamworth-castle"] > img
Example 3 View on Page
Alt text "Photo of the coloured road markings on Grange Road West" starts with redundant prefix "photo".
Mode: light
<img loading="lazy" src="https://wirralview.com/sites/default/files/styles/teaser_compact_extra_large/public/2025-10/GRW1%20wv.jpg?h=d1ee6398&amp;itok=dYRKURsN" width="1170" height="600" alt="Photo of...
XPath: a[href="https://wirralview.com/council-updates/update-grange-road-west-birkenhead"] > span:nth-of-type(1) > img
Example 4 View on Page
Alt text "Photo of a swimming beaver holding a small branch" starts with redundant prefix "photo".
Mode: light
<img loading="lazy" src="/sites/default/files/styles/cds_small_3_2/public/2026-01/beaver_1.png?itok=TnLSGuoG" width="300" height="200" alt="Photo of a swimming beaver holding a small branch " data-onc...
XPath: a[href="https://news.croydon.gov.uk/96-of-residents-back-introducing-beavers-to-croydon/"] > div > div > div > div:nth-of-type(2) > img
Example 5 View on Page
Alt text "Image of mower and grass" starts with redundant prefix "image".
Mode: light
<img alt="Image of mower and grass" loading="lazy" srcset="https://cms.westnorthants.gov.uk/sites/default/files/styles/responsive/public/72/41/0/2024-03/Garden%20Waste%20subscriptions.png 400w, https:...
XPath: a[href="/news/subscriptions-now-open-202627-west-northants-garden-waste-service"] > div[data-testid="ResponsiveImage"] > img
5 Moderate accesslint aria/aria-allowed-role
3 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Role "alert" is not allowed on element <article>.
Mode: light
<article class="js-localgov-alert-banner localgov-alert-banner localgov-alert-banner--minor localgov-alert-banner--homepage localgov-alert-banner--no-link localgov-alert-banner--no-hide" data-dismiss-...
XPath: #block-alertbanner > article
Example 2 View on Page
Role "group" is not allowed on element <li>.
Mode: light
<li class="splide__slide cmbc-carousel_item is-active is-visible" id="carousel-mogighi6w02vn-slide01" role="group" aria-roledescription="slide" aria-label="1 of 4" style="width: calc(100%);"> <di...
XPath: #carousel-mogighi6w02vn-slide01
Example 3 View on Page
Role "listitem" is not allowed on element <button>.
Mode: light
<button role="listitem" class="qc-cmp2-list-item-header" aria-label="Opt-Outs" aria-live="polite"><div class="titles-header"><p class="qc-cmp2-list-item-title">Personal Data Processing Opt Outs</p></d...
XPath: #\31 > button[aria-label="Opt-Outs"]
Example 4 View on Page
Role "list" is not allowed on element <li>.
Mode: light
<li id="Google Basic Consents" class="qc-cmp2-list-item qc-cmp2-expanded" role="list"><button class="qc-cmp2-list-item-header" role="listitem" aria-label="Google consents" aria-live="polite"><div clas...
XPath: #Google\ Basic\ Consents
Example 5 View on Page
Role "listitem" is not allowed on element <button>.
Mode: light
<button class="qc-cmp2-list-item-header" role="listitem" aria-label="Google consents" aria-live="polite"><div class="titles-header"><p class="qc-cmp2-list-item-title" role="listitem"><p>Google consent...
XPath: #Google\ Basic\ Consents > button[aria-label="Google consents"]
5 Moderate accesslint text-alternatives/role-img-alt
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Element with role='img' has no accessible name. Add aria-label or aria-labelledby.
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href="https://ats-knowsley.jgp.co.uk/vacancies?ga_client_id=9bc5e856-3dcd-488c-9f52-85aff59822ae"] > span
Example 2 View on Page
Element with role='img' has no accessible name. Add aria-label or aria-labelledby.
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href="https://www.foster4.co.uk/"] > span
Example 3 View on Page
Element with role='img' has no accessible name. Add aria-label or aria-labelledby.
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href="https://knowsleyeps.co.uk/"] > span
Example 4 View on Page
Element with role='img' has no accessible name. Add aria-label or aria-labelledby.
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href="https://yourlibrary.knowsley.gov.uk/"] > span
Example 5 View on Page
Element with role='img' has no accessible name. Add aria-label or aria-labelledby.
Mode: light
<span class="fa-ext extlink" role="img" aria-hidden="false"><span class="fa fa-external-link" data-extlink-placement="append"></span></span>
XPath: a[href="https://www.thelivewelldirectory.com/"] > span
5 Moderate accesslint adaptable/aria-required-parent
2 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Role "tab" must be contained within: tablist.
Mode: light
<div aria-label="refinement" role="tab" class="gsc-tabHeader gsc-inline-block gsc-tabhActive">Custom Search</div>
XPath: div > div[aria-label="refinement"]
Example 2 View on Page
Role "tab" must be contained within: tablist.
Mode: light
<button aria-label="Hide Living in West Northamptonshire" aria-selected="true" aria-controls="promoted-services-tabpanel-0" role="tab" class="sc-cIVjMg ioNdwI"><span>Living in West Northamptonshire</s...
XPath: div[data-testid="PromotedServicesTabContent"] > div:nth-of-type(1) > button[aria-label="Hide Living in West Northamptonshire"]
Example 3 View on Page
Role "tab" must be contained within: tablist.
Mode: light
<button aria-label="Show Business support" aria-selected="false" aria-controls="promoted-services-tabpanel-1" role="tab" class="sc-cIVjMg iLqYvF"><span>Business support</span><svg width="7" height="13...
XPath: div[data-testid="PromotedServicesTabContent"] > div:nth-of-type(2) > button[aria-label="Show Business support"]
Example 4 View on Page
Role "tab" must be contained within: tablist.
Mode: light
<button aria-label="Show Events and activities" aria-selected="false" aria-controls="promoted-services-tabpanel-2" role="tab" class="sc-cIVjMg iLqYvF"><span>Events and activities</span><svg width="7" ...
XPath: div[data-testid="PromotedServicesTabContent"] > div:nth-of-type(3) > button[aria-label="Show Events and activities"]
Example 5 View on Page
Role "tab" must be contained within: tablist.
Mode: light
<button aria-label="Show Resident support" aria-selected="false" aria-controls="promoted-services-tabpanel-3" role="tab" class="sc-cIVjMg iLqYvF"><span>Resident support</span><svg width="7" height="13...
XPath: div[data-testid="PromotedServicesTabContent"] > div:nth-of-type(4) > button[aria-label="Show Resident support"]
4 Moderate accesslint aria/aria-prohibited-attr
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
aria-label and aria-labelledby are prohibited on <time> elements.
Mode: light
<time aria-labelledby="event-date__start-label" datetime="2026-04-26"> 26 Apr 2026 </time>
XPath: div:nth-of-type(1) > article > div > div:nth-of-type(2) > div:nth-of-type(1) > time
Example 2 View on Page
aria-label and aria-labelledby are prohibited on <time> elements.
Mode: light
<time aria-labelledby="event-time__start-label" datetime="2026-04-26T18:00:00"> 18:00 </time>
XPath: div:nth-of-type(1) > article > div > div:nth-of-type(2) > div:nth-of-type(3) > time
Example 3 View on Page
aria-label and aria-labelledby are prohibited on <time> elements.
Mode: light
<time aria-labelledby="event-date__start-label" datetime="2026-04-30"> 30 Apr 2026 </time>
XPath: div:nth-of-type(2) > article > div > div:nth-of-type(2) > div:nth-of-type(1) > time
Example 4 View on Page
aria-label and aria-labelledby are prohibited on <time> elements.
Mode: light
<time aria-labelledby="event-time__start-label" datetime="2026-04-30T18:30:00"> 18:30 </time>
XPath: div:nth-of-type(2) > article > div > div:nth-of-type(2) > div:nth-of-type(3) > time
4 Moderate accesslint navigable/page-has-heading-one
4 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Page does not contain a level-one heading.
Mode: light
<html>
XPath: html
Example 2 View on Page
Page does not contain a level-one heading.
Mode: light
<html>
XPath: html
Example 3 View on Page
Page does not contain a level-one heading.
Mode: light
<html>
XPath: html
Example 4 View on Page
Page does not contain a level-one heading.
Mode: light
<html>
XPath: html
4 Moderate accesslint text-alternatives/image-redundant-alt
3 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Alt text "Email" duplicates surrounding a text.
Mode: light
<img loading="lazy" src="/sites/default/files/styles/footer_icons/public/2022-09/group_21.png?itok=2sAiHH2g" width="66" height="66" alt="Email" data-once="allImages">
XPath: a[href="mailto:enquiries@rutland.gov.uk"] > div:nth-of-type(1) > img
Example 2 View on Page
Alt text "Customer feedback" duplicates surrounding a text.
Mode: light
<img loading="lazy" src="/sites/default/files/styles/footer_icons/public/2022-09/group_19.png?itok=caeYrV6F" width="66" height="66" alt="Customer feedback" data-once="allImages">
XPath: a[href="/consultation-engagement/compliments-complaints-service-feedback"] > div:nth-of-type(1) > img
Example 3 View on Page
Alt text "begin" duplicates surrounding button text.
Mode: light
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDkgMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xp...
XPath: #amzn-captcha-verify-button > img
Example 4 View on Page
Alt text "begin" duplicates surrounding button text.
Mode: light
<img src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDkgMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xp...
XPath: #amzn-captcha-verify-button > img
4 Moderate accesslint landmarks/banner-is-top-level
3 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Banner landmark is nested within another landmark.
Mode: light
<section role="banner" aria-label="Search"> <div class="lgd-region lgd-region--banner region region-banner"> <div class="lgd-region__inner lgd-region__inner--banner"> <d...
XPath: div:nth-of-type(1) > section[aria-label="Search"]
Example 2 View on Page
Banner landmark is nested within another landmark.
Mode: light
<div class="lgd-region lgd-region--content region region-content" role="banner"> <div class="lgd-region__inner lgd-region__inner--content"> <div id="block-elmbridge-localgov-mainpageco...
XPath: #main-content > div:nth-of-type(1)
Example 3 View on Page
Banner landmark is nested within another landmark.
Mode: light
<div class="lgd-region lgd-region--content-bottom region region-content-bottom" role="banner"> <div class="lgd-container padding-horizontal"> <div class="lgd-region__inner lgd-regi...
XPath: #main-content > div:nth-of-type(2)
Example 4 View on Page
Banner landmark is nested within another landmark.
Mode: light
<div class="flex justify:between pos:rel flex-grow:1 pad-t:-5 pad-b:-2 m:pad-b:-5" role="banner"> <div class="flex justify:center pad-t:-2 mar-r:-2" style="min-width: 26px;"> ...
XPath: article > div > div > div
3 Moderate accesslint navigable/empty-heading
2 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Heading is empty. Add text content or remove the heading element.
Mode: light
<h3 class="ot-host-name"></h3>
XPath: section > div:nth-of-type(1) > h3
Example 2 View on Page
Heading is empty. Add text content or remove the heading element.
Mode: light
<h4 class="ot-host-desc"></h4>
XPath: section > div:nth-of-type(1) > h4
Example 3 View on Page
Heading is empty. Add text content or remove the heading element.
Mode: light
<h2 class="call-to-action-links-listing__title"></h2>
XPath: div:nth-of-type(2) > div:nth-of-type(1) > div > div > div > div > nav > h2
3 Moderate accesslint labels-and-names/label-title-only
2 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Form element uses title attribute as only label. Use <label>, aria-label, or aria-labelledby instead.
Mode: light
<input title="Search" autocomplete="off" data-drupal-selector="edit-search-query" type="text" id="edit-search-query--2" name="search_query" value="" size="60" maxlength="128" placeholder="Search" clas...
XPath: #edit-search-query--2
Example 2 View on Page
Form element uses title attribute as only label. Use <label>, aria-label, or aria-labelledby instead.
Mode: light
<input title="Search" autocomplete="off" data-drupal-selector="edit-search-query" type="text" id="edit-search-query" name="search_query" value="" size="60" maxlength="128" placeholder="Search" class="...
XPath: #edit-search-query
Example 3 View on Page
Form element uses title attribute as only label. Use <label>, aria-label, or aria-labelledby instead.
Mode: light
<input placeholder="Enter your email address" name="e" type="email" required="" id="prefix-emailInput" title="Enter your email address">
XPath: #prefix-emailInput
2 Moderate accesslint aria/aria-valid-attr-value
2 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
aria-hidden must be "true" or "false", got "".
Mode: light
<span class="back-to-top-target" aria-hidden="" data-once="back-to-top-target" style="position: absolute; top: 1080px;"></span>
XPath: div:nth-of-type(3) > span
Example 2 View on Page
aria-hidden must be "true" or "false", got "".
Mode: light
<span class="back-to-top-target" aria-hidden="" data-once="back-to-top-target" style="position: absolute; top: 1080px;"></span>
XPath: body > div:nth-of-type(1) > span
1 Moderate accesslint labels-and-names/aria-dialog-name
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Dialog has no accessible name.
Mode: light
<div id="a2a_modal" class="a2a_modal a2a_hide" role="dialog" tabindex="-1" aria-label=""><div class="a2a_modal_body a2a_menu a2a_hide" id="a2a_copy_link"><label for="a2a_copy_link_text" id="a2a_copy_l...
XPath: #a2a_modal
1 Moderate accesslint landmarks/no-duplicate-main
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Page has multiple main landmarks.
Mode: light
<div id="webchat" role="main" data-once="init"></div>
XPath: #webchat
1 Moderate accesslint landmarks/main-is-top-level
1 pages affected

Rule Information

Engine: accesslint

Roles: Front-End Developer

Blocking: No

Affected Pages

Examples

Example 1 View on Page
Main landmark is nested within another landmark.
Mode: light
<div id="webchat" role="main" data-once="init"></div>
XPath: #webchat