Public accessibility assessment

Accessibility issues detected on swimmingpool-discounters.com

Evolize inspected 5 public pages on swimmingpool-discounters.com and detected 93 automatically identifiable accessibility findings.

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

Highest detected severity: Critical · 50 high-priority findings · 100% inspected-page coverage

Most widespread issueText has insufficient colour contrastDetected on 5 inspected pages
Most affected page/65 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)32 detected findings

Is swimmingpool-discounters.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 swimmingpool-discounters.com and detected 93 accessibility findings. The most widespread issue was "Text has insufficient colour contrast", detected on 5 inspected pages. The most affected inspected page was "/", where 65 findings were detected. The assessment identified findings mapped to 9 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. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 4 instances
    Why this matters

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link exposes no accessible text. Add visible text that identifies its destination, or remove the link if it serves no purpose. For an icon-only link, provide an aria-label describing where it goes. The link points to https://www.facebook.com/swimmingpooldiscounter.

    View technical evidence →
  2. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 4 instances
    Why this matters

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link exposes no accessible text. Add visible text that identifies its destination, or remove the link if it serves no purpose. For an icon-only link, provide an aria-label describing where it goes. The link points to https://www.facebook.com/swimmingpooldiscounter.

    View technical evidence →
  3. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 4 instances
    Why this matters

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link exposes no accessible text. Add visible text that identifies its destination, or remove the link if it serves no purpose. For an icon-only link, provide an aria-label describing where it goes. The link points to https://www.facebook.com/swimmingpooldiscounter.

    View technical evidence →
  4. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 4 instances
    Why this matters

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link exposes no accessible text. Add visible text that identifies its destination, or remove the link if it serves no purpose. For an icon-only link, provide an aria-label describing where it goes. The link points to https://www.facebook.com/swimmingpooldiscounter.

    View technical evidence →
  5. Critical

    Links lack accessible text

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

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link exposes no accessible text. Add visible text that identifies its destination, or remove the link if it serves no purpose. For an icon-only link, provide an aria-label describing where it goes. The link points to https://swimmingpool....

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA3255 / 5
2.4.4Link Purpose (In Context)A2144 / 5
1.3.1Info and RelationshipsA944 / 5
2.4.3Focus OrderA844 / 5
4.1.2Name, Role, ValueA844 / 5
2.1.1KeyboardA733 / 5
1.1.1Non-text ContentA411 / 5
1.2.2Captions (Prerecorded)A411 / 5
3.3.2Labels or InstructionsA111 / 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

Critical

Embedded frames lack descriptive titles

WCAG 4.1.2 (A)1 instance1 inspected page

An <iframe> has no title, so its purpose is not announced to assistive technology.

Why it matters

An <iframe> has no title, so its purpose is not announced to assistive technology.

Recommended correction

Add a concise title attribute that describes the frame's actual purpose — for example "Store locator" for a location search or "Promotional campaign" for a marketing embed. The affected frame loads https://www.google.c..., which can help identify its purpose. Avoid generic values such as "Embedded content", "iframe", or "frame".

View 1 affected element
Component · Ref WGUDVM
Affected pagehttps://swimmingpool-discounters.com/
Elementiframe[width="800"]
Markup
<iframe src="https://www.google.c..." width="800" height="600" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-dow...">
High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)140 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 140 affected elements
Component · Ref WAY6HM
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Element.footer-utilities__text
Accessible name© 2026 Swimming Pool Discounters
Markup
<span class="footer-utilities__text">
    © 2026
    <a href="/" title="">Swimming Pool Discounters</a></span>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref GQS6NJ
Affected pagehttps://swimmingpool-discounters.com/
Elementa[href$="shop-pools-by-size"]
Accessible namePools by Size
Markup
<a href="/pages/shop-pools-by-size" title="Shop Pools By Size">Pools by Size</a>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref 8160FL
Affected pagehttps://swimmingpool-discounters.com/
Element.text-block--AMTd2andsSDZaK2ljS__product_title_YXxMTj > p
Accessible name12' X 54" Round Closeout Steel Pool | Closeout
Markup
<p>12' X 54" Round Closeout Steel Pool | Closeout</p>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref Z8J73B
Affected pagehttps://swimmingpool-discounters.com/cart
Element.text-block--ARUYzNlZRVjhtWVgyR__announcement_BxgCk9 > .announcement-bar__text
Accessible nameShop Online or In-Store
Markup
<p class="announcement-bar__text">
      Shop Online or In-Store
    </p>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref I02AU9
Affected pagehttps://swimmingpool-discounters.com/
Element.text-block--Ab3g0bnoyQ1poLy8rR__text_xy6wKD > h3
Accessible nameHuge selection from brands like Swimline, Lomart & Doughboy!
Markup
<h3>Huge selection from brands like Swimline, Lomart &amp; Doughboy!</h3>
Component · Ref 4VG9BK
Affected pagehttps://swimmingpool-discounters.com/
Element.text-block--AMXpmS1RLNVA3WlFwK__text_ELGkAp > h4
Accessible nameContact Us
Markup
<h4>Contact Us</h4>
Component · Ref C0ZOK9
Affected pagehttps://swimmingpool-discounters.com/
Element.link--AZ0tEV3IwNGRZMFFta__product_list_button_dt7PMe
Accessible nameView all
Markup
<a href="/collections/warehouse-closeouts" class="
    size-style
    link
    link--AZ0tEV3IwNGRZMFFta__product_list_button_dt7PMe
  " style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;">
  View all
