Public accessibility assessment

Accessibility issues detected on fittes.com

Evolize inspected 5 public pages on fittes.com and detected 66 automatically identifiable accessibility findings.

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

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

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

Is fittes.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 fittes.com and detected 66 accessibility findings. The most widespread issue was "Text has insufficient colour contrast", detected on 5 inspected pages. The most affected inspected page was "/", where 45 findings were detected. The assessment identified findings mapped to 7 WCAG success criterions. The sections below prioritize the broadest issues and provide technical evidence for each detected finding.

02 · Start here

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

  1. High

    Hidden elements can still receive keyboard focus

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

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

    Recommended action

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

    View technical evidence →
  2. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 5 inspected pages · 40 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 →
  3. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 5 inspected pages · 30 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 →
  4. High

    Interactive controls are not keyboard-accessible

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

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

    Recommended action

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

    View technical evidence →
  5. High

    Text has insufficient colour contrast

    WCAG 1.4.3 (AA) · 5 inspected pages · 15 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 →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA4455 / 5
4.1.2Name, Role, ValueA822 / 5
2.1.1KeyboardA655 / 5
2.4.3Focus OrderA455 / 5
1.3.1Info and RelationshipsA355 / 5
1.2.2Captions (Prerecorded)A111 / 5
3.3.2Labels or InstructionsA155 / 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)205 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 205 affected elements
Component · Ref M24XUI
Affected pagehttps://fittes.com/pages/og-signup
Elementa[href$="our-story"]
Accessible nameOur Story
Markup
<a href="/pages/our-story" class="footer__menu-link">Our Story</a>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref 7LKYWQ
Affected pagehttps://fittes.com/pages/contact
Elementa[href$="terms-of-service"]
Accessible nameTerms of Service
Markup
<a href="/pages/terms-of-service" class="footer__bottom-link">Terms of Service</a>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref 2F4JAM
Affected pagehttps://fittes.com/
Element.footer__newsletter-heading > strong
Accessible nameJoin our newsletter
Markup
<strong>Join our newsletter</strong>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref XVBI13
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Element.footer__menu-column:nth-child(3) > .footer__menu-heading > strong
Accessible nameAbout Us
Markup
<strong>About Us</strong>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref OYSYA3
Affected pagehttps://fittes.com/
Element#NewsletterForm--sections--27918268465519__footer
Markup
<input id="NewsletterForm--sections--27918268465519__footer" type="email" name="contact[email]" class="footer__newsletter-input" value="" aria-required="true" autocorrect="off" autocapitalize="off" autocomplete="email" placeholder="Email Address" required="">
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref YNOLK
Affected pagehttps://fittes.com/pages/og-signup
Element.footer__copyright
Accessible nameCopyright © 2026 Fittes USA Inc..
Markup
<span class="footer__copyright">Copyright © 2026 Fittes USA Inc..</span>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref 5ZDPRW
Affected pagehttps://fittes.com/
Element.footer__menu-link[href$="faq"]
Accessible nameFAQ
Markup
<a href="/pages/faq" class="footer__menu-link">FAQ</a>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref M8M7QN
Affected pagehttps://fittes.com/
Element.is-active > p > strong
Accessible nameFree shipping on your first order over $150.
Markup
<strong>Earn points with every order — Join </strong>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /pages/og-signup
Component · Ref M8M7MA
Affected pagehttps://fittes.com/pages/contact
Elementa[target="_blank"] > strong
Accessible nameSUBSCRIBE NOW
Markup
<strong>SUBSCRIBE NOW</strong>
Affected pages/blogs/blog/air-vent-cover-vs-air-register /pages/contact /pages/og-signup
Component · Ref ID6BO6
Affected pagehttps://fittes.com/pages/og-signup
Element.small-hide
Accessible nameSearch
Markup
<div class="small-hide">Search</div>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref MM133U
Affected pagehttps://fittes.com/
Element.reviews__card:nth-child(7) > article > .reviews__body > .reviews__verified
Accessible nameVerified Purchaser
Markup
<span class="reviews__verified">
                    <svg aria-hidden="true" focusable="false"><use href="#reviews-check-template--27918264566127__seamless_spaces_reviews_XxrnVa"></use></svg>
                    Verified Purchaser
                  </span>
