Public accessibility assessment

Accessibility issues detected on calistatools.com

Evolize inspected 5 public pages on calistatools.com and detected 54 automatically identifiable accessibility findings.

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

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

Most widespread issueHidden elements can still receive keyboard focusDetected on 4 inspected pages
Most affected page/products/o2-texturizer36 findings detected
Most represented WCAG criterionWCAG 2.1.1 — Keyboard17 detected findings

Is calistatools.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 calistatools.com and detected 54 accessibility findings. The most widespread issue was "Hidden elements can still receive keyboard focus", detected on 4 inspected pages. The most affected inspected page was "/products/o2-texturizer", where 36 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

    Embedded frames lack descriptive titles

    WCAG 4.1.2 (A) · 1 inspected page · 1 instance
    Why this matters

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

    Recommended action

    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://calista.attn.tv/p/xQ5/landing-page, which can help identify its purpose. Avoid generic values such as "Embedded content", "iframe", or "frame".

    View technical evidence →
  2. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 19 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 · 11 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

    Elements must only use permitted ARIA attributes

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

    Elements must only use permitted ARIA attributes

    Recommended action

    Review the affected element and correct the reported accessibility issue.

    View technical evidence →
  5. High

    Elements must only use permitted ARIA attributes

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

    Elements must only use permitted ARIA attributes

    Recommended action

    Review the affected element and correct the reported accessibility issue.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
2.1.1KeyboardA1722 / 5
1.4.3Contrast (Minimum)AA1644 / 5
2.4.3Focus OrderA844 / 5
4.1.2Name, Role, ValueA744 / 5
1.2.2Captions (Prerecorded)A211 / 5
1.3.1Info and RelationshipsA244 / 5
1.4.1Use of ColorA211 / 5
2.2.2Pause, Stop, HideA111 / 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://calista.attn.tv/p/xQ5/landing-page, which can help identify its purpose. Avoid generic values such as "Embedded content", "iframe", or "frame".

View 1 affected element
Component · Ref M583OD
Affected pagehttps://calistatools.com/pages/email-signup
Elementp:nth-child(4) > iframe
Markup
<iframe height="100%" width="100%" style="min-height: 800px;" src="https://calista.attn.tv/p/xQ5/landing-page"></iframe>
High

Elements must only use permitted ARIA attributes

WCAG 4.1.2 (A)10 instances4 inspected pages

Elements must only use permitted ARIA attributes

Why it matters