</a>
Component · Ref C5DOTB
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Element#more-payment-options-link
Accessible nameMore payment options
Markup
<a class="shopify-payment-button__more-options" id="more-payment-options-link" href="#">More payment options</a>
Component · Ref 3H46EX
Affected pagehttps://account.swimmingpool-discounters.com/authentication/login?_s=ff2c603b-ff67-444a-8975-c528c0c4bba2&_y=83e24b9b-3e26-4feb-bdb0-313f638380d3&analytics_trace_id=c90eb343-d534-47df-9988-fffdc06989ab&client_id=523327de-32a2-47ba-b9f5-c68d04590401&locale=en&redirect_uri=%2Fauthentication%2Foauth%2Fauthorize%3F_cs%3D%26_s%3Dff2c603b-ff67-444a-8975-c528c0c4bba2%26_y%3D83e24b9b-3e26-4feb-bdb0-313f638380d3%26analytics_trace_id%3Dc90eb343-d534-47df-9988-fffdc06989ab%26buyer_flags%3DeyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJzd2ltbWluZ3Bvb2xkaXNjb3VudGVycy5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3ODk1MDE5NjYsIm5iZiI6MTc4ODg5NzE2Nn0.QgLUlg7NaA_On_fYA7mTUtdWWjGdskbdCmAm9Tjvsow%26client_id%3D523327de-32a2-47ba-b9f5-c68d04590401%26locale%3Den%26nonce%3D416ac8cd-fa7c-4a90-8dad-8363cb0f47bf%26redirect_uri%3Dhttps%253A%252F%252Fswimmingpool-discounters.com%252Fcustomer_authentication%252Fcallback%26region_country%3DUS%26response_type%3Dcode%26scope%3Dopenid%2Bemail%2Bcustomer-account-api%26state%3DhWNGbcjSiCvzeDJ0kaEG4KMz&region_country=US&ui_hint=full
Element._1fragemq4 > ._1m2hr9g1l._1m2hr9g1h._1m2hr9gm > ._1m2hr9gz._1m2hr9gy._1m2hr9gv
Accessible namePrivacy policy
Markup
<span class="_1m2hr9gz _1m2hr9gy _1fragem11y _1fragem12h _1fragem12b _1fragem12o _1m2hr9gv _1m2hr9gt _1fragem64 _1fragembj _1fragem122">Privacy policy</span>
Component · Ref FZ9HG8
Affected pagehttps://swimmingpool-discounters.com/cart
Element.cart-items__wrapper > p > a
Accessible nameLog in
Markup
<a href="https://swimmingpool-discounters.com/customer_authentication/redirect?locale=en&amp;region_country=US">Log in</a>
Component · Ref M4DBQB
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Element.pickup-location__button
Accessible nameView store information
Markup
<button on:click="/showDialog" class="button-unstyled pickup-location__button">
              View store information
            </button>
Component · Ref LGZ975
Affected pagehttps://swimmingpool-discounters.com/
Element.link--ANXloNkdSaDFMdk9UQ__button_3bqnPY
Accessible nameShop Round Pools
Markup
<a href="https://swimmingpool..." class="
    size-style
    ..." style="--size-style-width:4...">