Component · Ref QQ3FFY
Affected pagehttps://fittes.com/
Element.reviews__card:nth-child(3) > article > .reviews__body > .reviews__product > .reviews__card-link
Accessible nameFlush Drywall No-See Receptacle Mount [Luxe]
Markup
<a class="reviews__card-link" href="/products/flush-drywall-no-see-receptacle-mount-luxe">Flush Drywall No-See Receptacle Mount [Luxe]</a>
Component · Ref 300APB
Affected pagehttps://fittes.com/products/lite-damper
Element.medium-hide.product__accordion.accordion:nth-child(4) > details[open=""] > .accordion__content.rte > p:nth-child(2) > a[rel="noopener"][target="_blank"]:nth-child(1)
Accessible nameFramed Floor Vent [Lite]
Markup
<a href="https://fittes.com/products/framed-floor-vent-lite" rel="noopener" target="_blank">Framed Floor Vent [Lite]</a>
Component · Ref 1G0YLO
Affected pagehttps://fittes.com/products/lite-damper
Element.marquee-fade > p > a > strong
Accessible nameFittes Crew
Markup
<strong>Fittes Crew</strong>
Component · Ref YDJYRZ
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementp:nth-child(5) > span
Accessible nameSimilar to an air register, the air vent covers a hole in the wall of floor where the air duct enters the room. Unlike air registers, air vents do not have a damper to control air flow. They simply cover the air duct opening.
Markup
<span>Similar to an air register, the air vent covers a hole in the wall of floor where the air duct enters the room. Unlike air registers, air vents do not have a damper to control air flow. They simply cover the air duct opening.&nbsp;<span class="Apple-converted-space">&nbsp;</span></span>
Component · Ref R7N3I7
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementh2:nth-child(6) > span > b
Accessible nameWHAT IS THE DIFFERENCE BETWEEN AN AIR VENT COVER AND A REGISTER?
Markup
<b>WHAT IS THE DIFFERENCE BETWEEN AN AIR VENT COVER AND A REGISTER?</b>
Component · Ref C7CIWA
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Element#Details-share-template--27918263255407__main > .share-button__button
Accessible nameShare
Rolebutton
Markup
<summary class="share-button__button" role="button" aria-expanded="false">
Component · Ref ON3RVH
Affected pagehttps://fittes.com/
Element.ss__eyebrow
Accessible nameSeamless Spaces
Markup
<p class="ss__eyebrow">Seamless Spaces</p>
Component · Ref 49WRV9
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementstrong > .Apple-converted-space
Accessible nameHOW DO I KNOW IF I NEED A COVER OR A REGISTER?
Markup
<span class="Apple-converted-space">HOW DO I KNOW IF I NEED A COVER OR A REGISTER?</span>
Component · Ref 0SGHRA
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Element.article-template__link
Accessible nameBack to blog
Markup
<a href="/blogs/blog" class="article-template__link link animate-arrow">
Component · Ref URBGQJ
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementtime
Accessible nameNovember 14, 2018
Markup
<time datetime="2018-11-14T14:56:00Z">November 14, 2018</time>
Component · Ref U9AKEL
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementh1
Accessible nameAll About HVAC
Markup
<h1 class="article-template__title">
            All About HVAC
          </h1>
Component · Ref 8NGC6M
Affected pagehttps://fittes.com/
Element.btn-all
Accessible nameView All
Markup
<a href="/collections/all" class="btn-all">View All</a>
Component · Ref I43EAK
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementh2:nth-child(2)
Accessible nameWHAT IS AN AIR REGISTER?
Markup
<h2>WHAT IS AN AIR REGISTER?</h2>
Component · Ref XGH6VE
Affected pagehttps://fittes.com/products/lite-damper
Element.slp_13efdb > p
Accessible nameEarn 110 Points when you buy this item.
Markup
<p>Earn 110 Points when you buy this item.</p>

Showing 25 representative examples · 19 more affected elements not shown

High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)50 instances5 inspected pages

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

Why it matters

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

Recommended correction

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