Elements must only use permitted ARIA attributes

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 10 affected elements
Component · Ref J50K9F
Affected pagehttps://calistatools.com/cart?polaris.openConsentManager=true
Element.x-block-draw-menu-close
Accessible nameClose
Markup
<div class="x-block-draw-menu-close pt-4 pb-4 pl-4 pr-4 w-full flex justify-between items-center" aria-label="Close">
Affected pages/ /products/o2-texturizer /pages/email-signup /cart /cart
Component · Ref WVJVEY
Affected pagehttps://calistatools.com/products/o2-texturizer
Element.x-block-mobile-nav-close
Accessible nameClose
Markup
<div class="x-block-mobile-nav-close pt-4 pb-4 pl-4 pr-4 w-full flex justify-between items-center" aria-label="Close">
Affected pages/ /products/o2-texturizer /pages/email-signup /cart /cart
High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)42 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 42 affected elements
Component · Ref Y7FLR8
Affected pagehttps://calistatools.com/pages/email-signup
Element#polaris-css-lockdown-container,a[data-polaris-one-click-opt-out="true"]
Markup
<a href="#" data-polaris-one-click-opt-out="true" data-testid="oneClickOptOutLink" class="polaris-consent-widget__links _consent_app-consent__links-IcaLk">Opt Out</a>
Affected pages/products/o2-texturizer /pages/email-signup /cart
Component · Ref 62XNVS
Affected pagehttps://calistatools.com/pages/email-signup
Element#x-slide-announcement-bar-slide01 > .gap-x-3.gap-y-2.ltr > .text--announcement_KJTazA.rtl\:order-1.announcement-bar_text > p > .button-link.x-announcement-bar-block-data.leading-\[initial\]
Accessible nameRESTOCK ALERT: EMBELLISH FINISHING SPRAY
Markup
<a href="/products/embellish-finishing-spray-7oz" class="button-link relative hover-text-link x-announcement-bar-block-data leading-[initial]">RESTOCK ALERT: EMBELLISH FINISHING SPRAY</a>
Affected pages/ /products/o2-texturizer /pages/email-signup /cart /cart
Component · Ref 0N1B41
Affected pagehttps://calistatools.com/pages/email-signup
Element#polaris-css-lockdown-container,._button-button__link-pQVZM
Markup
<button data-testid="" class="polaris-button _button-button-sXeE8 _button-button__link-pQVZM">Manage</button>
Affected pages/pages/email-signup /cart
Component · Ref BJCZXY
Affected pagehttps://calistatools.com/cart?polaris.openConsentManager=true
Element#polaris-css-lockdown-container,._toggle_row-toggle_row_container-yBpTP:nth-child(3) > ._toggle_row-toggle_row-yNo8B > ._toggle_row-toggle_row_title-DTmBl
Markup
<span class="_toggle_row-toggle_row_title-DTmBl">Analytics Cookies</span>
Affected pages/ /products/o2-texturizer /pages/email-signup /cart
Component · Ref DZ0C0X
Affected pagehttps://calistatools.com/cart?polaris.openConsentManager=true
Element#polaris-css-lockdown-container,.polaris-consent-widget__links > span
Markup
<span>Your Privacy Choices</span>
Component · Ref EBAPR1
Affected pagehttps://calistatools.com/cart?polaris.openConsentManager=true
Element#polaris-css-lockdown-container,.polaris-preferences-widget__cookie_policy_link
Markup
<a href="https://privacy.cali..." target="_blank" rel="nooopener noreferrer" title="Opens in new window" class="polaris-button polar...">
Component · Ref YF5NDA
Affected pagehttps://calistatools.com/products/o2-texturizer
Element#polaris-css-lockdown-container,.polaris-consent-widget__title
Markup
<h3 class="polaris-consent-widget__title _banner-banner__title_offset_for_close_button-uLxXM">We Take Privacy Seriously</h3>
Affected pages/products/o2-texturizer /pages/email-signup
Component · Ref H869CX
Affected pagehttps://calistatools.com/cart?polaris.openConsentManager=true
Elementli:nth-child(2) > .md\:pl-9.md\:pr-9.md\:pt-3 > .justify-center.flex > .button-text.is-focus-button\:opacity-0
Accessible nameHair Styling Tools
Markup
<span class="button-text  is-focus-button:opacity-0">Hair Styling Tools</span>
Affected pages/cart /cart
Component · Ref 4P6AM4
Affected pagehttps://calistatools.com/products/o2-texturizer
Element#polaris-css-lockdown-container,section[data-testid="oneClickOptOutBannerLine"]
Markup
<section data-testid="oneClickOptOutBannerLine" style="margin-top: calc(-0.5 * var(--padding));">
Affected pages/products/o2-texturizer /pages/email-signup
Component · Ref T9K4RL
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv[data-id="854217293"] > .yotpo-review-left-panel > .yotpo-reviewer[data-v-1ac5f7d8=""] > .yotpo-reviewer-image[data-v-1ac5f7d8=""] > .yotpo-verified-image-icon[data-v-1ac5f7d8=""][aria-hidden="true"] > span > .yotpo-initials-icon[height="40"][width="40"] > text
Accessible nameKM
Markup
<text x="50%" y="55%" class="yotpo-avatar-initials-text" dominant-baseline="middle" text-anchor="middle">KM</text>
Component · Ref 9J2EF1
Affected pagehttps://calistatools.com/products/o2-texturizer
Element#x-atc-button-template--26875475296566__main > .justify-center.flex > .pb-0\.5.x-atc-text.pt-0\.5
Accessible nameAdd to cart
Markup
<span class="x-atc-text button-text w-fit pt-0.5 pb-0.5 ">Add to cart
</span>
Component · Ref I42PC2
Affected pagehttps://calistatools.com/
Element.button-button_aHnd6d > .md\:pl-8.md\:pr-8.pl-7 > .justify-center.flex > .is-focus-button\:opacity-0.button-text
Accessible nameSHOP ELITEAIR
Markup
<span class="button-text  is-focus-button:opacity-0">SHOP ELITEAIR</span>
Component · Ref H75QF2
Affected pagehttps://calistatools.com/
Element.md\:pl-8.md\:pr-8[href$="the-jousse-line"] > .justify-center.flex > .is-focus-button\:opacity-0.button-text
Accessible nameSHOP JOUSSE
Markup
<span class="button-text  is-focus-button:opacity-0">SHOP JOUSSE</span>
Component · Ref H72CP3
Affected pagehttps://calistatools.com/
Element.x-subheading
Accessible nameFind Your Perfect Spray For Every Style
Markup
<p class="x-subheading sub-heading-slide_L37a8q leading-tight p-break-words image-treatment-text">Find Your Perfect Spray&nbsp;For&nbsp;Every Style</p>
Component · Ref B8NSDK
Affected pagehttps://calistatools.com/
Element.button--slide_L37a8q > .justify-center.flex > .is-focus-button\:opacity-0.button-text
Accessible nameSHOP NOW
Markup
<span class="button-text  is-focus-button:opacity-0">SHOP NOW</span>
Component · Ref 5RB5PX
Affected pagehttps://calistatools.com/
Element.heading-slide_L37a8q
Accessible nameDiscover a Wardrobe of Hairsprays
Markup
<h2 class="heading-slide_L37a8q p-break-words h2 block mt-1 leading-tight image-treatment-text"> 
  
    
      
        Discover a Wardrobe&nbsp;of&nbsp;Hairsprays
      
    
  </h2>