Component · Ref DKYZI4
Affected pagehttps://swimmingpool-discounters.com/
Element#product-card-AckErb1V4YmE4U0VJZ__static-product-card-2 > .outerprimeb9943130603829-1.primeBadges[data-primeproductsid="9943130603829"] > .primeb-39112.primebDesktop.prime-mb-1 > div > div[data-primeproductid="9943130603829"][data-mobilesize="0"][data-tabletsize="0"]
Accessible nameFINAL CLOSEOUT
Markup
<div class="badgetitle primebText prime-font-adjust " data-primeproductid="9943130603829" data-timerval="" data-defaultsize="14px" data-mobilesize="0" data-tabletsize="0" ...>
Component · Ref 6T62R2
Affected pagehttps://swimmingpool-discounters.com/
Element#product-card-AeVFKMU0xbkhqSWVpe__static-product-card-2 > .product-card__content.product-grid__card.gap-style > product-price[data-product-id="9943130603829"] > div[data-la-dn-price=""][ref="priceContainer"] > .price
Accessible name$1,397.44
Markup
<span class="price">$1,397.44</span>
Component · Ref YE813S
Affected pagehttps://swimmingpool-discounters.com/
Elementdiv[data-primeproductid="8235551752501"][data-mobilesize="0"][data-tabletsize="0"]
Accessible nameFINAL CLOSEOUT
Markup
<div class="badgetitle primebText prime-font-adjust " data-primeproductid="8235551752501" data-timerval="" data-defaultsize="14px" data-mobilesize="0" data-tabletsize="0" ...>
Component · Ref IQDT4Z
Affected pagehttps://swimmingpool-discounters.com/
Element#product-card-AckErb1V4YmE4U0VJZ__static-product-card > .outerprimeb9943117693237-1.primeBadges[data-primeproductsid="9943117693237"] > .primeb-22461.primebDesktop.prime-mb-1 > div > div[data-primeproductid="9943117693237"][data-mobilesize="14"][data-tabletsize="15"]
Accessible nameLAYAWAY FOR 2027
Markup
<div class="badgetitle primebText prime-font-adjust " data-primeproductid="9943117693237" data-timerval="" data-defaultsize="14px" data-mobilesize="14" data-tabletsize="15" ...>
Component · Ref SR6VG3
Affected pagehttps://swimmingpool-discounters.com/
Elementproduct-price[data-product-id="8235551949109"] > div[data-la-dn-price=""][ref="priceContainer"] > span[role="group"]:nth-child(1) > .price
Accessible name$1,488.87
Markup
<span class="price">$1,488.87</span>
Component · Ref WQNIJ7
Affected pagehttps://swimmingpool-discounters.com/
Element.text-block--ARStCU0p3Yjc4RWZZa__text_fTx3JB > p > strong
Accessible nameSaturday:
Markup
<strong>Saturday:</strong>
Component · Ref GQS6MQ
Affected pagehttps://swimmingpool-discounters.com/
Elementp:nth-child(2) > a[title="Above Ground Saltwater Pools"][href$="saltwater-pools"]
Accessible nameSaltwater Pools
Markup
<a href="/collections/saltwater-pools" title="Above Ground Saltwater Pools">Saltwater Pools</a>
Component · Ref X5HFRC
Affected pagehttps://swimmingpool-discounters.com/
Elementproduct-price[data-product-id="8235551752501"] > div[data-la-dn-price=""][ref="priceContainer"] > span[role="group"]:nth-child(2) > .compare-at-price
Accessible name$1,599.99
Markup
<span class="compare-at-price">$1,599.99</span>
Component · Ref XLXY3K
Affected pagehttps://swimmingpool-discounters.com/
Elementh2:nth-child(2)
Accessible nameToday!
Markup
<h2>Today!</h2>
Component · Ref 4TRKVA
Affected pagehttps://swimmingpool-discounters.com/
Elementproduct-price[data-product-id="10572937953589"] > div[data-la-dn-price=""][ref="priceContainer"] > .price
Accessible name$1,697.42
Markup
<span class="price">$1,697.42</span>
Component · Ref FQPVDK
Affected pagehttps://swimmingpool-discounters.com/
Elementh3 > a[title="Above Ground Saltwater Pools"][href$="saltwater-pools"]
Accessible nameSaltwater Pools
Markup
<a href="/collections/saltwater-pools" title="Above Ground Saltwater Pools">Saltwater Pools</a>
Component · Ref PCHES2
Affected pagehttps://swimmingpool-discounters.com/
Element.card-gallery-AZFVvOVdLS0dSYjN0N__product_card_gallery_677WP3-4 > .product-badges.product-badges--top-left > .product-badges__badge.product-badges__badge--rectangle.color-scheme-89f0c972-cb41-4ec9-b6fb-a57dd4034f52
Accessible nameSold out
Markup
<div class="
            product-badges__badge product-badges__badge--rectangle
             color-scheme-89f0c972-cb41-4ec9-b6fb-a57dd4034f52
          ">Sold out
</div>
Component · Ref U72ZE7
Affected pagehttps://swimmingpool-discounters.com/
Element.text-block--AQzc3NXJBTkthUndTU__text_yeLfwi > h1
Accessible nameYour Discount Swimming Pool Store!
Markup
<h1>Your Discount Swimming Pool Store!</h1>

Showing 25 representative examples · 7 more affected elements not shown

High

ARIA role is missing its required parent

WCAG 1.3.1 (A)4 instances4 inspected pages

An element with an ARIA role is not inside the container role it requires, so the relationship is lost.

Why it matters

An element with an ARIA role is not inside the container role it requires, so the relationship is lost.

Recommended correction

Place the element inside its required parent role (e.g. option must be within listbox).

View 4 affected elements
Component · Ref H1RGOI
Affected pagehttps://swimmingpool-discounters.com/cart
Elementbutton[role="menuitem"]
Accessible nameMore
Rolemenuitem
Markup
<button role="menuitem" class="menu-list__link button-unstyled">
          <span class="menu-list__link-title">More</span>
        </button>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
High

IDs used in ARIA and labels must be unique

WCAG 4.1.2 (A)4 instances4 inspected pages

IDs used in ARIA and labels must be unique

Why it matters

IDs used in ARIA and labels must be unique

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 4 affected elements
Component · Ref N2HN92
Affected pagehttps://swimmingpool-discounters.com/cart
Element#account-popover > .account-actions > .account-actions__main-menu > .account-actions__header > .account-actions__title.h5
Accessible nameAccount
Markup
<h2 id="account-drawer-heading" class="account-actions__title h5">
        
          Account
        
      </h2>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)40 instances4 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 40 affected elements
Component · Ref 5W58OT
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Elementdiv#account-popover > div > div > div > a
Accessible nameOther sign in options Sign in
Markup
<a href="/customer_authentication/login?return_to=%2Fproducts%2Fskimmer-basket&amp;locale=en&amp;ui_hint=full&amp;region_country=US" class="account-actions__link button">
          <span class="account-actions__sign-in-text">
            Other sign in options
          </span>
          <span class="account-actions__fallback-text">
            Sign in
          </span>
        </a>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref 2IX8ZD