View 50 affected elements
Component · Ref H8ITXE
Affected pagehttps://fittes.com/
Elementdiv#marquee-sections--27918268563823__marquee_fEtJ7a > div > div:nth-of-type(2) > p > a
Accessible nameSUBSCRIBE NOW
Markup
<a href="https://signup.fittes.com/l/RAz8ae" target="_blank" title="https://signup.fittes.com/l/RAz8ae"><strong>SUBSCRIBE NOW</strong></a>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref K8120P
Affected pagehttps://fittes.com/pages/og-signup
Elementpredictive-search > form > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(2) > a:nth-of-type(7)
Accessible nameFlush Drywall Receptacle Mount [Lite] $9.90
Markup
<a class="hw-product-item" href="/products/flush-drywall-receptacle-mount-lite">
                      
                        <img src="//fittes.com/cdn/shop/files/1FlushDrywallReceptacleMount_Lite__Lifestyle1_efeca395-dc33-4517-924a-d026e94794c5.png?v=1754026965&amp;width=320" srcset="//fittes.com/cdn/shop/files/1FlushDrywallReceptacleMount_Lite__Lifestyle1_efeca395-dc33-4517-924a-d026e94794c5.png?v=1754026965&amp;width=160 160w, //fittes.com/cdn/shop/files/1FlushDrywallReceptacleMount_Lite__Lifestyle1_efeca395-dc33-4517-924a-d026e94794c5.png?v=1754026965&amp;width=320 320w" sizes="(max-wid…
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)56 instances5 inspected pages

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

Why it matters

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

Recommended correction

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

View 56 affected elements
Component · Ref EW8QNZ
Affected pagehttps://fittes.com/pages/og-signup
Elementsummary#HeaderMenu-learn
Accessible nameLearn
Rolebutton
Markup
<summary id="HeaderMenu-learn" class="header__menu-item list-menu__item link focus-inset" aria-expanded="false" aria-controls="MegaMenu-Content-2" role="button">
                <span>Learn</span>
                <svg class="icon icon-caret" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
                  <path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 0C11.1443 0 11.6667 0.522334 11.6667 1.16667V19.8333C11.6667 20.4777 11.1443 21 10.5 21C9.85567 21 9.33333 20.4777 9.33333 19.8333V1.16667C9.33333 0.522334 9.85567 0 10.5 0Z" fill="currentColor"></p…
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref U3QAPU
Affected pagehttps://fittes.com/pages/og-signup
Elementsticky-header > header > div > details-modal > details > summary
Accessible nameSearch
Rolebutton
Markup
<summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search" role="button">
      <span>
        <span class="header__icon--search-span"><svg fill="none" class="icon icon-search" viewBox="0 0 25 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.55412 2.88593C8.48833 2.49897 9.4896 2.2998 10.5008 2.2998C11.512 2.2998 12.5132 2.49897 13.4474 2.88593C14.3817 3.27289 15.2305 3.84007 15.9455 4.55508C16.6605 5.27009 17.2277 6.11893 17.6147 7.05314C18.0016 7.98735 18.2008 8.98863 18.2008 9.99981C18.2008 11.01…
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref 9QL1MF
Affected pagehttps://fittes.com/products/lite-damper
Elementdetails#Details-menu-drawer-container > summary
Accessible nameMenu
Rolebutton
Markup
<summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu" role="button" aria-expanded="false" aria-controls="menu-drawer">
      <span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-hamburger" viewBox="0 0 24 24">
<g clip-path="url(#clip0_545_5014)">
<path d="M3 6.25H2.25V7.75H3V6.25ZM3 7.75H21V6.25H3V7.75Z" fill="currentColor"></path>
<path d="M3 15.25H2.25V16.75H3V15.25ZM3 16.75H15V15.25H3V16.75Z" fill="currentColor"></path>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 …
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref 6MBRY7
Affected pagehttps://fittes.com/products/lite-damper
Elementdetails#Details-CartDrawer > summary
Accessible nameOrder special instructions
Rolebutton
Markup
<summary role="button" aria-expanded="false">
              <span class="summary__title">
                Order special instructions
<svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg>
</span>
            </summary>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref OXXO3Y
Affected pagehttps://fittes.com/pages/contact
Elementsummary#HeaderDrawer-trade-rewards
Accessible nameSupport
Rolebutton
Markup
<summary id="HeaderDrawer-trade-rewards" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-trade-rewards">
                    Support
                    <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"></path></svg>
