Public accessibility assessment

Accessibility issues detected on fuller.com

Evolize inspected 5 public pages on fuller.com and detected 14 automatically identifiable accessibility findings.

14Findings detected
5WCAG criteria affected
5Pages inspected
8 Sep 2026Assessment date

Highest detected severity: High · 9 high-priority findings · 100% inspected-page coverage

Most widespread issueHidden elements can still receive keyboard focusDetected on 5 inspected pages
Most affected page/products/body-brush10 findings detected
Most represented WCAG criterionWCAG 2.1.1 — Keyboard5 detected findings

Is fuller.com your website?

Keep this assessment current and get notified when new accessibility issues are detected.

https://

Not your website? Scan your own site →

01 · Accessibility summary

Evolize inspected 5 public pages on fuller.com and detected 14 accessibility findings. The most widespread issue was "Hidden elements can still receive keyboard focus", detected on 5 inspected pages. The most affected inspected page was "/products/body-brush", where 10 findings were detected. The assessment identified findings mapped to 5 WCAG success criterions. The sections below prioritize the broadest issues and provide technical evidence for each detected finding.

02 · Start here

These findings combine the highest severity and broadest reach detected during this assessment.

  1. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 45 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →
  2. High

    Modal dialog does not trap keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 5 instances
    Why this matters

    An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

    Recommended action

    While a modal is open, confine focus to the dialog and mark the rest of the page inert (or aria-hidden). Restore focus on close.

    View technical evidence →
  3. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 5 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →
  4. High

    Interactive controls are not keyboard-accessible

    WCAG 2.1.1 (A) · 5 inspected pages · 5 instances
    Why this matters

    A control that responds to clicks (a clickable element or an ARIA widget) cannot receive keyboard focus, so keyboard and switch users cannot operate it.

    Recommended action

    Use a native <button>/<a>, or add tabindex="0" plus keyboard event handlers (Enter/Space) to custom controls.

    View technical evidence →
  5. High

    Interactive controls are not keyboard-accessible

    WCAG 2.1.1 (A) · 5 inspected pages · 5 instances
    Why this matters

    A control that responds to clicks (a clickable element or an ARIA widget) cannot receive keyboard focus, so keyboard and switch users cannot operate it.

    Recommended action

    Use a native <button>/<a>, or add tabindex="0" plus keyboard event handlers (Enter/Space) to custom controls.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
2.1.1KeyboardA555 / 5
2.4.3Focus OrderA455 / 5
1.4.3Contrast (Minimum)AA344 / 5
2.5.8Target Size (Minimum)AA111 / 5
4.1.2Name, Role, ValueA111 / 5

Absence of a criterion here does not indicate conformance with it — only that no automatically detectable issue was found for it.

Continuous monitoring

A scan shows today's exposure. Monitoring shows what changes next.

Evolize continuously reassesses public website pages, detects newly introduced or recurring accessibility findings, and tracks remediation over time.

04 · All detected findings

High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)50 instances5 inspected pages

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Why it matters

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Recommended correction

Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

View 50 affected elements
Component · Ref DGZ27W
Affected pagehttps://fuller.com/products/body-brush
Elementbutton#readableFonts
Accessible nameReadable Fonts
Markup
<button type="button" class="accessibly-app-read-ignore accessibly-app-option-button accessibly-app-ignore" id="readableFonts" aria-label="Readable Fonts" style="color: rgb(87, 76, 213);"><span class="accessibly-app-read-ignore accessibly-app-assertive accessibly-app-ignore" aria-live="assertive">Readable Fonts</span><div style="color: rgb(87, 76, 213);"><span class="accessibly-app-icon-readable-font accessibly-app-option-icon accessibly-app-ignore"></span></div><span accessibly-app-i18n-key="readableFonts" class="accessibly-app-option-title accessibly-app-ignore">Readable fonts</span></button…
Affected pages/ /policies/contact-information /products/body-brush /pages/sms-signup /cart
Component · Ref QIKKVW
Affected pagehttps://fuller.com/products/body-brush
Elementdiv#accessiblyAppDialog > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(3) > button:nth-of-type(1)
Accessible nameLanguage Settings
Markup
<button type="button" class="accessibly-app-ignore accessibly-app-gap-1 accessibly-app-uppercase" aria-label="Language Settings"><span class="accessibly-app-icon-globe accessibly-app-ignore"></span><span>en</span></button>
Affected pages/ /policies/contact-information /products/body-brush /pages/sms-signup /cart
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)12 instances5 inspected pages