Affected pagehttps://swimmingpool-discounters.com/
Elementdiv:nth-of-type(2) > div:nth-of-type(2) > div > div:nth-of-type(1) > div:nth-of-type(2) > a
Markup
<a href="https://swimmingpool-discounters.com/" class="
  image-block image-block--ASEU4RkhGaURkRkpkU__image_zNDiXi image-block--height-fit spacing-style size-style
" style="
  --ratio: 1.0;
  --size-style-width:20%;--size-style-height: fit;
  --size-style-width-mobile:30%; --size-style-width-mobile-min:30%;
  --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
">
    
<img src="//swimmingpool-discounters.com/cdn/shop/files/SPD_Logo.png?v=1679422436&amp;width=3840" alt="" srcset="//swimmingpool-discounters.com/cdn/shop/files/SPD_Logo.png?v…
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref WBY8DA
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Elementheader-menu > div > nav > overflow-list > li:nth-of-type(6) > button
Accessible nameMore
Rolemenuitem
Markup
<button role="menuitem" class="menu-list__link button-unstyled">
          <span class="menu-list__link-title">More</span>
        </button>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref XNSL04
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdialog-component > dialog > div > div > div > a
Accessible nameOther sign in options Sign in
Markup
<a href="/customer_authentication/login?return_to=%2Fpages%2Fcustomer-service&amp;locale=en&amp;ui_hint=full&amp;region_country=US" class="account-actions__link button">
          <span class="account-actions__sign-in-text">
            Other sign in options
          </span>
          <span class="account-actions__fallback-text">
            Sign in
          </span>
        </a>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref U8B2E
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Elementheader-component#header-component > div > div > div:nth-of-type(1) > search-button > button
Accessible nameSearch
Markup
<button on:click="#search-modal/showDialog" class="button-unstyled header-actions__action" aria-label="Search" aria-haspopup="dialog">
      <span class="svg-wrapper">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"></circle><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"></path></svg>

      </span>
    </button>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref WAE7S0
Affected pagehttps://swimmingpool-discounters.com/
Elementdiv > div > div:nth-of-type(3) > header-actions > dialog-component > button
Accessible nameAccount
Markup
<button class="account-button header-actions__action" aria-label="Account" aria-haspopup="dialog" ref="trigger" on:click="/showDialog"><span class="account-button__icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"></circle><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0">…
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref SJQDP
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv > div:nth-of-type(3) > header-actions > dialog-component > dialog > button
Accessible nameClose dialog
Markup
<button ref="closeButton" on:click="/closeDialog" class="button button-unstyled close-button account-drawer__close-button" aria-label="Close dialog" autofocus="">
          <span class="svg-wrapper" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"></path>
  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>…
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref 7VCMFR
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Elementdiv > div > nav > ul > li:nth-of-type(1) > a
Accessible nameOrders
Markup
<a href="/account" class="account-actions__link button-secondary">
            <span class="account-actions__icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none">
  <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"></path>
  <path stroke="currentColor" stroke-width="var(--icon-stroke-wi…
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)22 instances3 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 22 affected elements
Component · Ref IGOEXD
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv > form > div:nth-of-type(2) > div > div:nth-of-type(2) > div:nth-of-type(2)
Markup
<div class="dismiss" onclick="Globo.FormBuilder.dismiss(this)">
                            <svg width="20" height="20" viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
                        </div>
Component · Ref FYCOIP
Affected pagehttps://swimmingpool-discounters.com/
Elementproduct-card#product-card-AckErb1V4YmE4U0VJZ__static-product-card-3 > div:nth-of-type(1) > div:nth-of-type(2)
Accessible nameFINAL CLOSEOUT
Markup
<div class="primebDesktop prime-d-block prime-mb-1 primeb-39112       " data-countryselected="" data-screensizeselected="" countryrule="1" visitorcountryrule="0" onclick="redirectLinkbadge('','0','39112','1');" style="  ">

    <div style="box-sizing: border-box; color: rgb(247, 250, 252); background: linear-gradient(135deg, rgb(251, 37, 9) 0%, rgb(251, 9, 9) 100%); font-size: 14px; position: relative; max-width: 100%; padding: 0.5em 1em; opacity: 1;">        
        <div class="badgetitle primebText prime-font-adjust " data-primeproductid="8235551949109" data-timerval="" data-defaultsize="14…
Component · Ref QGIHFV
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv#globo-formbuilder-10510 > div > div > div > div:nth-of-type(2) > div:nth-of-type(1)
Markup
<div class="gfb__discount-wrapper" onclick="Globo.FormBuilder.handleCopyDiscountCode(this)">
            <div class="gfb__content-discount">
                <span class="gfb__discount-code"></span>
                <div class="gfb__copy">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.…