</span>
  …
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref FHDX22
Affected pagehttps://fittes.com/products/lite-damper
Elementdetails#Details--template--27918267154799__main > summary
Rolebutton
Markup
<summary class="share-button__button" role="button" aria-expanded="false">
      <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-share" viewBox="0 0 13 12"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M1.625 8.125v2.167a1.083 1.083 0 0 0 1.083 1.083h7.584a1.083 1.083 0 0 0 1.083-1.083V8.125"></path><path fill="currentColor" fill-rule="evenodd" d="M6.148 1.271a.5.5 0 0 1 .707 0L9.563 3.98a.5.5 0 0 1-.707.707L6.501 2.332 4.147 4.687a.5.5 0 1 1-.708-.707z" clip-rule="evenodd"></path><path fill="currentColor" fill-rule…
Affected pages/blogs/blog/air-vent-cover-vs-air-register /products/lite-damper
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)10 instances5 inspected pages

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

Why it matters

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

Recommended correction

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

View 10 affected elements
Component · Ref 52UBLN
Affected pagehttps://fittes.com/blogs/blog/air-vent-cover-vs-air-register
Elementhtml > body > div:nth-of-type(15) > div:nth-of-type(2)
Accessible namecart
Roledialog
Markup
<div role="dialog" aria-modal="true" aria-label="cart" class="_content_15jnv_59 picky-cart__content"><div class="_header_x26je_9 picky-cart__header"><div class="_content_x26je_30"><div class="_title_x26je_23 picky-cart__title">Cart</div><div class="_counter_x26je_71 picky-cart__counter">0</div></div><div class="_actions_x26je_57"><!----><button type="button" class="_remove_18z55_9 _remove_large_18z55_40 picky-remove-button picky-cart__close" aria-label="close cart"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 5L5 15M5 5L15 15" stro…
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Component · Ref XESZ8R
Affected pagehttps://fittes.com/pages/contact
Elementsticky-header > header > div > details-modal > details > div
Accessible nameSearch
Roledialog
Markup
<div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search">
      <div class="modal-overlay"></div>
      <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form">
          <div class="field">
            <input class="search__input field__input hw-head-search-input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search Fittes.com" role="combobox" aria-…
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
High

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)10 instances5 inspected pages

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 10 affected elements
Component · Ref 2F166P
Affected pagehttps://fittes.com/pages/og-signup
Elementinput#Search-In-Modal
Rolecombobox
Markup
<input class="search__input field__input hw-head-search-input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search Fittes.com" role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false">
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
High

ARIA hidden element must not be focusable or contain focusable elements

WCAG 4.1.2 (A)3 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 3 affected elements
Component · Ref 7UUJ6G
Affected pagehttps://fittes.com/
Elementdiv[data-slide-id="2"]
Accessible nameSlide 2 of 4
Markup
<div class="carousel-slide" data-slide-id="2" aria-roledescription="slide" aria-label="Slide 2 of 4" aria-hidden="true">
Component · Ref OV20MK
Affected pagehttps://fittes.com/
Element.carousel-slide--triptych
Accessible nameSlide 3 of 4
Markup
<div class="carousel-slide carousel-slide--triptych" data-slide-id="3" aria-roledescription="slide" aria-label="Slide 3 of 4" aria-hidden="true">
High

Elements must only use permitted ARIA attributes

WCAG 4.1.2 (A)2 instances1 inspected page

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 2 affected elements
Component · Ref TW2KX2
Affected pagehttps://fittes.com/
Element.fl-ba-handle
Accessible nameDrag to compare before and after
Markup
<div class="fl-ba-handle" aria-label="Drag to compare before and after" style="left: 50%;">
Component · Ref 67RHM3
Affected pagehttps://fittes.com/
Element.carousel-slide--rotating
Accessible nameSlide 1 of 4
Markup
<div class="carousel-slide carousel-slide--rotating active" data-slide-id="1" aria-roledescription="slide" aria-label="Slide 1 of 4" aria-hidden="false">
High

Summary elements must have discernible text

WCAG 4.1.2 (A)1 instance1 inspected page

Summary elements must have discernible text

Why it matters

Summary elements must have discernible text

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 1 affected element
Component · Ref 46E2YN
Affected pagehttps://fittes.com/products/lite-damper
Element#Details--template--27918267154799__main > .share-button__button
Rolebutton
Markup
<summary class="share-button__button" role="button" aria-expanded="false">
Medium

Content sits outside any landmark region