A control that responds to clicks (a clickable element or an ARIA widget) cannot receive keyboard focus, so keyboard and switch users cannot operate it.

Why it matters

A control that responds to clicks (a clickable element or an ARIA widget) cannot receive keyboard focus, so keyboard and switch users cannot operate it.

Recommended correction

Use a native <button>/<a>, or add tabindex="0" plus keyboard event handlers (Enter/Space) to custom controls.

View 12 affected elements
Component · Ref TIVCF3
Affected pagehttps://fuller.com/cart
Elementsticky-header > header > div > details-modal > details > summary
Accessible nameSearch
Rolebutton
Markup
<summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search" role="button">
      <span>
        <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"></path></svg>
</span>
        <span class="svg-wrapper header__icon-close"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class=…
Affected pages/ /policies/contact-information /products/body-brush /pages/sms-signup /cart
Component · Ref XRGPSA
Affected pagehttps://fuller.com/policies/contact-information
Elementdetails#Details-menu-drawer-container > summary
Accessible nameMenu
Rolebutton
Markup
<summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu" role="button" aria-expanded="false" aria-controls="menu-drawer">
      <span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-hamburger" viewBox="0 0 18 16"><path fill="currentColor" d="M1 .5a.5.5 0 1 0 0 1h15.71a.5.5 0 0 0 0-1zM.5 8a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1A.5.5 0 0 1 .5 8m0 7a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5"></path></svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="…
Affected pages/ /policies/contact-information /products/body-brush /pages/sms-signup /cart
Component · Ref 3DWJWN
Affected pagehttps://fuller.com/products/body-brush
Elementdetails#Details-share-template--25090341667184__main > summary
Accessible nameShare
Rolebutton
Markup
<summary class="share-button__button" role="button" aria-expanded="false">
      <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-share" viewBox="0 0 13 12"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M1.625 8.125v2.167a1.083 1.083 0 0 0 1.083 1.083h7.584a1.083 1.083 0 0 0 1.083-1.083V8.125"></path><path fill="currentColor" fill-rule="evenodd" d="M6.148 1.271a.5.5 0 0 1 .707 0L9.563 3.98a.5.5 0 0 1-.707.707L6.501 2.332 4.147 4.687a.5.5 0 1 1-.708-.707z" clip-rule="evenodd"></path><path fill="currentColor" fill-rule…
Component · Ref 1KETZ1
Affected pagehttps://fuller.com/cart
Elementdiv#dynamic-checkout-cart > shopify-accelerated-checkout-cart > div > ul > li > div
Rolebutton
Markup
<div class="wallet-cart-button wallet-cart-button__skeleton" role="button" disabled="" aria-hidden="true">&nbsp;</div>
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)6 instances5 inspected pages

An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

Why it matters

An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

Recommended correction

While a modal is open, confine focus to the dialog and mark the rest of the page inert (or aria-hidden). Restore focus on close.

View 6 affected elements
Component · Ref MJULJQ
Affected pagehttps://fuller.com/pages/sms-signup
Elementsticky-header > header > div > details-modal > details > div
Accessible nameSearch
Roledialog
Markup
<div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search">
      <div class="modal-overlay"></div>
      <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
          <div class="field">
            <input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search" role="combobox" aria-expanded="false" aria-owns="pred…
Affected pages/ /policies/contact-information /products/body-brush /pages/sms-signup /cart
Component · Ref T4EV8Z
Affected pagehttps://fuller.com/
Elementhtml > body > div:nth-of-type(10) > div > div:nth-of-type(2)
Accessible namePOPUP Form
Roledialog
Markup
<div role="dialog" aria-modal="true" aria-label="POPUP Form" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; z-index: 90000; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; justify-content: center; align-items: center; overflow: clip auto; background-color: rgba(20, 20, 20, 0.6); animation-timing-function: ease; animation-play-state: running; animation-iteration-count: 1; animation-fill-mode: forwards; animation-delay: 0s; animation-duration: 0.35s; animation-name: klaviyo-fadein;" data-kl-scroll-locking-modal="true"><div class="needsclick  kl-private-res…
High