High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)50 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 50 affected elements
Component · Ref HOV1S1
Affected pagehttps://calistatools.com/pages/email-signup
Elementdiv#selector-social > ul > li:nth-of-type(3) > a
Accessible nameInstagram
Markup
<a href="https://www.instagram.com/calistatools/" target="blank" aria-label="Instagram" class="flex disable-effect hover-text-link w-11 h-11 pt-3 pr-3 pb-3 pl-3 border border-solid rounded-full">
    <svg class="icon-animation" xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="currentColor">
      <path d="M12.007 2.1622C15.2152 2.1622 15.5951 2.17628 16.8568 2.23256C18.0293 2.28415 18.6625 2.48114 19.0846 2.6453C19.6428 2.86105 20.0461 3.12371 20.4636 3.54114C20.8857 3.96326 21.1436 4.36193 21.3594 4.92007C21.5236 5.34219 21.7205 5.98007 21.7721 7.14794C2…
Affected pages/ /products/o2-texturizer /pages/email-signup /cart /cart
Component · Ref YL9C5Y
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementform#\[object\ HTMLInputElement\] > button
Accessible nameAdd to cart
Markup
<button type="submit" name="add" @click.prevent="errorMessage == false &amp;&amp; addToCart($event)" data-id="template--26875475296566__product-recommendations-8272124412214-4" class="button button--quickview button-solid not-icon leading-normal mt-2 w-full pr-5 pl-5 pt-2.5 pb-2.5 lg:pt-3 lg:pb-3 h-full z-[15] text-[12px] lg:text-[14px] lg:-translate-x-0 disabled:cursor-not-allowed disable-action-btn-animation disabled:opacity-60" :class="errorMessage &amp;&amp; 'opacity-60 cursor-not-allowed'" aria-label="Add to cart">
                  <span :class="{ 'lg:block opacity-0 is-focus-button' : l…
Affected pages/ /products/o2-texturizer /pages/email-signup /cart /cart
Component · Ref VY1PNF
Affected pagehttps://calistatools.com/
Elementinput#NewsletterForm--sections--26875466121526__footer
Markup
<input id="NewsletterForm--sections--26875466121526__footer" type="email" name="contact[email]" class="w-full h-full pl-2.5 pr-4 pt-5 input border-b-2 border-current rounded-none border-b-solid focus:outline-none focus:border-current bg-transparent placeholder:opacity-0" aria-required="true" autocorrect="off" autocapitalize="off" autocomplete="email" placeholder="Email" required="">
Affected pages/ /pages/email-signup /cart /cart
Component · Ref VBEZPF
Affected pagehttps://calistatools.com/cart
Elementdiv > div:nth-of-type(2) > div > ul:nth-of-type(2) > li:nth-of-type(3) > a
Accessible nameStyling Tools
Markup
<a href="/collections/hair-styling-tools" class="hover-text-link nav-link relative block lg:inline-block">
                              Styling Tools
                            </a>
