Public accessibility assessment

Accessibility issues detected on cufflinks.com

Evolize inspected 5 public pages on cufflinks.com and detected 49 automatically identifiable accessibility findings.

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

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

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

Is cufflinks.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 cufflinks.com and detected 49 accessibility findings. The most widespread issue was "Text has insufficient colour contrast", detected on 4 inspected pages. The most affected inspected page was "/", where 33 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. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 2 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 /collections/looney-tunes.

    View technical evidence →
  2. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 1 instance
    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 /collections/grand-ole-opry.

    View technical evidence →
  3. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 1 instance
    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 /collections/bracelet-sale.

    View technical evidence →
  4. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 4 inspected pages · 58 instances
    Why this matters

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

    Recommended action

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

    View technical evidence →
  5. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 4 inspected pages · 40 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 →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA3544 / 5
1.1.1Non-text ContentA344 / 5
2.1.1KeyboardA311 / 5
2.4.4Link Purpose (In Context)A311 / 5
2.4.3Focus OrderA244 / 5
4.1.2Name, Role, ValueA244 / 5
2.2.2Pause, Stop, HideA111 / 5
2.5.8Target Size (Minimum)AA111 / 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

Text has insufficient colour contrast

WCAG 1.4.3 (AA)140 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 140 affected elements
Component · Ref LX6QW6
Affected pagehttps://cufflinks.com/
Element.text-xxs.heading.text-subdued
Accessible name© 2026 - Cufflinks.com
Markup
<p class="heading text-subdued text-xxs">
          © 2026 - Cufflinks.com
</p>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref PY817D
Affected pagehttps://cufflinks.com/pages/contact-us
Elementli:nth-child(7) > a[href$="privacy-policy"]
Accessible namePrivacy Policy
Markup
<a href="/policies/privacy-policy" class="link-faded">Privacy Policy</a>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref YC6JNJ
Affected pagehttps://cufflinks.com/
Element.md-max\:hidden.localization-selectors > .relative:nth-child(2) > .localization-toggle[aria-label="Change language"][aria-haspopup="dialog"]
Accessible nameChange language
Markup
<button type="button" class="localization-toggle heading text-xxs link-faded" aria-controls="popover-localization-header-nav-sections--29101878608241__header-locale" aria-label="Change language" aria-expanded="false" aria-haspopup="dialog">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref KVWSJN
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.footer__block--text > .sm\:gap-5.v-stack.gap-4 > .prose.text-subdued > p
Accessible nameCuffLinks.com1012 E. Amidon StreetSioux Falls, SD 57104 USA_________Call Us: 877-283-3565Email Us: [email removed]
Markup
<p>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref QYAIOF
Affected pagehttps://cufflinks.com/
Elementa[href$="login"]
Accessible nameMy Account
Markup
<a href="/account/login" class="link-faded">My Account</a>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref WG8JEF
Affected pagehttps://cufflinks.com/pages/contact-us
Element.footer__aside > .localization-selectors > .relative:nth-child(2) > .localization-toggle.text-xxs[aria-label="Change language"]
Accessible nameChange language
Markup
<button type="button" class="localization-toggle heading text-xxs link-faded" aria-controls="popover-localization--sections--29101878575473__footer-locale" aria-label="Change language" aria-expanded="false" aria-haspopup="dialog">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref O6IC7W
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Elementstrong:nth-child(7)
Accessible name877-283-3565
Markup
<strong> 877-283-3565<br></strong>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref 1QKZCH
Affected pagehttps://cufflinks.com/
Element.footer__block--links.footer__block:nth-child(2) > .sm\:gap-5.gap-4.v-stack > .v-stack[role="list"] > li:nth-child(2) > .link-faded
Accessible nameFrequently Asked Questions
Markup
<a href="/pages/frequently-asked-questions" class="link-faded">Frequently Asked Questions</a>
Affected pages/ /pages/contact-us /cart
Component · Ref VKZ59V
Affected pagehttps://cufflinks.com/cart
Elementp > strong:nth-child(1)
Accessible nameCuffLinks.com
Markup
<strong>CuffLinks.com<br></strong>
Affected pages/ /products/r2d2-tie-bar /cart
Component · Ref 0FLIC8
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.link-faded[href$="shipping-policy"]
Accessible nameShipping Information
Markup
<a href="/policies/shipping-policy" class="link-faded">Shipping Information</a>
Affected pages/ /products/r2d2-tie-bar
Component · Ref AYMPJY
Affected pagehttps://cufflinks.com/cart
Element.footer__aside > .localization-selectors > .relative:nth-child(1) > .localization-toggle.text-xxs[aria-label="Change country or currency"] > span
Accessible nameUnited States (USD $)
Markup
<span>United States (USD
            $)</span>