Component · Ref YJFQA5
Affected pagehttps://swimmingpool-discounters.com/cart
Elementdiv#shopify-block-ASjR2cEdZYm9PS3YvU__discount_ninja_discountninja_app_blocks_cart_promotioncode_field_bVKttK > div > div > div:nth-of-type(1)
Accessible nameEnter discount code
Markup
<div style="display:none" onclick="javascript:if (discountNinja) discountNinja.DiscountCode.ToggleLink(this)" class="limoniapps-discountninja-cartdiscountfield-link"><p><span style="font-size: 11px;">Enter discount code</span></p></div>
Component · Ref XJ90MY
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv#globo-formbuilder-10510 > div > div > div > div:nth-of-type(1)
Markup
<div class="header dismiss hidden" onclick="Globo.FormBuilder.closeModalForm(this)">
        <svg width="20" height="20" viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
    </div>
Component · Ref 392G23
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv#globo-formbuilder-10510 > div > div > div > div:nth-of-type(2) > div:nth-of-type(3)
Markup
<div class="dismiss" onclick="Globo.FormBuilder.dismiss(this)">
            <svg width="20" height="20" viewBox="0 0 20 20" class="" focusable="false" aria-hidden="true"><path d="M11.414 10l4.293-4.293a.999.999 0 1 0-1.414-1.414L10 8.586 5.707 4.293a.999.999 0 1 0-1.414 1.414L8.586 10l-4.293 4.293a.999.999 0 1 0 1.414 1.414L10 11.414l4.293 4.293a.997.997 0 0 0 1.414 0 .999.999 0 0 0 0-1.414L11.414 10z" fill-rule="evenodd"></path></svg>
        </div>
Component · Ref 6N0EC1
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv > form > div:nth-of-type(2) > div > div:nth-of-type(3) > div:nth-of-type(1)
Markup
<div class="gfb__discount-wrapper" onclick="Globo.FormBuilder.handleCopyDiscountCode(this)">
                                <div class="gfb__content-discount">
                                    <span class="gfb__discount-code"></span>
                                    <div class="gfb__copy">
                                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.…
High

ARIA hidden element must not be focusable or contain focusable elements

WCAG 4.1.2 (A)12 instances1 inspected page

ARIA hidden element must not be focusable or contain focusable elements

Why it matters

ARIA hidden element must not be focusable or contain focusable elements

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 12 affected elements
Component · Ref VKLOXB
Affected pagehttps://swimmingpool-discounters.com/
Element.card.color-scheme-3[data-carousel-card=""]:nth-child(4)
Accessible nameSemi Inground Pools The elegant compromise between above ground and inground. Custom look, above-ground savings, endless design possibilities. Shop Round Pools Shop Oval Pools
Markup
<div class="card color-scheme-3" ref="slides[]" data-carousel-card="" aria-hidden="true">
Component · Ref OT86TA
Affected pagehttps://swimmingpool-discounters.com/
Element#shopify-section-template--27070923735349__product_list_fa6P9H > .section-resource-list.color-scheme-4[data-testid="product-list"] > .resource-list.force-full-width[data-testid="resource-list-grid"] > .resource-list__carousel > .resource-list__carousel[ref="resourceListCarousel"] > slideshow-container > slideshow-slides[gutters="start end"] > .resource-list__slide:nth-child(6)
Accessible nameLAYAWAY FOR 2027 FINAL MARKDOWN 21' x 52" Skyline 8" Resin Frame Round Pool | Closeout 21' x 52" Skyline 8" Resin Frame Round Pool | Closeout 21' x 52" Skyline 8" Resin Frame Round Pool | Closeout $1,577.77
Markup
<slideshow-slide ref="slides[]" aria-hidden="true" style="--slideshow-timeline: --slide-5; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;" class="resource-list__slide">
Component · Ref 7FSXHC
Affected pagehttps://swimmingpool-discounters.com/
Element.color-scheme-6:nth-child(3)
Accessible nameDiscount Super Steel Inground Pool Kits The strength of steel construction at a price that makes inground ownership possible. Customizable shapes and sizes, vinyl liner included, and built to last with a lifetime warranty. Starting at $6,999.99 Shop Sizes
Markup
<slideshow-slide ref="slides[]" aria-hidden="true" style="--slideshow-timeline: --slide-2; --product-media-fit: cover; --grid-template-rows: 30dvh 1fr; --grid-template-rows-desktop: 40dvh 1fr;" class="color-scheme-6" on:click="/select/2">
Component · Ref S93MHL
Affected pagehttps://swimmingpool-discounters.com/
Elementslideshow-slides > .color-scheme-6:nth-child(2)
Accessible nameRTR Resin Guard Blowout Bundles Discount Dale's pool bundles include all the essentials to get swimming. Liner, Skimmer Kit, Filter System, Ladder and Maintenance Kit are included! Starting at $2,199.99 Shop Bundles
Markup
<slideshow-slide ref="slides[]" aria-hidden="true" style="--slideshow-timeline: --slide-1; --product-media-fit: cover; --grid-template-rows: 30dvh 1fr; --grid-template-rows-desktop: 40dvh 1fr;" class="color-scheme-6" on:click="/select/1">
High

Images lack text alternatives