Scrollable region must have keyboard access

WCAG 2.1.1 (A)3 instances3 inspected pages

Scrollable region must have keyboard access

Why it matters

Scrollable region must have keyboard access

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 3 affected elements
Component · Ref UXF433
Affected pagehttps://fuller.com/cart
Element#Slider-sections--25090342322544__announcement-bar
Accessible nameFree Catalog with orders of $60.00 or more FREE SHIPPING $99+ US Orders Welcome to our Fuller Brush Store
Markup
<div class="grid grid--1-col slider slider--everywhere" id="Slider-sections--25090342322544__announcement-bar" aria-live="off" aria-atomic="true" data-autoplay="true" data-speed="5">
Affected pages/policies/contact-information /pages/sms-signup /cart
Medium

Text has insufficient colour contrast

WCAG 1.4.3 (AA)8 instances4 inspected pages

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Why it matters

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Recommended correction

Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

View 8 affected elements
Component · Ref JEA86I
Affected pagehttps://fuller.com/pages/sms-signup
Element#Slide-sections--25090342322544__announcement-bar-3 > .announcement-bar__announcement[aria-label="Announcement"][role="region"] > .announcement-bar__message.h5 > span
Accessible nameWelcome to our Fuller Brush Store
Markup
<span>Welcome to our Fuller Brush Store</span>
Affected pages/policies/contact-information /products/body-brush /pages/sms-signup /cart
Component · Ref J4NJGV
Affected pagehttps://fuller.com/cart
Element.announcement-bar__link > .announcement-bar__message.h5 > span
Accessible nameFREE SHIPPING $99+ US Orders
Markup
<span>FREE SHIPPING $99+ US Orders</span>
Affected pages/policies/contact-information /pages/sms-signup /cart
Component · Ref 4I7RQ5
Affected pagehttps://fuller.com/products/body-brush
Element#Quantity-template--25090341667184__main
Markup
<input class="quantity__input" type="number" name="quantity" id="Quantity-template--25090341667184__main" data-cart-quantity="0" data-min="1" min="1" step="1" value="1" form="product-form-template--25090341667184__main">
Low

ARIA attributes have invalid values

WCAG 4.1.2 (A)8 instances1 inspected page

ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.

Why it matters

ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.

Recommended correction

Correct ARIA attribute values and ensure referenced ids exist in the DOM.

View 8 affected elements
Component · Ref P93LC5
Affected pagehttps://fuller.com/products/body-brush
Elementbutton[aria-label="Load image 3 in gallery view"]
Accessible nameLoad image 3 in gallery view
Markup
<button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 3 in gallery view" aria-controls="GalleryViewer-template--25090341667184__main" aria-describedby="Thumbnail-template--25090341667184__main-3
">
Low

Touch targets are too small

WCAG 2.5.8 (AA)5 instances1 inspected page

Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.

Why it matters

Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.

Recommended correction

Increase this <div>'s rendered area to at least 24 × 24 CSS pixels, or provide sufficient spacing from adjacent targets. Prefer increasing padding on the existing control (for example the button or link) rather than adding a separate non-interactive wrapper.

View 5 affected elements
Component · Ref 6WL6E2
Affected pagehttps://fuller.com/products/body-brush
Elementdiv[data-rating="1"] > .jdgm-histogram__star[role="button"]
Accessible name1% (1) reviews with 1 star rating
Rolebutton
Markup
<div class="jdgm-histogram__star" role="button" aria-label="1% (1) reviews with 1 star rating" tabindex="0">

05 · Most affected inspected pages

06 · About this assessment

Evolize inspects publicly accessible website pages using automated browser-based testing and deterministic accessibility rules. Automated testing can identify many reproducible technical issues but cannot determine complete WCAG or legal compliance.

  • Publicly accessible surfaces only — no credentials, private systems, or source-code access.
  • Findings apply to the pages and states successfully inspected; automated analysis may not detect every issue.
  • Results reflect the site at the scan date and may have changed since.

Evolize provides digital risk intelligence and does not provide legal advice, certify compliance, or guarantee that litigation will not occur. Methodology · Security · Example assessment

07 · Continuous monitoring

This public report captures one assessment. Evolize monitoring rescans the website, detects new and recurring findings, tracks changes over time and verifies corrections.

Is information in this report inaccurate or outdated? Request a correction or removal.