Affected pages/pages/contact-us /cart
Component · Ref F4TLBO
Affected pagehttps://cufflinks.com/pages/contact-us
Element.md-max\:hidden.localization-selectors > .relative:nth-child(1) > .localization-toggle.text-xxs[aria-label="Change country or currency"] > span
Accessible nameUSD $
Markup
<span>USD
            $</span>
Affected pages/pages/contact-us /cart
Component · Ref X7OY67
Affected pagehttps://cufflinks.com/
Element.footer__aside > .localization-selectors > .relative:nth-child(1) > .localization-toggle[aria-label="Change country or currency"][aria-haspopup="dialog"] > span
Accessible nameUnited States (USD $)
Markup
<span>United States (USD
            $)</span>
Affected pages/ /products/r2d2-tie-bar
Component · Ref WZTBKG
Affected pagehttps://cufflinks.com/
Element.md-max\:hidden.localization-selectors > .relative:nth-child(1) > .localization-toggle[aria-label="Change country or currency"][aria-haspopup="dialog"] > span
Accessible nameUSD $
Markup
<span>USD
            $</span>
Affected pages/ /products/r2d2-tie-bar
Component · Ref VKZ58U
Affected pagehttps://cufflinks.com/
Elementa[href="mailto:[email removed]"] > strong
Accessible name[email removed]
Markup
<strong>[email removed]</strong>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref 98IU9L
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.is-selected.prose.heading > a
Accessible nameFREE SHIPPING ON U.S. ORDERS $100+
Markup
<a href="https://cufflinks.com/collections/all" title="https://cufflinks.com/collections/all">FREE SHIPPING ON U.S. ORDERS $100+</a>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref D5S1VF
Affected pagehttps://cufflinks.com/
Element.button[type="submit"]
Accessible nameSubscribe
Markup
<button type="submit" class="button">Subscribe</button>
Affected pages/ /pages/contact-us /cart
Component · Ref VKWOL1
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.footer__block--links.footer__block:nth-child(3) > .sm\:gap-5.v-stack.gap-4 > .v-stack.unstyled-list[role="list"] > li:nth-child(4) > .link-faded
Accessible nameShopify Collective Partnerships
Markup
<a href="https://cufflinks.com/apps/collective/retailer-referral" class="link-faded">Shopify Collective Partnerships</a>
Component · Ref YY517U
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Elementvariant-sku
Accessible nameSKU: SW-R2D2-TB
Markup
<variant-sku class="variant-sku text-sm text-subdued">SKU: SW-R2D2-TB</variant-sku>
Component · Ref DYWDBA
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.price-list--product > sale-price
Accessible nameSale price$44.00
Markup
<sale-price class="h4 text-subdued">
      <span class="sr-only">Sale price</span>$44.00</sale-price>
Component · Ref WFNTNL
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.vendor.link-faded[href$="star-wars"]
Accessible nameStar Wars
Markup
<a href="/collections/star-wars" class="vendor h6 link-faded">Star Wars</a>
Component · Ref C5OOMB
Affected pagehttps://cufflinks.com/pages/contact-us
Element.text-subdued.prose > p > strong:nth-child(1)
Accessible nameCuffLinks.com
Markup
<strong>CuffLinks.com<br></strong>
Component · Ref GKS32J
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.v-stack > .text-sm.text-subdued
Accessible nameTax excluded. Shipping calculated at checkout
Markup
<p class="text-sm text-subdued">Tax excluded.
<a href="/policies/shipping-policy" class="link">Shipping calculated</a> at checkout
</p>
Component · Ref 9UARO1
Affected pagehttps://cufflinks.com/
Element.button[href$="bracelet-sale"]
Accessible nameVIEW ALL
Markup
<a class="button" href="/collections/bracelet-sale">VIEW ALL</a>
Affected pages/ /cart
Component · Ref AKM77I
Affected pagehttps://cufflinks.com/
Element.collection-card.group[href$="neckwear"] > .collection-card__content.prose--tight.color-scheme--scheme-4 > .button[type="button"]
Accessible nameNeckties
Markup
<button type="button" class="button" tabindex="-1">Neckties</button>