WCAG 1.1.1 (A)4 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 4 affected elements
Component · Ref 1HMLZE
Affected pagehttps://swimmingpool-discounters.com/
Element.discountdalehowlow
Markup
<img class="discountdalehowlow" src="https://cdn.shopify.com/s/files/1/0739/3122/7445/files/Dale_How_Low.png?v=1770930125">
Component · Ref TTGRUM
Affected pagehttps://swimmingpool-discounters.com/
Element.discountdaleHP
Markup
<img class="discountdaleHP" src="https://cdn.shopify.com/s/files/1/0739/3122/7445/files/Discount_Dale_with_Raft_and_Ball.png?v=1771010154">
Component · Ref 7E9BZL
Affected pagehttps://swimmingpool-discounters.com/
Element.hero__media > img
Markup
<img src="//swimmingpool-discounters.com/cdn/shop/files/preview_images/2768751ec9b441cdadec20779d38ea71.thumbnail.0000000000_small.jpg?v=1770926183">
Component · Ref 4C8GX3
Affected pagehttps://swimmingpool-discounters.com/
Element.before-image
Markup
<img width="4080" height="3072" loading="lazy" class="before-image" sizes="620px" ref="beforeImage" src="//swimmingpool-disco..." srcset="//swimmingpool-disco...">
Medium

ARIA attributes have invalid values

WCAG 4.1.2 (A)16 instances4 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 16 affected elements
Component · Ref UVARDQ
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Elementa[aria-controls="submenu-2"]
Accessible namePool Supplies
Markup
<a href="/collections/swimming-pool-supplies" data-skip-node-update="true" class="menu-list__link" aria-controls="submenu-2" aria-haspopup="true" aria-expanded="false" ref="menuitem">
            <span class="menu-list__link-title">Pool Supplies</span>
          </a>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref 0AQJKW
Affected pagehttps://swimmingpool-discounters.com/
Element.menu-list__link--active
Accessible namePool Resources
Markup
<a href="/" data-skip-node-update="true" class="menu-list__link menu-list__link--active" aria-controls="submenu-4" aria-haspopup="true" aria-expanded="false" ref="menuitem">
            <span class="menu-list__link-title">Pool Resources</span>
          </a>
Medium

Content sits outside any landmark region

WCAG 1.3.1 (A)4 instances4 inspected pages

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Why it matters

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Recommended correction

Wrap primary content in <main> and other regions in appropriate landmark elements.

View 4 affected elements
Component · Ref 7JB5IC
Affected pagehttps://swimmingpool-discounters.com/
Elementdiv:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1) > p
Accessible nameSwimming Pool Discounters
Markup
<p>Swimming Pool Discounters</p>
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Medium

Navigation regions are not distinguishable

WCAG 1.3.1 (A)17 instances4 inspected pages

The page has multiple navigation landmarks but they lack accessible names, so screen reader users cannot tell them apart.

Why it matters

The page has multiple navigation landmarks but they lack accessible names, so screen reader users cannot tell them apart.

Recommended correction

Give each navigation region a distinct aria-label (e.g. "Primary", "Footer") when more than one is present.

View 17 affected elements
Component · Ref 494BSF
Affected pagehttps://swimmingpool-discounters.com/cart
Elementheader-actions > dialog-component > dialog > div > div > nav
Accessible nameOrders Profile
Markup
<nav class="account-actions__nav">
      <ul class="account-actions__list">
        <li class="account-actions__list-item">
          <a href="/account" class="account-actions__link button-secondary">
            <span class="account-actions__icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none">
  <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 …
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref G3UMRL
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdetails#Details-menu-drawer-container > div:nth-of-type(1) > nav
Accessible nameShop Pools Shop Pools Shop by: Above Ground Pools Saltwater Pools Semi Inground Pools Steel Pools Warehouse Closeouts Pools w/Package Deals Family Fun Pool and Package RTR Blowout Bundles 5" HII Coastal Steel Frame Pool 6" Lomart Grey Mist Steel Frame Pool 7" HII Coral Sea Steel Frame Pool 7" HII Sea Shore Hybrid Resin Frame Pool 8" Whispering Wind Steel Frame Pool 8" HII Silver Interlude Hybrid Resin Frame Pool Above Ground Pools 6" Resin Frame Salt Pool with Aluminum Wall | Closeout Steel Frame 48" Pools | Closeout Steel Frame 54" Pools | Closeout Skyline 8" Resin Frame | Closeout Saltwater Pools 6" St. Germain Resin Frame Salt Pool, 52" Deep 6" St. Germain Resin Frame Salt Aluminum Wall Pool, 54" Deep 7" Freedom Resin Frame Salt Pool, 52" Deep 7" Downtowner Resin Frame Salt Pool, 54" Deep 8" Mirage Resin Frame Salt Pool, 54" Deep 8" Tradewinds Resin Frame Salt Pool, 54" Deep 8" HII Silver Interlude Premium Resin Salt Pool 10" Jumbo Resin Frame Salt Pool, 54" Deep Semi Inground Pools RTR Hybrid Steel Pool 8" Lomart Whispering Wind Steel Frame Pool …[truncated by Evolize: exceeded D1 value limit]
Markup
<nav class="menu-drawer__navigation" style="--menu-top-level-font-family: var(--font-accent--family);
--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-accent--style); --menu-top-level-font-weight: var(--font-accent--weight); --menu-top-level-font-case:uppercase;

  --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height:
  var(--menu-font-2xl--line-height);

