Public accessibility assessment

Accessibility issues detected on bodybio.com

Evolize inspected 5 public pages on bodybio.com and detected 72 automatically identifiable accessibility findings.

72Findings detected
10WCAG criteria affected
5Pages inspected
9 Sep 2026Assessment date

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

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

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

    IDs used in ARIA and labels must be unique

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

    IDs used in ARIA and labels must be unique

    Recommended action

    Review the affected element and correct the reported accessibility issue.

    View technical evidence →
  3. High

    Hidden elements can still receive keyboard focus

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

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

    Recommended action

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

    View technical evidence →
  4. High

    IDs used in ARIA and labels must be unique

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

    IDs used in ARIA and labels must be unique

    Recommended action

    Review the affected element and correct the reported accessibility issue.

    View technical evidence →
  5. High

    IDs used in ARIA and labels must be unique

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

    IDs used in ARIA and labels must be unique

    Recommended action

    Review the affected element and correct the reported accessibility issue.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA4855 / 5
4.1.2Name, Role, ValueA1055 / 5
1.3.1Info and RelationshipsA555 / 5
2.4.3Focus OrderA355 / 5
1.2.2Captions (Prerecorded)A211 / 5
2.5.8Target Size (Minimum)AA255 / 5
1.1.1Non-text ContentA111 / 5
2.1.1KeyboardA111 / 5
2.2.2Pause, Stop, HideA111 / 5
3.3.2Labels or InstructionsA111 / 5

Absence of a criterion here does not indicate conformance with it — only that no automatically detectable issue was found for it.

Continuous monitoring

A scan shows today's exposure. Monitoring shows what changes next.

Evolize continuously reassesses public website pages, detects newly introduced or recurring accessibility findings, and tracks remediation over time.

04 · All detected findings