Affected pages/pages/email-signup /cart /cart
Component · Ref S3LAD2
Affected pagehttps://calistatools.com/
Elementdiv#x-product-template-1797342068805-template--26875474280758__e32885d8-0a8f-4c4f-8801-377d01cb7656-1-1 > div:nth-of-type(4) > button
Accessible nameChoose options
Markup
<button type="submit" name="add" @click.prevent="setTimeout(() => { $store.xQuickView &amp;&amp; (showOptions = !showOptions); $store.xQuickView.showChooseOption('template--26875474280758__e32885d8-0a8f-4c4f-8801-377d01cb7656-1797342068805-collection_DqgeTW', $el); }, 0)" x-on:mouseover="setTimeout(() => { $store.xQuickView &amp;&amp; $store.xQuickView.loadChooseOptions('/collections/best-sellers/products/gogo-mini-round-brush', $el, 'template--26875474280758__e32885d8-0a8f-4c4f-8801-377d01cb7656-1797342068805-collection_DqgeTW', 201); }, 0)" data-id="template--26875474280758__e32885d8-0a8f-4c…
Affected pages/ /products/o2-texturizer
Component · Ref KX7CR6
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementbutton#x-atc-button-sticky-template--26875475296566__main
Accessible nameAdd to cart
Rolebutton
Markup
<button id="x-atc-button-sticky-template--26875475296566__main" role="button" type="submit" name="add" @click.prevent="addToCart($event, true, '', true)" class="relative min-w-[120px] add_to_cart_button button button-solid transition disabled:opacity-60 disable-action-btn-animation disabled:cursor-not-allowed duration-300 leading-none w-full pt-2.5 pb-2.5 pl-4 pr-4 md:pr-5 md:pl-5" x-transition:enter="transition-all w-24 ease-in-out duration-300" x-transition:enter-start="opacity-0 transform" x-transition:enter-end="opacity-100" x-transition:leave="transition-all ease-in-out duration-500" x-tr…
Component · Ref UQ0X02
Affected pagehttps://calistatools.com/
Elementdiv#x-slideshow-template--26875474280758__4c9e1af5-c4c0-48cf-b771-49029eedd24f > div > div > div > a
Accessible name/collections/hair-spray
Markup
<a href="/collections/hair-spray" class="absolute top-0 left-0 bottom-0 right-0 z-[19] opacity-0">/collections/hair-spray</a>
Component · Ref Y01DPE
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#sticky-add-to-cart-template--26875475296566__main > div > div:nth-of-type(1) > a
Accessible nameSTRATOSPHERE Texturizing Spray 2700 $27
Markup
<a href="/products/o2-texturizer" class="flex rtl:flex-row-reverse rtl:text-right relative transition ease-in-out duration-300 mb-5 md:mb-0" x-transition:enter="transition-all ease-in-out duration-300" x-transition:enter-start="opacity-0 transform translate-y-1/3" x-transition:enter-end="opacity-100 translate-y-0" x-transition:leave="transition-all ease-in-out duration-500" x-transition:leave-end="opacity-0 transform translate-y-1/3">
                  <div id="product-image-sticky-template--26875475296566__main" class="w-10 relative">
                    <div class="relative overflow-hidden w…
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)16 instances2 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 16 affected elements
Component · Ref IGMA16
Affected pagehttps://calistatools.com/
Elementsection#shopify-section-template--26875474280758__e32885d8-0a8f-4c4f-8801-377d01cb7656 > div > div:nth-of-type(2) > a > span
Accessible namearrow
Rolelink
Markup
<span class="w-2 h-2 inline-block mt-0.5 rtl:rotate-180" role="link" aria-label="arrow"><svg width="100%" height="100%" viewBox="0 0 8 9" xmlns="http://www.w3.org/2000/svg">
    <path d="M4.5.643 7.5 4.5 4.5 8.357M.5.643 3.5 4.5.5 8.357" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path>
  </svg>