WCAG 1.3.1 (A)5 instances5 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 LU4MU0
Affected pagehttps://fittes.com/pages/contact
Elementdiv#CartDrawer > div:nth-of-type(2) > div:nth-of-type(1) > div:nth-of-type(1) > div > p:nth-of-type(2)
Accessible nameLog in to check out faster.
Markup
<p class="cart__login-paragraph">
                  <a href="/account/login" class="link underlined-link">Log in</a> to check out faster.
                </p>
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Medium

Navigation regions are not distinguishable

WCAG 1.3.1 (A)5 instances5 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 5 affected elements
Component · Ref 91JZXE
Affected pagehttps://fittes.com/pages/og-signup
Elementdiv#menu-drawer > div > div > nav
Accessible nameShop by Product Shop by Product Wall / Ceiling Vents Floor Vents Exhaust Fans Mounts & Niches Air Filters Shop by Finish Shop by Finish Framed Flush Specs Specs Airflow Specs Compare Models Product Basics Install Guides Support Support Help Center FAQ Guided Shopping Blog Trade + Rewards Trade + Rewards Trades Program Partner Program Fittes Crew Rewards Vent Finder
Markup
<nav class="menu-drawer__navigation">
            <ul class="menu-drawer__menu has-submenu list-menu" role="list">
              
              
              
              
              
              
              
              <li>
                <details id="Details-menu-drawer-menu-item-2">
                  <summary id="HeaderDrawer-shop-by-product" class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-shop-by-product">
                    Shop by Product
                    <span class="svg-wrapper"><svg x…
Affected pages/ /blogs/blog/air-vent-cover-vs-air-register /pages/contact /products/lite-damper /pages/og-signup
Medium

IDs used in ARIA and labels must be unique

WCAG 4.1.2 (A)4 instances1 inspected page

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 XGWC30
Affected pagehttps://fittes.com/products/lite-damper
Element.medium-hide.product__accordion.accordion:nth-child(5) > details > .accordion__content.rte
Accessible name+ Add air flow control to your favourite [Lite] vent models + Pull and push damper wings to maximize and restrict air flow + Simple clip-on install — no tools required + Warning: Once clipped onto a vent, the damper cannot be removed. + Easy to clean + Patented design, made in North America
Markup
<div class="accordion__content rte" id="ProductAccordion-collapsible_tab_WDjXHn-template--27918267154799__main">
Low

ARIA attributes have invalid values

WCAG 4.1.2 (A)7 instances1 inspected page

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

Why it matters

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

Recommended correction

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

View 7 affected elements
Component · Ref 4A86NS
Affected pagehttps://fittes.com/products/lite-damper
Elementbutton[aria-label="Play video 1 in gallery view"]
Accessible namePlay video 1 in gallery view
Markup
<button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Play video 1 in gallery view" aria-controls="GalleryViewer-template--27918267154799__main" aria-describedby="Thumbnail-template--27918267154799__main-6
">
Component · Ref 0NMCN5
Affected pagehttps://fittes.com/products/lite-damper
Element#bv-reviews-lazy-template--27918267154799__bazaarvoice_reviews_drRmVH,.bv-rnr__sc-13ijx62-5
Markup
<div aria-haspopup="listbox" aria-expanded="false" role="combobox" aria-controls="bv-reviews-sort-by-relevancy" aria-label="Menu, Sort by Most Relevant." aria-disabled="false" tabindex="0" class="bv-rnr__sc-13ijx62-5 cbzBcL">
Low

Video may be missing captions

WCAG 1.2.2 (A)1 instance1 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 1 affected element
Component · Ref S48MO0
Affected pagehttps://fittes.com/
Elementdiv:nth-of-type(1) > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(2) > div > video
Markup
<video class="triptych-video" muted="" loop="" playsinline="" preload="none" disableremoteplayback="" poster="//fittes.com/cdn/shop/files/Mobileloading.webp?v=1783091747&amp;width=900" width="504" height="720" aria-hidden="true" tabindex="-1">
                  
                    <source data-src="//fittes.com/cdn/shop/videos/c/vp/50e2029601c249d283dad93b2c309438/50e2029601c249d283dad93b2c309438.m3u8?v=0" type="application/x-mpegURL">
                  
                    <source data-src="//fittes.com/cdn/shop/videos/c/vp/50e2029601c249d283dad93b2c309438/50e2029601c249d283dad93b2c309438.HD…

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.