--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);

--menu-parent-font-family: var(--font-accent--family); …
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref LQACPQ
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementdiv#account-popover > div > div > nav
Accessible nameOrders Profile
Markup
<nav class="account-actions__nav">
      <ul class="account-actions__list">
        <li class="account-actions__list-item">
          <a href="/account" class="account-actions__link button-secondary">
            <span class="account-actions__icon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none">
  <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 …
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref P69YYX
Affected pagehttps://swimmingpool-discounters.com/products/skimmer-basket
Elementdiv > div > div:nth-of-type(2) > header-menu > div > nav
Accessible nameShop Pools Shop by: Above Ground Pools Saltwater Pools Semi Inground Pools Steel Pools Warehouse Closeouts Pools w/Package Deals Family Fun Pool and Package RTR Blowout Bundles 5" HII Coastal Steel Frame Pool 6" Lomart Grey Mist Steel Frame Pool 7" HII Coral Sea Steel Frame Pool 7" HII Sea Shore Hybrid Resin Frame Pool 8" Whispering Wind Steel Frame Pool 8" HII Silver Interlude Hybrid Resin Frame Pool Above Ground Pools 6" Resin Frame Salt Pool with Aluminum Wall | Closeout Steel Frame 48" Pools | Closeout Steel Frame 54" Pools | Closeout Skyline 8" Resin Frame | Closeout Saltwater Pools 6" St. Germain Resin Frame Salt Pool, 52" Deep 6" St. Germain Resin Frame Salt Aluminum Wall Pool, 54" Deep 7" Freedom Resin Frame Salt Pool, 52" Deep 7" Downtowner Resin Frame Salt Pool, 54" Deep 8" Mirage Resin Frame Salt Pool, 54" Deep 8" Tradewinds Resin Frame Salt Pool, 54" Deep 8" HII Silver Interlude Premium Resin Salt Pool 10" Jumbo Resin Frame Salt Pool, 54" Deep Semi Inground Pools RTR Hybrid Steel Pool 8" Lomart Whispering Wind Steel Frame Pool Aquasports Aluminum Pools Discount Steel Semi/Inground Pool Inground Pools Discount Super Steel Inground Pool Kit [data-menu-grid-id="MegaMenuList-1"] { --menu-columns-desktop: 6; --menu-columns-tablet: 4; } [data-menu-list-id="MegaMenuList-1"] { --menu-columns-desktop: 6; --menu-columns-tablet: 4; } Pool Supplies Pool Equipment Pool Pumps Pool Filters & Systems Pool Heaters Automatic Cleaners Connect-a-Deck Pool Entry & Fencing Chemicals Chlorine Pools Chlorine Alternatives Ionizers, Salt & Ozone Generators Spa Chemicals Covers & Accessories Inflatables Solar Covers Winter Covers | Above Ground Winter Covers | Inground Winterizing Accessories General Pool Supplies Filter Media & Plumbing Pool Lighting Replacement Cartridges Replacement Liners Replacement Skimmers & Parts …[truncated by Evolize: exceeded D1 value limit]
Markup
<nav class="menu-list" style="--menu-top-level-font-family: var(--font-accent--family);
--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-accent--style); --menu-top-level-font-weight: var(--font-accent--weight); --menu-top-level-font-case:uppercase;

  --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height:
  var(--menu-font-sm--line-height);

--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
">
          
          <overflow-list ref="overflowMenu" class="overflo…
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Component · Ref YCO462
Affected pagehttps://swimmingpool-discounters.com/pages/customer-service
Elementform > div:nth-of-type(2) > div > header > div > nav
Markup
<nav class="steps hidden">
                            
                            
                                
                            
                            
                                
                                
                                
                                
                                <div class="step last" data-element-id="group-1" data-step="0">
                                    <div class="step__content">
                                        <p class="step__number"></p>
                                        <svg class="checkmark" …
Medium

List markup is malformed

WCAG 1.3.1 (A)4 instances4 inspected pages

A list contains elements other than the list items it should, breaking its structure.

Why it matters

A list contains elements other than the list items it should, breaking its structure.

Recommended correction

Ensure <ul>/<ol> contain only <li> (plus <script>/<template>) as direct children.