</span>
Component · Ref B07Z8
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511110-yotpo-dropdown-option-1
Accessible nameVery short or pixie
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511110-yotpo-dropdown-option-1" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Very short or pixie</span></div><!----></div>
Component · Ref UO4DZN
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.18623231799760975-yotpo-dropdown-option-0
Accessible nameFilter reviews by all ratings
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-label="Filter reviews by all ratings" aria-selected="true" id="dropdown-yotpo-dropdown-0.18623231799760975-yotpo-dropdown-option-0" class="yotpo-dropdown-option yotpo-dropdown-option--focus yotpo-dropdown-option--selected" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">All ratings</span></div><svg data-v-75d918e0="" data-v-7aac675c="" width="12" height="9" viewBox="0 0 12 9" fill="none" xmlns="http://www.w3.org/2000/svg" class…
Component · Ref UO4DZL
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.18623231799760975-yotpo-dropdown-option-2
Accessible nameFilter reviews by 4 stars
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-label="Filter reviews by 4 stars" aria-selected="false" id="dropdown-yotpo-dropdown-0.18623231799760975-yotpo-dropdown-option-2" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-f702b75a="" class="yotpo-star-rating-filter yotpo-score" aria-hidden="true" data-testid="star-rating-filter"><span class="star-container"><svg class="yotpo-star-rating-icon yotpo-sr-star-full" width="13.35" height="13.35" viewBox="0 0 33 33" fill="none" xmlns…
Component · Ref OG8NXX
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511111-yotpo-dropdown-option-2
Accessible nameMedium
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511111-yotpo-dropdown-option-2" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Medium</span></div><!----></div>
Component · Ref UO4DZM
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.18623231799760975-yotpo-dropdown-option-3
Accessible nameFilter reviews by 3 stars
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-label="Filter reviews by 3 stars" aria-selected="false" id="dropdown-yotpo-dropdown-0.18623231799760975-yotpo-dropdown-option-3" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-f702b75a="" class="yotpo-star-rating-filter yotpo-score" aria-hidden="true" data-testid="star-rating-filter"><span class="star-container"><svg class="yotpo-star-rating-icon yotpo-sr-star-full" width="13.35" height="13.35" viewBox="0 0 33 33" fill="none" xmlns…
Component · Ref B07ZA
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511110-yotpo-dropdown-option-3
Accessible nameShoulder length
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511110-yotpo-dropdown-option-3" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Shoulder length</span></div><!----></div>
Component · Ref OG8NXZ
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511111-yotpo-dropdown-option-0
Accessible nameAll
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="true" id="dropdown-yotpo-dropdown-0.64694424774511111-yotpo-dropdown-option-0" class="yotpo-dropdown-option yotpo-dropdown-option--focus yotpo-dropdown-option--selected" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">All</span></div><svg data-v-75d918e0="" data-v-7aac675c="" width="12" height="9" viewBox="0 0 12 9" fill="none" xmlns="http://www.w3.org/2000/svg" class="yotpo-selected-icon--focused yotpo-selected-icon"…
Component · Ref B07ZD
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511110-yotpo-dropdown-option-4
Accessible nameLong or below your shoulders
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511110-yotpo-dropdown-option-4" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Long or below your shoulders</span></div><!----></div>
Component · Ref UO4DZK
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.18623231799760975-yotpo-dropdown-option-5
Accessible nameFilter reviews by 1 star
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-label="Filter reviews by 1 star" aria-selected="false" id="dropdown-yotpo-dropdown-0.18623231799760975-yotpo-dropdown-option-5" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-f702b75a="" class="yotpo-star-rating-filter yotpo-score" aria-hidden="true" data-testid="star-rating-filter"><span class="star-container"><svg class="yotpo-star-rating-icon yotpo-sr-star-full" width="13.35" height="13.35" viewBox="0 0 33 33" fill="none" xmlns=…
Component · Ref UO4DZW
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.18623231799760975-yotpo-dropdown-option-1
Accessible nameFilter reviews by 5 stars
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-label="Filter reviews by 5 stars" aria-selected="false" id="dropdown-yotpo-dropdown-0.18623231799760975-yotpo-dropdown-option-1" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-f702b75a="" class="yotpo-star-rating-filter yotpo-score" aria-hidden="true" data-testid="star-rating-filter"><span class="star-container"><svg class="yotpo-star-rating-icon yotpo-sr-star-full" width="13.35" height="13.35" viewBox="0 0 33 33" fill="none" xmlns…
Component · Ref UO4DZR
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.18623231799760975-yotpo-dropdown-option-4
Accessible nameFilter reviews by 2 stars
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-label="Filter reviews by 2 stars" aria-selected="false" id="dropdown-yotpo-dropdown-0.18623231799760975-yotpo-dropdown-option-4" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-f702b75a="" class="yotpo-star-rating-filter yotpo-score" aria-hidden="true" data-testid="star-rating-filter"><span class="star-container"><svg class="yotpo-star-rating-icon yotpo-sr-star-full" width="13.35" height="13.35" viewBox="0 0 33 33" fill="none" xmlns…
Component · Ref B07ZC
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511110-yotpo-dropdown-option-5
Accessible nameVery long
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511110-yotpo-dropdown-option-5" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Very long</span></div><!----></div>
Component · Ref B07ZB
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511110-yotpo-dropdown-option-2
Accessible nameShort or chin length
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511110-yotpo-dropdown-option-2" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Short or chin length</span></div><!----></div>
Component · Ref B07Z9
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511110-yotpo-dropdown-option-0
Accessible nameAll
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="true" id="dropdown-yotpo-dropdown-0.64694424774511110-yotpo-dropdown-option-0" class="yotpo-dropdown-option yotpo-dropdown-option--focus yotpo-dropdown-option--selected" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">All</span></div><svg data-v-75d918e0="" data-v-7aac675c="" width="12" height="9" viewBox="0 0 12 9" fill="none" xmlns="http://www.w3.org/2000/svg" class="yotpo-selected-icon--focused yotpo-selected-icon"…
Component · Ref OG8NXK
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#dropdown-yotpo-dropdown-0\.64694424774511111-yotpo-dropdown-option-1
Accessible nameFine/Thin
Roleoption
Markup
<div data-v-7aac675c="" role="option" aria-selected="false" id="dropdown-yotpo-dropdown-0.64694424774511111-yotpo-dropdown-option-1" class="yotpo-dropdown-option" data-testid="dropdown-option"><div data-v-7aac675c="" class="yotpo-dropdown-option-label" data-testid="dropdown-option-label"><span data-v-7aac675c="" class="formated-value">Fine/Thin</span></div><!----></div>
Medium

