Public accessibility assessment

Accessibility issues detected on uprootclean.com

Evolize inspected 5 public pages on uprootclean.com and detected 29 automatically identifiable accessibility findings.

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

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

Most widespread issueHidden elements can still receive keyboard focusDetected on 5 inspected pages
Most affected page/23 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)16 detected findings

Is uprootclean.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 uprootclean.com and detected 29 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 "/", where 23 findings were detected. The assessment identified findings mapped to 8 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 · 35 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

    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 →
  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

    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 →
  5. High

    Images lack text alternatives

    WCAG 1.1.1 (A) · 1 inspected page · 3 instances
    Why this matters

    Informative images have no alternative text, so their meaning is unavailable to people using assistive technology.

    Recommended action

    Add a concise alt attribute describing each informative image. Mark purely decorative images with alt="" so assistive technology skips them.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA1655 / 5
1.2.2Captions (Prerecorded)A455 / 5
2.4.3Focus OrderA455 / 5
1.1.1Non-text ContentA233 / 5
1.4.10ReflowAA111 / 5
2.1.1KeyboardA111 / 5
2.2.2Pause, Stop, HideA111 / 5
4.1.2Name, Role, ValueA155 / 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 LUSGA2
Affected pagehttps://uprootclean.com/collections/all
Elementsection#mobileMenu > mega-menu > nav > ul:nth-of-type(2) > li:nth-of-type(1) > a
Accessible nameHair & Lint Removal Tackle pet hair and lint on carpets, clothes, cars,
 and beyond – a must for pet owners! .menu-offer-tag { display: inline-block; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin: 0; vertical-align: middle; line-height: 1.4; font-style: italic; color: var(--offer-color); display: none !important; } .menu-desktop__btn .menu-offer-tag, .menu-desktop__link .menu-offer-tag { position: absolute; top: 50%; left: 50%; white-space: nowrap; transform: translate(-50%, 50%); display: none !important; } /* Mobile: use background color and white text */ @media (max-width: 749px) { .menu-offer-tag { font-size: 0.7rem; display: inline-block; background-color: var(--offer-color); color: #fff; padding: 2px 6px; border-radius: 3px; display: none !important; } } ✦ 52% OFF ✦
Markup
<a class="menu-mobile__link" href="/collections/pet-hair-removers">
                  <img src="//uprootclean.com/cdn/shop/files/Mini_Pro_Max_Xtra.jpg?v=1769085076&amp;width=110" alt="" srcset="//uprootclean.com/cdn/shop/files/Mini_Pro_Max_Xtra.jpg?v=1769085076&amp;width=110 110w" width="110" height="110" style="object-position:50.0% 54.395%;">
                  <div class="title-description-container">
                    <span class="title">Hair &amp; Lint Removal</span>
                    <span class="excerpt">Tackle pet hair and lint on carpets, clothes, cars,
 and beyond – a must for pet…
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref S5MHEC
Affected pagehttps://uprootclean.com/en-gb/pages/sms-vip-signup
Elementhtml > body > nav > ul > li > a
Accessible nameSkip Navigation
Markup
<a class="skip-link btn btn--primary" href="#MainContent">Skip Navigation</a>
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref M1SNO7
Affected pagehttps://uprootclean.com/collections/all
Elementinput#searchBarPredictiveMobile
Markup
<input type="search" id="searchBarPredictiveMobile" name="q" placeholder="Search">
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref ODVNGU
Affected pagehttps://uprootclean.com/pages/sms-vip-signup
Elementmega-menu > div > predictive-search > form > div > button
Accessible nameSearch
Markup
<button class="btn btn--icon" type="submit">
        <svg width="20" height="20" aria-hidden="true" focusable="false" data-prefix="far" data-icon="search" class="icon icon-search svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
  <path fill="currentColor" d="M508.5 468.9L387.1 347.5c-2.3-2.3-5.3-3.5-8.5-3.5h-13.2c31.5-36.5 50.6-84 50.6-136C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c52 0 99.5-19.1 136-50.6v13.2c0 3.2 1.3 6.2 3.5 8.5l121.4 121.4c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17zM208 368c-88.4 0-160-71.6-160-160S…
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
High

Images lack text alternatives

WCAG 1.1.1 (A)3 instances1 inspected page

Informative images have no alternative text, so their meaning is unavailable to people using assistive technology.

Why it matters

Informative images have no alternative text, so their meaning is unavailable to people using assistive technology.

Recommended correction

Add a concise alt attribute describing each informative image. Mark purely decorative images with alt="" so assistive technology skips them.

View 3 affected elements
Component · Ref EILTVF
Affected pagehttps://uprootclean.com/
Element.col-md-4:nth-child(1) > .transformation_box > .after_before_content > .review_img_content > .reviewer_content > img
Markup
<img src="https://cdn.shopify.com/s/files/1/0551/2957/1484/files/star.svg?v=1696336592">
Medium

ARIA attributes have invalid values

WCAG 4.1.2 (A)5 instances5 inspected pages

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 5 affected elements
Component · Ref SCPAGO
Affected pagehttps://uprootclean.com/en-gb/collections/all
Element#ajaxCartBtn
Accessible nameCart
Markup
<button type="button" aria-controls="ajaxCart" id="ajaxCartBtn" class="btn btn--icon header__cart-btn" aria-expanded="false" aria-haspopup="dialog" data-behavior="modal" data-overlay="aboveHeaderOverlay">
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Medium

Text has insufficient colour contrast

WCAG 1.4.3 (AA)50 instances5 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 50 affected elements
Component · Ref A5ZAPB
Affected pagehttps://uprootclean.com/collections/all
Elementlabel[for="newsletter-input-newsletter"]
Accessible nameEmail Address
Markup
<label for="newsletter-input-newsletter"> Email Address </label>
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref HJI3BN
Affected pagehttps://uprootclean.com/
Element.product-thumb__pricing > .onetime-pricing-display > .js-compare-price[data-variant-id="39342256455836"]
Accessible nameOriginal Price: $19.99
Markup
<s class="price-compare js-compare-price" data-variant-id="39342256455836">
        
        <span class="sr-only"> Original Price: </span>
        $19.99
        </s>
Affected pages/ /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref GV624P
Affected pagehttps://uprootclean.com/en-gb/collections/all
Element.onetime-pricing-display > .js-compare-price[data-variant-id="44641245528220"]
Accessible nameOriginal Price: £300.00
Markup
<s class="price-compare js-compare-price" data-variant-id="44641245528220">
        
        <span class="sr-only"> Original Price: </span>
        £300.00
        </s>
Affected pages/ /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref F5RNF8
Affected pagehttps://uprootclean.com/pages/sms-vip-signup
Element.footer__address
Accessible name3900 Crown Rd SE SW, Atlanta, GA 30304
Markup
<p class="footer__address">3900 Crown Rd SE SW, Atlanta, GA 30304</p>
Affected pages/pages/sms-vip-signup /en-gb/pages/sms-vip-signup
Component · Ref JNOT2I
Affected pagehttps://uprootclean.com/pages/sms-vip-signup
Elementa[title="TikTok"] > .tablet-lg-up
Accessible nameTikTok
Markup
<span class="tablet-lg-up"> TikTok </span>
Affected pages/pages/sms-vip-signup /en-gb/pages/sms-vip-signup
Component · Ref WYB09C
Affected pagehttps://uprootclean.com/collections/all
Elementp > span
Accessible nameExplore all of our top-rated pet hair removers at Uproot Clean. Our expert tools easily clean pet fur from carpets, rugs, furniture, clothing, and more.
Markup
<span>Explore all of our top-rated pet hair removers at Uproot Clean. Our expert tools easily clean pet fur from carpets, rugs, furniture, clothing, and more.&nbsp;</span>
Affected pages/products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref 1Q2781
Affected pagehttps://uprootclean.com/collections/all
Element.collection-banner__subtitle
Accessible nameUproot Clean
Markup
<div class="collection-banner__subtitle">Uproot Clean</div>
Affected pages/products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref SHNTBN
Affected pagehttps://uprootclean.com/collections/all
Elementh1
Accessible nameBest Sellers
Markup
<h1 class="collection-banner__title">
              
                Best Sellers
              
            </h1>
Affected pages/products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref NNSQBY
Affected pagehttps://uprootclean.com/
Elementa[href$="pet-care"] > .collection-thumb__title
Accessible namePet Care Products
Markup
<h1 class="collection-thumb__title">
      Pet Care Products
    </h1>
Component · Ref WP2XED
Affected pagehttps://uprootclean.com/
Element.featured-collections__item:nth-child(2) > .collection-thumb > a > .collection-thumb__title
Accessible nameGrooming Essentials
Markup
<h1 class="collection-thumb__title">
      Grooming Essentials
    </h1>
Component · Ref LJXY9P
Affected pagehttps://uprootclean.com/
Element.hero__title
Accessible nameCleaning & Grooming Essentials for Pet Households
Markup
<h1 class="hero__title" style="color:#f2f1ef;">
              Cleaning &amp; Grooming Essentials for Pet Households
            </h1>
Component · Ref RJFWOY
Affected pagehttps://uprootclean.com/
Element.product-thumb__title > a[href$="uproot-cleaner-xtra"]
Accessible nameUproot Cleaner Xtra™
Markup
<a href="/products/uproot-cleaner-xtra">
        
Uproot Cleaner Xtra™
      </a>
Component · Ref PV7VKI
Affected pagehttps://uprootclean.com/
Elementspan[data-onetime-price="4999"]
Accessible name$49.99
Markup
<span class="js-price igPrice" data-variant-id="42112870285468" data-onetime-price="4999">
      
      
        $49.99
      
      </span>
Component · Ref Y37SX3
Affected pagehttps://uprootclean.com/
Element.hero__description > p
Accessible nameTrusted essentials for maintaining a clean home with pets, built for real homes and real messes.
Markup
<p>Trusted essentials for maintaining a clean home with pets, built for real homes and real messes.</p>
Component · Ref FTMGQR
Affected pagehttps://uprootclean.com/
Element.hero__subtitle > p
Accessible nameFall Sale - Live Now
Markup
<p>Fall Sale - Live Now</p>
Component · Ref ZCV0W1
Affected pagehttps://uprootclean.com/collections/all
Elementli:nth-child(3) > .product-thumb > .product-thumb__details > .product-thumb__title > a
Accessible nameComplete Home Survival Kit - All Uproot Cleaners
Markup
<a href="/products/uproot-cleaner-all-products-bundle">
        
Complete Home Survival Kit - All Uproot Cleaners
      </a>
Medium

Video may be missing captions

WCAG 1.2.2 (A)7 instances5 inspected pages

A video element has no captions or subtitles track. Whether captions are needed depends on the audio content and requires manual review.

Why it matters

A video element has no captions or subtitles track. Whether captions are needed depends on the audio content and requires manual review.

Recommended correction

Provide a synchronized captions track (<track kind="captions">) for video with meaningful audio.

View 7 affected elements
Component · Ref YEVDTR
Affected pagehttps://uprootclean.com/en-gb/pages/sms-vip-signup
Elementdiv#glovePreviewModal > div > video
Accessible nameYour browser does not support the video tag.
Markup
<video class="gift-modal__video" muted="" loop="" playsinline="" autoplay="">
      <source src="https://cdn2.videowise.com/converted/videos/1762777109994_wid_NjkxMWQ4MTUwYjlhNTExMDFhMTg0MzYx_h264c.mp4" type="video/mp4">
      Your browser does not support the video tag.
    </video>
Affected pages/ /pages/sms-vip-signup /en-gb/pages/sms-vip-signup /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy
Component · Ref 0HTLTW
Affected pagehttps://uprootclean.com/
Elementvideo#media_fVWJi7Video
Markup
<video id="media_fVWJi7Video" class="media-cover" playsinline="" autoplay="" loop="" muted="">
                      <source src="https://cdn2.videowise.com/converted/videos/1761752239989_wid_NjkwMjM0YWZhMDdmMmE3NDc2OWFhODc0_h264c.mp4" type="video/mp4">
                    </video>
Medium

Content overflows horizontally on narrow viewports

WCAG 1.4.10 (AA)1 instance1 inspected page

The page scrolls horizontally at a mobile width, indicating content that does not reflow.

Why it matters

The page scrolls horizontally at a mobile width, indicating content that does not reflow.

Recommended correction

Ensure layouts reflow to a single column without horizontal scrolling down to 320px width.

View 1 affected element
Component · Ref 0EY9T2
Affected pagehttps://uprootclean.com/
Elementhtml
Accessible namedocument.addEventListener('DOMContentLoaded', function () { if (!window.location.pathname.includes('/tools/recurring/portal')) return; const textEl = document.querySelector('.recharge-navigation-customer'); if (!textEl || !textEl.parentElement) return; const parent = textEl.parentElement; if (document.querySelector('.contact-support-link-added')) return; const clone = parent.cloneNode(true); clone.classList.add('contact-support-link-added'); const clonedTextEl = clone.querySelector('.recharge-navigation-customer'); const clonedLink = clonedTextEl ? clonedTextEl.closest('a') : clone.querySelector('a'); if (clonedLink) { clonedLink.href = 'mailto:[email removed]'; } if (clonedTextEl) { const walker = document.createTreeWalker( clonedTextEl, NodeFilter.SHOW_TEXT, null, false ); let firstTextNode = null; while (walker.nextNode()) { const node = walker.currentNode; if (node.nodeValue.trim()) { firstTextNode = node; break; } } if (firstTextNode) { firstTextNode.nodeValue = 'Contact Support'; } } parent.insertAdjacentElement('afterend', clone); }); /* >> Heatmap.com :: Snippet << */(function (h,e,a,t,m,ap) { (h._heatmap_paq = []).push([ 'setTrackerUrl', (h.heatUrl = e) + a]); h.hErrorLogs=h.hErrorLogs || []; ap=t.createElement('script'); ap.src=h.heatUrl+'preprocessor.min.js?sid='+m; ap.defer=true; t.head.appendChild(ap); ['error', 'unhandledrejection'].forEach(function (ty) { h.addEventListener(ty, function (et) { h.hErrorLogs.push({ type: ty, event: et }); }); });})(window,'https://dashboard.heatmap.com/','heatmap.php',document,4224); window.Shopify = window.Shopify || {theme: {id: 142264828060, role: 'main' } }; window._template = { directory: "", name: "index", suffix: "" } @media (min-width: 800px) { .article img[width][style*="float"][style*="left"] { width: revert-layer; margin: 2rem 2rem 2rem 0; clear: both; } .article img[width][style*="float"][style*="right"] { width: revert-layer; margin: 2rem 0 2rem 2rem; } } /* .ctaBtn {font-weight:900;letter-spacing:2px;text-transform:uppercase;background:#9adbe8;display:table;text-align:center;padding:10px 20px;color:#fff !important;transition:0.3s;margin:20px auto; text-decoration:none !important;border-radius:5px;}.ctaBtn:hover {color:#fff !important;background:#8fccd8;transition:0.3s;} */ // Delayed GTM loading for better performance window.addEventListener('load', function() { (function (w, d, s, l, i) { w[l] = w[l] || [] w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }) var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '' j.async = true j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl f.parentNode.insertBefore(j, f) })(window, document, 'script', 'dataLayer', 'GTM-WJXP3PX2') }); {"version":"v6.29","locked":false,"initialized":true,"scope":"index","access_granted":true,"access_denied":false,"requires_customer":false,"manual_lock":false,"server_lock":false,"server_rendered":null,"hide_resource":false,"hide_links_to_resource":false,"transparent":true,"locks":{"all":[],"opened":[]},"keys":[],"keys_signature":"aa5be874108fe87f7f98b2b3b4b4131137eeef31f2de710a1017dd79357093cd","state":{"template":"index","theme":142264828060,"product":null,"collection":null,"page":null,"blog":null,"article":null,"app":null},"now":1788897396,"path":"\/","locale_root_url":"\/","canonical_url":"https:\/\/uprootclean.com\/","customer_id":null,"customer_id_signature":"aa5be874108fe87f7f98b2b3b4b4131137eeef31f2de710a1017dd79357093cd","cart":null}!function(){var require=undefined,reqwest=function(){function succeed(e){var t=protocolRe.exec(e.url);return t=t&&t[1]||context.location.protocol,httpsRe.test(t)?twoHundo.test(e.request.status):!!e.request.response}function handleReadyState(e,t,n){return function(){return e._aborted?n(e.request):e._timedOut?n(e.request,"Request is aborted: timeout"):void(e.request&&4==e.request[readyState]&&(e.request.onreadystatechange=noop,succeed(e)?t(e.request):n(e.request)))}}function setHeaders(e,t){var n,s=t.headers||{};s.Accept=s.Accept||defaultHeaders.accept[t.type]||defaultHeaders.accept["*"];var r="undefined"!=typeof FormData&&t.data instanceof FormData;for(n in!t.crossOrigin&&!s[requestedWith]&&(s[requestedWith]=defaultHeaders.requestedWith),!s[contentType]&&!r&&(s[contentType]=t.contentType||defaultHeaders.contentType),s)s.hasOwnProperty(n)&&"setRequestHeader"in e&&e.setRequestHeader(n,s[n])}function setCredentials(e,t){"undefined"!=typeof t.withCredentials&&"undefined"!=typeof e.withCredentials&&(e.withCredentials=!!t.withCredentials)}function generalCallback(e){lastValue=e}function urlappend(e,t){return e+(/[?]/.test(e)?"&":"?")+t}function handleJsonp(e,t,n,s){var r=uniqid++,o=e.jsonpCallback||"callback",a=e.jsonpCallbackName||reqwest.getcallbackPrefix(r),i=new RegExp("((^|[?]|&)"+o+")=([^&]+)"),l=s.match(i),c=doc.createElement("script"),u=0,d=-1!==navigator.userAgent.indexOf("MSIE 10.0");return l?"?"===l[3]?s=s.replace(i,"$1="+a):a=l[3]:s=urlappend(s,o+"="+a),context[a]=generalCallback,c.type="text/javascript",c.src=s,c.async=!0,"undefined"!=typeof c.onreadystatechange&&!d&&(c.htmlFor=c.id="_reqwest_"+r),c.onload=c.onreadystatechange=function(){if(c[readyState]&&"complete"!==c[readyState]&&"loaded"!==c[readyState]||u)return!1;c.onload=c.onreadystatechange=null,c.onclick&&c.onclick(),t(lastValue),lastValue=undefined,head.removeChild(c),u=1},head.appendChild(c),{abort:function(){c.onload=c.onreadystatechange=null,n({},"Request is aborted: timeout",{}),lastValue=undefined,head.removeChild(c),u=1}}}function getRequest(e,t){var n,s=this.o,r=(s.method||"GET").toUpperCase(),o="string"==typeof s?s:s.url,a=!1!==s.processData&&s.data&&"string"!=typeof s.data?reqwest.toQueryString(s.data):s.data||null,i=!1;return("jsonp"==s.type||"GET"==r)&&a&&(o=urlappend(o,a),a=null),"jsonp"==s.type?handleJsonp(s,e,t,o):((n=s.xhr&&s.xhr(s)||xhr(s)).open(r,o,!1!==s.async),setHeaders(n,s),setCredentials(n,s),context[xDomainRequest]&&n instanceof context[xDomainRequest]?(n.onload=e,n.onerror=t,n.onprogress=function(){},i=!0):n.onreadystatechange=handleReadyState(this,e,t),s.before&&s.before(n),i?setTimeout(function(){n.send(a)},200):n.send(a),n)}function Reqwest(e,t){this.o=e,this.fn=t,init.apply(this,arguments)}function setType(e){return null===e?undefined:e.match("json")?"json":e.match("javascript")?"js":e.match("text")?"html":e.match("xml")?"xml":void 0}function init(o,fn){function complete(e){for(o.timeout&&clearTimeout(self.timeout),self.timeout=null;0<self._completeHandlers.length;)self._completeHandlers.shift()(e)}function success(resp){var type=o.type||resp&&setType(resp.getResponseHeader("Content-Type"));resp="jsonp"!==type?self.request:resp;var filteredResponse=globalSetupOptions.dataFilter(resp.responseText,type),r=filteredResponse;try{resp.responseText=r}catch(e){}if(r)switch(type){case"json":try{resp=context.JSON?context.JSON.parse(r):eval("("+r+")")}catch(err){return error(resp,"Could not parse JSON in response",err)}break;case"js":resp=eval(r);break;case"html":resp=r;break;case"xml":resp=resp.responseXML&&resp.responseXML.parseError&&resp.responseXML.parseError.errorCode&&resp.responseXML.parseError.reason?null:resp.responseXML}for(self._responseArgs.resp=resp,self._fulfilled=!0,fn(resp),self._successHandler(resp);0<self._fulfillmentHandlers.length;)resp=self._fulfillmentHandlers.shift()(resp);complete(resp)}function timedOut(){self._timedOut=!0,self.reque…[truncated by Evolize: exceeded D1 value limit]
Markup
<html class="js js-focus-visible" lang="en" data-js-focus-visible=""><head><script src="https://ct.pinterest.com/static/ct/token_create.js"></script><script async="" src="https://s.pinimg.com/ct/lib/main.e47a302d.js"></script><script async="" src="https://connect.facebook.net/en_US/fbevents.js"></script><script type="text/javascript" async="" src="https://www.googletagmanager.com/gtag/js?id=G-KT6099W35P&amp;cx=c&amp;gtm=4e6930"></script><script type="text/javascript" async="" src="https://static.ads-twitter.com/uwt.js"></script><script type="text/javascript" async="" src="https://s.pinimg.com/…
Medium

<video> elements must have captions

WCAG 1.2.2 (A)2 instances1 inspected page

<video> elements must have captions

Why it matters

<video> elements must have captions

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 2 affected elements
Component · Ref WLNVPI
Affected pagehttps://uprootclean.com/
Element#media_fVWJi7Video
Markup
<video id="media_fVWJi7Video" class="media-cover" playsinline="" autoplay="" loop="" muted="">
                      <source src="https://cdn2.videowise.com/converted/videos/1761752239989_wid_NjkwMjM0YWZhMDdmMmE3NDc2OWFhODc0_h264c.mp4" type="video/mp4">
                    </video>
Component · Ref 3A0DVN
Affected pagehttps://uprootclean.com/
Element#template--18086081560732__4cb8c804-bcc2-4648-ba3d-306e61e812f3Video
Markup
<video id="template--18086081560732__4cb8c804-bcc2-4648-ba3d-306e61e812f3Video" data-video-load="lazy" preload="none" playsinline="" loop="" muted="" data-autoplay="">
Low

Low-quality alternative text

WCAG 1.1.1 (A)3 instances3 inspected pages

Alt text looks like a filename, a generic word ("image", "photo"), or is duplicated across unrelated images — it likely does not describe the content.

Why it matters

Alt text looks like a filename, a generic word ("image", "photo"), or is duplicated across unrelated images — it likely does not describe the content.

Recommended correction

Replace placeholder or filename alt text with a concise description of what the image conveys.

View 3 affected elements
Component · Ref 8AZ1ZC
Affected pagehttps://uprootclean.com/collections/all
Elementform#\[object\ HTMLInputElement\] > div:nth-of-type(1) > img
Markup
<img width="144" height="144" data-image-load="lazy" alt="Uproot Cleaner Pro™" class=" quick-view__img media-square media-image" src="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E" data-src="//uprootclean.com/cdn/shop/files/Pro_7_4da38406-1acf-4a3f-9973-de6b36576618.jpg?crop=center&amp;height=144&amp;v=1762198711&amp;width=144">
Affected pages/ /products/uproot-washing-machine-cleaner-checkout-champ-copy /en-gb/products/uproot-washing-machine-cleaner-checkout-champ-copy

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.