High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)138 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 138 affected elements
Component · Ref 3YATV4
Affected pagehttps://bodybio.com/products/resolvin
Element.lg\:flex > .relative[x-data="klaviyoNewsletter()"] > form[action="submit"] > .floating-label > label[for="footer-klaviyo"]
Accessible nameEmail Address
Markup
<label for="footer-klaviyo" class="text-14 font-400 leading-170">Email Address</label>
Affected pages/products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Component · Ref OKJLQT
Affected pagehttps://bodybio.com/products/resolvin
Elementli[data-keyword-topic="Taste"]
Accessible nameTaste
Rolemenuitem
Markup
<li data-keyword-topic="Taste" role="menuitem" tabindex="0" class="oke-reviewsKeywords-list-category"> Taste </li>
Affected pages/products/butyrate /products/fish-oil-plus
Component · Ref 59JRAV
Affected pagehttps://bodybio.com/products/butyrate
Element.oke-w-reviews-list-item:nth-child(3) > .oke-w-review.oke-w-review--minimalBorders > .oke-w-review-side > .oke-w-review-reviewer > .oke-w-reviewer > div > .oke-w-reviewer-verified
Accessible nameVerified Reviewer
Markup
<div class="oke-w-reviewer-verified"> Verified Reviewer <span class="oke-w-reviewer-verified-icon"></span></div>
Affected pages/products/butyrate /products/fish-oil-plus
Component · Ref HRYJXX
Affected pagehttps://bodybio.com/products/butyrate
Element#product-tab-3
Accessible nameWhat to Expect
Roletab
Markup
<button type="button" role="tab" class="py-4 border-b transi..." :class="
          {
       ..." @click.prevent="handleSelectTab(tabT..." @focus="handleSelectTab(tabT..." @keydown.enter.preve...="handleSelectTab(tabT..." :tabindex="tabTitle === activeT..." :id="'product-tab-' + ind..." ...>
Affected pages/products/butyrate /products/fish-oil-plus
Component · Ref LFGRTL
Affected pagehttps://bodybio.com/products/butyrate
Element.text-clamp-40
Accessible nameFrequently Asked Questions
Markup
<h2 class="font-serif text-clamp-40 font-400 leading-155 ">Frequently Asked Questions</h2>
Affected pages/products/butyrate /products/fish-oil-plus
Component · Ref 46L0B2
Affected pagehttps://bodybio.com/products/resolvin
Elementbutton[aria-controls="faq-1"]
Accessible nameHow is Resolvin: Omega-3 + SPMs different from the original BodyBio Fish Oil?
Markup
<button type="button" class="w-full flex justify-between text-left items-center py-4 gap-x-8" @click="open = !open" :aria-expanded="open" :aria-controls="'faq-' + 1" aria-expanded="false" aria-controls="faq-1">
Affected pages/products/butyrate /products/fish-oil-plus
Component · Ref 99Y0G9
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6.border-r:nth-child(1) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(2) > .md\:text-19.font-700.group > span:nth-child(1)
Accessible nameRead More
Markup
<span>Read More</span>
Component · Ref AKX88U
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6.border-r:nth-child(1) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .md\:leading-155.md\:pt-7.pt-5 > span:nth-child(1)
Accessible nameDr. Thomas Wnorowski
Markup
<span class="">Dr. Thomas Wnorowski</span>
Component · Ref OTHXHK
Affected pagehttps://bodybio.com/
Element#product-card-598335684668 > .group[\@mouseenter="handleMouseEnter"][\@mouseleave="handleMouseLeave"] > .duration-700.ease-in-out[data-cascade=""] > .md\:px-7.pb-7.border-t > .gap-x-3.justify-between.items-center > .gap-y-2.justify-between.flex-col > .leading-110.text-30.lg\:text-clamp-30 > .focus-only-title-card-main-anchor
Accessible namee-lyte
Markup
<a class="focus-only-title-card-main-anchor" href="/products/e-lyte-balanced-electrolyte-concentrate">e-lyte</a>
Component · Ref 297ID7
Affected pagehttps://bodybio.com/
Element.scroll-trigger--offscreen.scroll-trigger[data-cascade=""]:nth-child(3) > .lg\:text-16.lg\:leading-160.leading-150 > p
Accessible nameWith over 35,000 healthcare practitioners in our network, BodyBio has been a trusted partner in wellness for more than three decades. Doctors rely on us to deliver targeted, effective solutions that meet the highest standards of care.
Markup
<p>With over 35,000 healthcare practitioners in our network, BodyBio has been a trusted partner in wellness for more than three decades. Doctors rely on us to deliver targeted, effective solutions that meet the highest standards of care.</p>
Component · Ref 4GSHZ6
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6.border-r:nth-child(2) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .gap-y-4.flex-col.flex > .excerpt
Accessible nameOn both a personal and environmental level, we can reverse toxicity and restore good health.
Markup
<div class="excerpt">On both a personal and environmental level, we can reverse toxicity and restore good health.</div>
Component · Ref FWJSLT
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6.border-r:nth-child(1) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .md\:leading-155.md\:pt-7.pt-5 > .whitespace-nowrap
Accessible name11.15.2024
Markup
<span class="whitespace-nowrap">11.15.2024</span>
Component · Ref BKML2G
Affected pagehttps://bodybio.com/
Element.scroll-trigger--offscreen.scroll-trigger[data-cascade=""]:nth-child(2) > .lg\:pb-6.lg\:text-30.lg\:leading-100
Accessible nameMade in Millville, New Jersey
Markup
<h3 class="font-serif text-24 lg:text-30 leading-125 lg:leading-100 font-400 -tracking-1.5 pt-6 lg:pt-12 pb-4 lg:pb-6">
          Made in Millville, New Jersey&nbsp;
        </h3>
Component · Ref 5M5EBR
Affected pagehttps://bodybio.com/
Element.focus-only-title-card-main-anchor[href$="tudca"]
Accessible nameTUDCA
Markup
<a class="focus-only-title-card-main-anchor" href="/products/tudca">TUDCA</a>
Component · Ref MXFE86
Affected pagehttps://bodybio.com/
Element.focus-only-title.hover\:cursor-pointer[href$="stress"] > .justify-between.items-center.relative > .focus.text-20.leading-100
Accessible nameStress Relief
Markup
<span class="text-20 leading-100 font-400 focus">Stress Relief</span>
Component · Ref X80NZQ
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6.border-r:nth-child(1) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .gap-y-4.flex-col.flex > .text-16.font-200.overflow-y-hidden
Accessible nameBest Foods for Brain Health: Support Memory, Concentration, & Anti-Aging
Markup
<h3 class="font-serif text-16 md:text-30 leading-130 font-200 overflow-y-hidden">
          Best Foods for Brain Health: Support Memory, Concentration, &amp; Anti-Aging
        </h3>
Component · Ref 79O47M
Affected pagehttps://bodybio.com/
Element#product-card-598335684668 > .group[\@mouseenter="handleMouseEnter"][\@mouseleave="handleMouseLeave"] > .duration-700.ease-in-out[data-cascade=""] > .md\:px-7.pb-7.border-t > .gap-x-3.justify-between.items-center > .gap-y-2.justify-between.flex-col > .flex-wrap.gap-x-2.items-center > .lg\:text-clamp-20.leading-140.text-20
Accessible nameFrom $9.99
Markup
<span class="text-20 lg:text-clamp-20 leading-140 font-400">From $9.99
                </span>
Component · Ref 0KRZQC
Affected pagehttps://bodybio.com/
Element.link--primary.font-400[href$="all-supplements"]
Accessible nameShop All
Markup
<a href="/collections/all-supplements" class="link--primary font-400">Shop All</a>
Component · Ref A8V543
Affected pagehttps://bodybio.com/pages/beyond-conference-sign-up
Element.bb-group-desc
Accessible nameJoin our private Facebook group — ask questions, share progress, and connect with others on their wellness journey.
Markup
<p class="bb-group-desc">Join our private Facebook group — ask questions, share progress, and connect with others on their wellness journey.</p>
Component · Ref 1QCDLR
Affected pagehttps://bodybio.com/
Element.pb-15
Accessible nameAs Seen In:
Markup
<h2 class="scroll-trigger animate--fade-in pb-15 leading-130 whitespace-nowrap flex-1 text-center font-serif text-clamp-40 -tracking-1.5 scroll-trigger--offscreen">
      As Seen In:
    </h2>
Component · Ref 1QZRJQ
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6:nth-child(3) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .md\:leading-155.md\:pt-7.pt-5 > span:nth-child(1)
Accessible nameJustine Stenger
Markup
<span class="">Justine Stenger</span>
Component · Ref B7M0YF
Affected pagehttps://bodybio.com/
Element.xl\:flex-row > .relative[x-data="klaviyoNewsletter()"] > form[action="submit"] > .floating-label > label[for="footer-klaviyo"]
Accessible nameEmail Address
Markup
<label for="footer-klaviyo" class="text-14 font-400 leading-170">Email Address</label>
Component · Ref Y4HXDW
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6:nth-child(3) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .gap-y-4.flex-col.flex > .text-16.font-200.overflow-y-hidden
Accessible nameYour PC Start Guide: How to Take Phosphatidylcholine
Markup
<h3 class="font-serif text-16 md:text-30 leading-130 font-200 overflow-y-hidden">
          Your PC Start Guide: How to Take Phosphatidylcholine
        </h3>
Component · Ref YIMMI2
Affected pagehttps://bodybio.com/
Element.lg\:-tracking-1\.5
Accessible nameBlog
Markup
<h2 class="font-serif text-24 lg:text-30 leading-125 lg:leading-100 font-400 lg:-tracking-1.5">
          Blog
        </h2>
Component · Ref 3TE5I1
Affected pagehttps://bodybio.com/
Element.lg\:pb-20.px-6:nth-child(3) > .article-card.md\:h-full[aria-label="article"] > div:nth-child(1) > .pb-10.flex-col.flex > .md\:leading-155.md\:pt-7.pt-5 > .whitespace-nowrap
Accessible name11.04.2024
Markup
<span class="whitespace-nowrap">11.04.2024</span>

Showing 25 representative examples · 23 more affected elements not shown

High

IDs used in ARIA and labels must be unique

WCAG 4.1.2 (A)36 instances5 inspected pages

IDs used in ARIA and labels must be unique

Why it matters

IDs used in ARIA and labels must be unique

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 36 affected elements
Component · Ref 3WWEE6
Affected pagehttps://bodybio.com/tools/recurring/login
Element.w-1\/5 > a[href="/"][aria-label="BodyBio home"] > svg[aria-labelledby="bodybio-logo"][width="126"][height="25"] > title
Accessible nameBodyBio Logo
Markup
<title id="bodybio-logo">BodyBio Logo</title>
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Component · Ref 5HKL9O
Affected pagehttps://bodybio.com/products/resolvin
Elementbutton[aria-controls="supplements-dropdown-1"]
Accessible nameSupplements
Markup
<button id="supplements-dropdown" aria-controls="supplements-dropdown..." :aria-expanded="$store.megaMenu.curr..." class="flex items-center ju..." :class="$store.megaMenu.curr..." @click="$store.megaMenu.hand..." aria-expanded="false">
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Component · Ref ARL4PB
Affected pagehttps://bodybio.com/tools/recurring/login
Element#search-toggle > svg[aria-labelledby="search-icon"][height="21"][viewBox="0 0 21 21"] > title
Accessible nameSearch
Markup
<title id="search-icon">Search</title>
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Component · Ref 18K787
Affected pagehttps://bodybio.com/products/resolvin
Element.search-input
Markup
<input x-ref="searchInput" class="search-input w-full" x-model="searchValue" type="text" name="q" id="search" value="">
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Component · Ref 4I246C
Affected pagehttps://bodybio.com/
Element.lg\:hidden.pt-4.pb-10 > .relative[x-data="klaviyoNewsletter()"] > .-bottom-7.text-hardred[role="status"]
Rolestatus
Markup
<span id="email-message" role="status" x-text="success ? 'Thanks! You\'re signed up.' : error" :class="success ? 'text-blue' : 'text-hardred'" class="text-12 font-400 leading-170 absolute -bottom-7 text-hardred"></span>
Affected pages/ /products/butyrate /products/fish-oil-plus
Component · Ref 7X0PSO
Affected pagehttps://bodybio.com/products/resolvin
Element.lg\:hidden.pt-4.pb-10 > .relative[x-data="klaviyoNewsletter()"] > form[action="submit"] > .floating-label > .md\:min-w-\[293px\].focus\:placeholder\:text-slate.focus\:outline-none
Markup
<input id="footer-klaviyo" type="email" x-model="email" x-ref="email" aria-describedby="email-message" autocomplete="email" :aria-invalid="error? 'true' : 'fal..." required="" class="md:min-w-[293px] w-f..." aria-invalid="false">
Affected pages/ /products/butyrate /products/fish-oil-plus
Component · Ref CQZHO1
Affected pagehttps://bodybio.com/tools/recurring/login
Element.lg\:hidden > .relative[x-data="klaviyoNewsletter()"] > .-bottom-7.text-hardred[role="status"]
Rolestatus
Markup
<span id="email-message" role="status" x-text="success ? 'Thanks! You\'re signed up.' : error" :class="success ? 'text-blue' : 'text-hardred'" class="text-12 font-400 leading-170 absolute -bottom-7 text-hardred"></span>
Affected pages/tools/recurring/login /pages/beyond-conference-sign-up
Component · Ref 3KA9TC
Affected pagehttps://bodybio.com/tools/recurring/login
Element.lg\:hidden > .relative[x-data="klaviyoNewsletter()"] > form[action="submit"] > .floating-label > .md\:min-w-\[293px\].focus\:placeholder\:text-slate.border-slate
Markup
<input id="footer-klaviyo" type="email" x-model="email" x-ref="email" aria-describedby="email-message" autocomplete="email" :aria-invalid="error? 'true' : 'fal..." required="" class="md:min-w-[293px] w-f..." aria-invalid="false">
Affected pages/tools/recurring/login /pages/beyond-conference-sign-up
Component · Ref ARM6ND
Affected pagehttps://bodybio.com/products/butyrate
Elementdiv[aria-label="Suitable Formula"] > .pt-12.md\:pt-18.md\:pb-16
Accessible nameWhich Butyrate is right for me?Sodium (Recommended for most)Sodium Butyrate appears naturally in the body and remains the most widely researched form. While excessive sodium intake is often associated with adverse health outcomes, consuming appropriate amounts of this essential nutrient supports normal physiological function and may be beneficial for individuals who exercise heavily, lose significant sodium through sweat, or follow a low-carbohydrate diet. We recommend sodium butyrate supplements for most people.Calcium MagnesiumCalcium Magnesium Butyrate includes two essential minerals. Magnesium acts as a cofactor in more than 600 enzymatic reactions that regulate biochemical activity in the body. Calcium remains the most abundant mineral in the body and builds strong bones, facilitates nerve-to-nerve communication, aids muscle contraction, and activates blood clotting factors. We offer the calcium magnesium form for those who wish to avoid extra sodium or boost their intake of these essential minerals.*
Markup
<div id="modalDescription" class="bg-paper relative pt-12 md:pt-18 pb-10 md:pb-16 px-8 md:px-14 max-w-[556px] rounded-20">
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 SPOI5U
Affected pagehttps://bodybio.com/tools/recurring/login
Elementhtml > body > a
Accessible nameSkip to Content
Markup
<a href="#main-content" class="skip-link">Skip to Content</a>
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Component · Ref HIAWVQ
Affected pagehttps://bodybio.com/tools/recurring/login
Elementa#brain
Accessible nameBrain
Markup
<a id="brain" href="/collections/brain" class="link--main-menu menu-hover-link" @mouseenter="$store.megaMenu.activeDropdownHandle = 'brain'">
                              <span>Brain</span>
                              
                              
                            </a>
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)3 instances3 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 3 affected elements
Component · Ref 8OHWS8
Affected pagehttps://bodybio.com/tools/recurring/login
Elementdiv#rebuy-cart
Accessible nameCart
Roledialog
Markup
<div id="rebuy-cart" role="dialog" aria-modal="true" aria-labelledby="rebuy-cart-title" aria-hidden="true" data-rebuy-cart-layout="single" class="rebuy-cart currency-USD no-items" inert=""><div class="rebuy-cart__flyout"><div data-rebuy-cart-anchor="header"><div data-rebuy-cart-header-top=""><div data-rebuy-cart-header-top-inner=""><h2 id="rebuy-cart-title" data-rebuy-component-id="title_bar" data-rebuy-component="title-bar" class="rebuy-cart__title">Cart</h2> <div data-rebuy-cart-header-top-inner-right=""></div></div> <button id="rebuy-cart-close" type="button" aria-label="Close Cart" class="…
Affected pages/ /tools/recurring/login /pages/beyond-conference-sign-up
High

Images lack text alternatives

WCAG 1.1.1 (A)1 instance1 inspected page

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

Why it matters

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

Recommended correction

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

View 1 affected element
Component · Ref 3MPAYY
Affected pagehttps://bodybio.com/pages/beyond-conference-sign-up
Element.go431565781
Markup
<img src="https://d3k81ch9hvuctc.cloudfront.net/company/HXT9kG/images/c2446c5a-1931-41bd-9a5f-0c93c4f45ab1.png" width="1290" height="246" tabindex="-1" class="needsclick go431565781 go1466145428 kl-private-reset-css-Xuajs1">
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 SE8PBP
Affected pagehttps://bodybio.com/
Elementsection#shopify-pc__banner > div
Accessible nameCookie consentWe use cookies, web beacons, and other similar technologies to allow us to analyze user behavior, provide and measure advertisements, provide general website functionality, and as necessary to improve the website, and we share related information with our analytic, marketing, and other service providers. By making any selection related to this banner or otherwise continuing to browse the website, you agree to our Website Terms. Use Manage preferences to control your settings. More information in our Privacy PolicyRead more...Manage preferencesAcknowledgeDecline Your Privacy Choices
Markup
<div class="shopify-pc__banner__wrapper"><div class="shopify-pc__banner__body"><h2 id="shopify-pc__banner__body-title">Cookie consent</h2><div class="bb-consent-copy" id="bb-consent-copy" data-bb-clamped="1"><p>We use cookies, web beacons, and other similar technologies to allow us to analyze user behavior, provide and measure advertisements, provide general website functionality, and as necessary to improve the website, and we share related information with our analytic, marketing, and other service providers. By making any selection related to this banner or otherwise continuing to browse th…
Affected pages/ /products/butyrate /tools/recurring/login /products/fish-oil-plus /pages/beyond-conference-sign-up
Medium

Touch targets are too small

WCAG 2.5.8 (AA)10 instances5 inspected pages

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 <a>'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 10 affected elements
Component · Ref 9YO8M
Affected pagehttps://bodybio.com/products/resolvin
Element.\32 xl\:col-span-2 > div:nth-child(1) > ul > .leading-170.text-14.font-400:nth-child(6) > .hover\:text-dark.transition-colors[href$="truemed"]
Accessible nameHSA/FSA Eligibility
Markup
<a href="/pages/truemed" class="transition-colors duration-150 hover:text-dark">HSA/FSA Eligibility</a>
Affected pages/ /products/butyrate /products/fish-oil-plus
Component · Ref ECUKR7
Affected pagehttps://bodybio.com/pages/beyond-conference-sign-up
Element.md\:flex > div:nth-child(1) > ul > .leading-170.text-14.font-400:nth-child(5) > .hover\:text-dark.transition-colors[href$="military-discount"]
Accessible nameVeterans / Military
Markup
<a href="/pages/military-discount" class="transition-colors duration-150 hover:text-dark">Veterans / Military</a>
Affected pages/tools/recurring/login /pages/beyond-conference-sign-up
Medium

Elements must only use permitted ARIA attributes

WCAG 4.1.2 (A)2 instances2 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 2 affected elements
Component · Ref K8RIOA
Affected pagehttps://bodybio.com/products/resolvin
Element.max-w-\[26px\]
Accessible nameAdd 1 to cart
Markup
<span class="text-16 max-w-[26px] flex-1 text-center" :aria-label="`Add ${quantity} to cart`" x-text="quantity" aria-label="Add 1 to cart">1</span>
Affected pages/products/butyrate /products/fish-oil-plus
Medium

ARIA container is missing required child roles

WCAG 1.3.1 (A)2 instances2 inspected pages

An ARIA role that requires specific child roles does not contain them, breaking the widget semantics.

Why it matters

An ARIA role that requires specific child roles does not contain them, breaking the widget semantics.

Recommended correction

Provide the child roles the container role requires (e.g. option inside listbox).

View 2 affected elements
Component · Ref F1PULR
Affected pagehttps://bodybio.com/products/resolvin
Elementul[x-ref="tabs"]
Accessible nameProduct tab
Roletablist
Markup
<ul class="flex" x-ref="tabs" role="tablist" aria-label="Product tab" @keydown.right.preve...="$focus.wrap().next()" @keydown.home.preven...="$focus.first()" @keydown.page-up.pre...="$focus.first()" @keydown.left.preven...="$focus.wrap().prev()" @keydown.end.prevent...="$focus.last()" ...>
Affected pages/products/butyrate /products/fish-oil-plus
Medium

ARIA role is missing its required parent

WCAG 1.3.1 (A)8 instances2 inspected pages

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

Why it matters

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

Recommended correction

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

View 8 affected elements
Component · Ref M1FL19
Affected pagehttps://bodybio.com/products/resolvin
Element#product-tab-0
Accessible nameDetails
Roletab
Markup
<button type="button" role="tab" class="py-4 border-b transi..." :class="
          {
       ..." @click.prevent="handleSelectTab(tabT..." @focus="handleSelectTab(tabT..." @keydown.enter.preve...="handleSelectTab(tabT..." :tabindex="tabTitle === activeT..." :id="'product-tab-' + ind..." ...>
Affected pages/products/butyrate /products/fish-oil-plus
Medium

List items are not inside a list

WCAG 1.3.1 (A)8 instances2 inspected pages

A <li> appears outside a <ul> or <ol>, so the list relationship is not conveyed to assistive technology.

Why it matters

A <li> appears outside a <ul> or <ol>, so the list relationship is not conveyed to assistive technology.

Recommended correction

Wrap related <li> elements in a <ul> or <ol>, or use a different element for non-list content.

View 8 affected elements
Component · Ref CKDM1L
Affected pagehttps://bodybio.com/products/butyrate
Elementul[x-ref="tabs"] > li:nth-child(4)
Accessible nameIngredients
Markup
<li>
Affected pages/products/butyrate /products/fish-oil-plus
Medium

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)4 instances1 inspected page

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

Why it matters

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

Recommended correction

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

View 4 affected elements
Component · Ref CVKOK2
Affected pagehttps://bodybio.com/tools/recurring/login
Elementsection > div > div:nth-of-type(2) > div > form > input:nth-of-type(1)
Markup
<input type="text" inputmode="numeric" autocomplete="one-time-code" maxlength="4" size="1" min="0" max="9" pattern="[0-9]{1}" placeholder="0" class="rc-enter-code-digits-item" data-rc-code-input="" data-lpignore="true" data-form-type="other">
Medium

<video> elements must have captions

WCAG 1.2.2 (A)2 instances1 inspected page

<video> elements must have captions

Why it matters

<video> elements must have captions

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 2 affected elements
Component · Ref 6O900R
Affected pagehttps://bodybio.com/
Element#video-player-25511693549703-0
Markup
<video id="video-player-2551169..." x-ref="video" class="absolute inset-0 w-f..." src="//bodybio.com/cdn/sh..." loop="true" muted="true" x-on:ended="play = false" @click="togglePlay" playsinline="" aria-describedby="video-player-2551169..." autoplay="">
Low

Video may be missing captions

WCAG 1.2.2 (A)2 instances1 inspected page

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

Why it matters

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

Recommended correction

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

View 2 affected elements
Component · Ref K6737A
Affected pagehttps://bodybio.com/
Elementvideo#video-player-25511693549703-0
Markup
<video id="video-player-25511693549703-0" x-ref="video" class="absolute inset-0 w-full h-full object-cover" src="//bodybio.com/cdn/shop/videos/c/vp/05a3374552704d58b916f03f4dfc5b83/05a3374552704d58b916f03f4dfc5b83.HD-1080p-7.2Mbps-42544991.mp4?v=0" loop="true" muted="true" x-on:ended="play = false" @click="togglePlay" playsinline="" aria-describedby="video-player-25511693549703-0-transcript" autoplay=""></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.