Content sits outside any landmark region

WCAG 1.3.1 (A)5 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 5 affected elements
Component · Ref 2PYI4R
Affected pagehttps://calistatools.com/cart
Elementul#menu-level-0 > li:nth-of-type(1)
Accessible nameTake the Hair Quiz Best Sellers Hair Tools Hair Tools Perfecter Pro EliteAir Multi-Styler Hot Rollers GoGo Mini Bodywaver FAUXblo Triangl Pro All Hair Tools Shop by Product Type Shop by Product Type Curling Tools Heated Brushes Straightening Tools …[truncated by Evolize: exceeded D1 value limit]
Markup
<li class="block-mobile-navigation-menu">
                <span class="flex empty:hidden border-t ml-4 mr-4"></span>



<div class="flex items-center gap-4 pr-4 pl-4 border-b"><style data-shopify="">

</style>
          <a href="/pages/hair-quiz" class="flex-1 relative pt-2.5 pb-2.5 gap-4 flex items-center disable-effect">
        
          
          
          <span class="flex flex-wrap gap-x-2">
            <span class="p-break-words font-medium font-menu-level-0">
              
              
                
                
                  <span>Take the Hair Quiz</span>
           …
Affected pages/ /products/o2-texturizer /pages/email-signup /cart /cart
Medium

<video> elements must have captions

WCAG 1.2.2 (A)4 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 4 affected elements
Component · Ref TLUC71
Affected pagehttps://calistatools.com/
Element#video--shoppable_video_XbBqB8 > .cursor-default.external-video[x-data="{ isHovered: false }"] > video
Markup
<video x-on:mouseover="isHovered = true" x-on:mouseleave="isHovered = false" :controls="isHovered" playsinline="playsinline" class="w-full h-full absolute top-0 left-0 video object-cover" preload="metadata" loading="lazy">
Low

ARIA attributes have invalid values