Showing 25 representative examples · 10 more affected elements not shown

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 S7FSOT
Affected pagehttps://cufflinks.com/pages/contact-us
Elementbutton#option-4b20599c-d866-4716-9ba2-c9f671a56971
Accessible nameAustria (EUR €)
Roleoption
Markup
<button type="submit" name="country_code" class="popover__value-option h-stack gap-2.5" role="option" value="AT" aria-selected="false" id="option-4b20599c-d866-4716-9ba2-c9f671a56971"><img src="//cdn.shopify.com/static/images/flags/at.svg?format=jpg&amp;width=60" alt="Austria" srcset="//cdn.shopify.com/static/images/flags/at.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag"><span>Austria (EUR
                  €)</span>
              </button>
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)2 instances2 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 2 affected elements
Component · Ref 7IM8PE
Affected pagehttps://cufflinks.com/
Elementhtml > body > div:nth-of-type(11) > 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" data-kl-scroll-locking-modal="true" 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;"><div class="needsclick  kl-private-res…
Affected pages/ /pages/contact-us
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)5 instances1 inspected page

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 5 affected elements
Component · Ref R4SK2U
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Elementdiv#klaviyo-product-reviews-wrapper > div:nth-of-type(1) > div:nth-of-type(1) > div > div:nth-of-type(2) > div:nth-of-type(1)
Accessible name5 0%
Rolebutton
Markup
<div role="button" class="kl_reviews__histogram__row kl_reviews__histogram__clickable_row"><span aria-hidden="true" class="kl_reviews__histogram__rating">5</span><svg width="9" height="10" fill="none" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M2.25 5.9.62 4.55a.45.45 0 0 1 .217-.798L3.15 3.65l.988-2.476a.405.405 0 0 1 .724 0l.988 2.476 2.313.103a.45.45 0 0 1 .218.797L6.75 5.9l.444 2.636A.45.45 0 0 1 6.548 9L4.5 7.7 2.452 9.001a.45.45 0 0 1-.647-.467L2.25 5.9Z"></path></svg><div role="img" aria-label="0 reviews with 5 stars" class="kl_reviews__histogram__bar--background"><…
High

Scrollable region must have keyboard access

WCAG 2.1.1 (A)1 instance1 inspected page

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 1 affected element
Component · Ref 2J7U9K
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element#product-gallery-carousel-8322204926231-template--29101878215025__main
Accessible nameStar Wars R2D2 Tie Bar Image 1
Roleregion
Markup
<scroll-carousel adaptive-height="" id="product-gallery-carousel-8322204926231-template--29101878215025__main" class="product-gallery__carousel scroll-area full-bleed md:unbleed is-scrollable" role="region">
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 GYAZDF
Affected pagehttps://cufflinks.com/
Element.md-max\:hidden.localization-selectors > .relative:nth-child(1) > .localization-toggle[aria-label="Change country or currency"][aria-haspopup="dialog"]
Accessible nameChange country or currency
Markup
<button type="button" class="localization-toggle heading text-xxs link-faded" aria-controls="popover-localization-header-nav-sections--29101878608241__header-country" aria-label="Change country or currency" aria-expanded="false" aria-haspopup="dialog">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref HKB8BF
Affected pagehttps://cufflinks.com/products/r2d2-tie-bar
Element.footer__aside > .localization-selectors > .relative:nth-child(1) > .localization-toggle[aria-label="Change country or currency"][aria-haspopup="dialog"]
Accessible nameChange country or currency
Markup
<button type="button" class="localization-toggle heading text-xxs link-faded" aria-controls="popover-localization--sections--29101878575473__footer-country" aria-label="Change country or currency" aria-expanded="false" aria-haspopup="dialog">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Low

Low-quality alternative text

WCAG 1.1.1 (A)420 instances4 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 420 affected elements
Component · Ref BI6SZZ
Affected pagehttps://cufflinks.com/
Elementbutton#option-5a51accb-36b4-45d5-a259-73d2a7d05470 > img
Markup
<img src="//cdn.shopify.com/static/images/flags/nz.svg?format=jpg&amp;width=60" alt="New Zealand" srcset="//cdn.shopify.com/static/images/flags/nz.svg?format=jpg&amp;width=60 60w" width="60" height="45" loading="lazy" class="country-flag">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref HRNT7M
Affected pagehttps://cufflinks.com/
Elementnav:nth-of-type(2) > ul > li:nth-of-type(1) > div:nth-of-type(1) > button > img
Markup
<img src="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60" alt="United States" srcset="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60 60w" width="60" height="45" class="country-flag">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Component · Ref YK2NDL
Affected pagehttps://cufflinks.com/pages/contact-us
Elementdiv > div:nth-of-type(2) > div > div:nth-of-type(1) > button > img
Markup
<img src="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60" alt="United States" srcset="//cdn.shopify.com/static/images/flags/us.svg?format=jpg&amp;width=60 60w" width="60" height="45" class="country-flag">
Affected pages/ /pages/contact-us /products/r2d2-tie-bar /cart
Low

Touch targets are too small

WCAG 2.5.8 (AA)2 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 <button>'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 2 affected elements
Component · Ref Y5GLFU
Affected pagehttps://cufflinks.com/
Element.page-dots--autoplay > .tap-area[aria-current="false"]
Accessible nameGo to item 1
Markup
<button class="tap-area" aria-current="false">

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.