View 4 affected elements
Component · Ref MRFQ4O
Affected pagehttps://swimmingpool-discounters.com/cart
Elementoverflow-list,ul[part="list"]
Accessible nameShop Pools Shop by: Above Ground Pools Saltwater Pools Semi Inground Pools Steel Pools Warehouse Closeouts Pools w/Package Deals Family Fun Pool and Package RTR Blowout Bundles 5" HII Coastal Steel Frame Pool 6" Lomart Grey Mist Steel Frame Pool 7" HII Coral Sea Steel Frame Pool 7" HII Sea Shore Hybrid Resin Frame Pool 8" Whispering Wind Steel Frame Pool 8" HII Silver Interlude Hybrid Resin Frame Pool Above Ground Pools 6" Resin Frame Salt Pool with Aluminum Wall | Closeout Steel Frame 48" Pools | Closeout Steel Frame 54" Pools | Closeout Skyline 8" Resin Frame | Closeout Saltwater Pools 6" St. Germain Resin Frame Salt Pool, 52" Deep 6" St. Germain Resin Frame Salt Aluminum Wall Pool, 54" Deep 7" Freedom Resin Frame Salt Pool, 52" Deep 7" Downtowner Resin Frame Salt Pool, 54" Deep 8" Mirage Resin Frame Salt Pool, 54" Deep 8" Tradewinds Resin Frame Salt Pool, 54" Deep 8" HII Silver Interlude Premium Resin Salt Pool 10" Jumbo Resin Frame Salt Pool, 54" Deep Semi Inground Pools RTR Hybrid Steel Pool 8" Lomart Whispering Wind Steel Frame Pool Aquasports Aluminum Pools Discount Steel Semi/Inground Pool Inground Pools Discount Super Steel Inground Pool Kit [data-menu-grid-id="MegaMenuList-1"] { --menu-columns-desktop: 6; --menu-columns-tablet: 4; } [data-menu-list-id="MegaMenuList-1"] { --menu-columns-desktop: 6; --menu-columns-tablet: 4; } Pool Supplies Pool Equipment Pool Pumps Pool Filters & Systems Pool Heaters Automatic Cleaners Connect-a-Deck Pool Entry & Fencing Chemicals Chlorine Pools Chlorine Alternatives Ionizers, Salt & Ozone Generators Spa Chemicals Covers & Accessories Inflatables Solar Covers Winter Covers | Above Ground Winter Covers | Inground Winterizing Accessories General Pool Supplies Filter Media & Plumbing Pool Lighting Replacement Cartridges Replacement Liners Replacement Skimmers & Parts …[truncated by Evolize: exceeded D1 value limit]
Markup
<ul part="list" style="height: 44px; flex-wrap: wrap; counter-reset: overflow-count 0; overflow: unset;">
Affected pages/ /pages/customer-service /products/skimmer-basket /cart
Medium

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)1 instance1 inspected page

Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

Why it matters

Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

Recommended correction

Add a persistent <label> associated with each field. Keep the placeholder for example text only, not as the label.

View 1 affected element
Component · Ref G748QO
Affected pagehttps://swimmingpool-discounters.com/cart
Elementdiv#shopify-block-ASjR2cEdZYm9PS3YvU__discount_ninja_discountninja_app_blocks_cart_promotioncode_field_bVKttK > div > div > div:nth-of-type(3) > div:nth-of-type(2) > input
Markup
<input type="text" class="limoniapps-discountninja-cartdiscountfield-input" value="" autocomplete="off" tabindex="0" placeholder="Enter promo code">
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 90ZHF4
Affected pagehttps://swimmingpool-discounters.com/
Element.hero__media
Markup
<video playsinline="playsinline" autoplay="autoplay" loop="loop" muted="muted" class="hero__media" data-testid="hero-desktop-video-1" preload="metadata">
Component · Ref FEF1YZ
Affected pagehttps://swimmingpool-discounters.com/
Element.slide__video
Accessible namesemi inground pool set in backyard with landscaping and a blue and white pool float
Markup
<video playsinline="playsinline" autoplay="autoplay" loop="loop" muted="muted" class="slide__video" preload="metadata" aria-label="semi inground pool set in backyard with landscaping and a blue and white pool float" loading="lazy">
Low

Video may be missing captions

WCAG 1.2.2 (A)2 instances1 inspected page

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 2 affected elements
Component · Ref PEOQOP
Affected pagehttps://swimmingpool-discounters.com/
Elementslideshow-component > slideshow-container > slideshow-slides > slideshow-slide:nth-of-type(1) > div:nth-of-type(1) > video
Accessible namesemi inground pool set in backyard with landscaping and a blue and white pool float
Markup
<video playsinline="playsinline" autoplay="autoplay" loop="loop" muted="muted" class="slide__video" preload="metadata" aria-label="semi inground pool set in backyard with landscaping and a blue and white pool float" loading="lazy"><source src="//swimmingpool-discounters.com/cdn/shop/videos/c/vp/f7875c9689d744feae0222c23c505a7e/f7875c9689d744feae0222c23c505a7e.HD-720p-4.5Mbps-74841797.mp4?v=0" type="video/mp4"><img alt="semi inground pool set in backyard with landscaping and a blue and white pool float" src="//swimmingpool-discounters.com/cdn/shop/files/preview_images/f7875c9689d744feae0222c23c…
Component · Ref M0FFA0
Affected pagehttps://swimmingpool-discounters.com/
Elementdiv#Hero-template--27070923735349__hero_jVaWmY > div > div:nth-of-type(1) > div:nth-of-type(2) > video
Markup
<video playsinline="playsinline" autoplay="autoplay" loop="loop" muted="muted" class="hero__media" data-testid="hero-desktop-video-1" preload="metadata"><source src="//swimmingpool-discounters.com/cdn/shop/videos/c/vp/2768751ec9b441cdadec20779d38ea71/2768751ec9b441cdadec20779d38ea71.HD-1080p-4.8Mbps-73029842.mp4?v=0" type="video/mp4"><img src="//swimmingpool-discounters.com/cdn/shop/files/preview_images/2768751ec9b441cdadec20779d38ea71.thumbnail.0000000000_small.jpg?v=1770926183"></video>

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.