WCAG 4.1.2 (A)7 instances3 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 7 affected elements
Component · Ref GN68PM
Affected pagehttps://calistatools.com/cart
Element#polaris-css-lockdown-container,a[title="Opens in new window"]
Markup
<a class="polaris-consent-widget__links _consent_app-consent__links-IcaLk" href="https://privacy.calistatools.com/privacy-policy" title="Opens in new window" target="_blank" rel="noopener noreferrer" aria-describedby="audioeye_new_window_message">Privacy Policy</a>
Affected pages/ /cart
Component · Ref P8O7KU
Affected pagehttps://calistatools.com/products/o2-texturizer
Element.yotpo-custom-questions-filter:nth-child(6) > .yotpo-dropdown-wrapper[data-v-7aac675c=""] > .yotpo-dropdown-closable.yotpo-dropdown-closable--focused[aria-haspopup="listbox"]
Accessible nameStyling Results
Rolecombobox
Markup
<div data-v-7aac675c="" class="yotpo-dropdown-closa..." aria-expanded="false" aria-controls="dropdown-yotpo-dropd..." tabindex="0" aria-labelledby="yotpo-dropdown-0.646..." aria-haspopup="listbox" role="combobox" data-testid="dropdown-combobox">
Component · Ref O2F8BH
Affected pagehttps://calistatools.com/products/o2-texturizer
Element.yotpo-dropdown-closable--textual
Accessible nameSort by
Rolecombobox
Markup
<div data-v-7aac675c="" class="yotpo-dropdown-closa..." aria-expanded="false" aria-controls="dropdown-yotpo-dropd..." tabindex="0" aria-labelledby="yotpo-dropdown-0.230..." aria-haspopup="listbox" role="combobox" data-testid="dropdown-combobox">
Component · Ref ISCQQN
Affected pagehttps://calistatools.com/products/o2-texturizer
Element.yotpo-score-filter-container > .yotpo-dropdown-closable.yotpo-dropdown-closable--focused[aria-haspopup="listbox"]
Accessible nameRating
Rolecombobox
Markup
<div data-v-7aac675c="" class="yotpo-dropdown-closa..." aria-expanded="false" aria-controls="dropdown-yotpo-dropd..." tabindex="0" aria-labelledby="yotpo-dropdown-0.186..." aria-haspopup="listbox" role="combobox" data-testid="dropdown-combobox">
Low

Navigation regions are not distinguishable

WCAG 1.3.1 (A)2 instances2 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 2 affected elements
Component · Ref ZYOOG1
Affected pagehttps://calistatools.com/products/o2-texturizer
Elementdiv#sticky-header-content > header > nav
Accessible nameBestsellers Hair Tools Hair Tools Curling Brushes Hot Rollers Straightening Tools Hair Dryers Multi-Stylers Travel-Size Bodywavers Vault Tools Refurbished Shop All Tools Bestsellers Perfecter Pro Ion Hot Rollers GoGo Mini Round Brush .image-simple_menu_TAHeat-1 { height: 300px; } .title-color-simple_menu_TAHeat-1 { color: ; --colors-heading: , , ; }.button--simple_menu_TAHeat-1.button-solid, .button--simple_menu_TAHeat-1.button-so…[truncated by Evolize: exceeded D1 value limit]
Markup
<nav x-on:click.away="$store.xHeaderMenu.closeMenu()" class="x-container-header-nav [grid-area:navigation] w-full order-3 hidden header__inline-menu lg:flex items-center pb-header lg:[grid-area:auto] justify-center">
  <ul class="list-menu inline-flex flex-wrap gap-x-10 items-center justify-center">
    

<li id="tree_menu_CTY9mU" class="tree-menu" :class="$store.xHeaderMenu.show === 1 &amp;&amp; 'is-focus'">
              <div class=" relative cursor-pointer tree-menu-item p-break-words inline-block justify-center pt-1 pb-1 relative hover-text-link is-focus:link-active" x-data="{ active: fals…
Affected pages/products/o2-texturizer /pages/email-signup
Low

Video may be missing captions

WCAG 1.2.2 (A)4 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 4 affected elements
Component · Ref 1WPPIR
Affected pagehttps://calistatools.com/
Elementdiv#video--shoppable_video_BnKmEK > div > video
Markup
<video x-on:mouseover="isHovered = true" x-on:mouseleave="isHovered = false" :controls="isHovered" playsinline="playsinline" class="w-full h-full absolute top-0 left-0 video object-cover" preload="metadata" loading="lazy"><source src="//calistatools.com/cdn/shop/videos/c/vp/a9a3c60c4101471daf9fe9eb614af065/a9a3c60c4101471daf9fe9eb614af065.HD-1080p-2.5Mbps-87145547.mp4?v=0" type="video/mp4"><img loading="lazy" alt="" src="//calistatools.com/cdn/shop/files/preview_images/a9a3c60c4101471daf9fe9eb614af065.thumbnail.0000000000_1100x.jpg?v=1782149745"></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.