Public accessibility assessment

Accessibility issues detected on sakara.com

Evolize inspected 5 public pages on sakara.com and detected 46 automatically identifiable accessibility findings.

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

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

Most widespread issueButtons have no accessible nameDetected on 4 inspected pages
Most affected page/account/login35 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)9 detected findings

Is sakara.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 sakara.com and detected 46 accessibility findings. The most widespread issue was "Buttons have no accessible name", detected on 4 inspected pages. The most affected inspected page was "/account/login", where 35 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. Critical

    Buttons have no accessible name

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

    Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

    Recommended action

    Give it an accessible name that describes the action it performs: provide visible text when a visible label is appropriate, an aria-label for an icon-only control (for example aria-label="Dismiss notification"), or aria-labelledby when an existing visible label already describes it. Avoid vague names such as "Button", "Action", or the component's internal name.

    View technical evidence →
  2. Critical

    Buttons have no accessible name

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

    Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

    Recommended action

    Give it an accessible name that describes the action it performs: provide visible text when a visible label is appropriate, an aria-label for an icon-only control (for example aria-label="Dismiss notification"), or aria-labelledby when an existing visible label already describes it. Avoid vague names such as "Button", "Action", or the component's internal name.

    View technical evidence →
  3. Critical

    Buttons have no accessible name

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

    Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

    Recommended action

    Give it an accessible name that describes the action it performs: provide visible text when a visible label is appropriate, an aria-label for an icon-only control (for example aria-label="Dismiss notification"), or aria-labelledby when an existing visible label already describes it. Avoid vague names such as "Button", "Action", or the component's internal name.

    View technical evidence →
  4. Critical

    Buttons have no accessible name

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

    Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

    Recommended action

    Give it an accessible name that describes the action it performs: provide visible text when a visible label is appropriate, an aria-label for an icon-only control (for example aria-label="Dismiss notification"), or aria-labelledby when an existing visible label already describes it. Avoid vague names such as "Button", "Action", or the component's internal name.

    View technical evidence →
  5. Critical

    Buttons have no accessible name

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

    Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

    Recommended action

    Give it an accessible name that describes the action it performs: provide visible text when a visible label is appropriate, an aria-label for an icon-only control (for example aria-label="Dismiss notification"), or aria-labelledby when an existing visible label already describes it. Avoid vague names such as "Button", "Action", or the component's internal name.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA922 / 5
4.1.2Name, Role, ValueA944 / 5
2.4.4Link Purpose (In Context)A844 / 5
1.3.1Info and RelationshipsA744 / 5
2.4.3Focus OrderA644 / 5
2.5.8Target Size (Minimum)AA333 / 5
1.1.1Non-text ContentA244 / 5
3.3.2Labels or InstructionsA244 / 5
1.4.4Resize TextAA144 / 5
2.4.1Bypass BlocksA133 / 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

Buttons have no accessible name

WCAG 4.1.2 (A)26 instances4 inspected pages

Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

Why it matters

Interactive buttons expose no accessible name, so their purpose cannot be determined by assistive technology.

Recommended correction

Give it an accessible name that describes the action it performs: provide visible text when a visible label is appropriate, an aria-label for an icon-only control (for example aria-label="Dismiss notification"), or aria-labelledby when an existing visible label already describes it. Avoid vague names such as "Button", "Action", or the component's internal name.

View 26 affected elements
Component · Ref 3JAOII
Affected pagehttps://www.sakara.com/
Element._SearchMenu_closeButton_6cdrK_70
Markup
<button class="_SearchMenu_closeButton_6cdrK_70" type="button">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref P0NTO
Affected pagehttps://www.sakara.com/
Element.lg\:flex > ._SearchButton_searchButton_M3vzW_1[aria-haspopup="menu"]
Markup
<button class="_SearchButton_searchButton_M3vzW_1" aria-haspopup="menu" aria-expanded="false">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref CDG77E
Affected pagehttps://www.sakara.com/account/login
Element.dialog__close
Markup
<button class="dialog__close">
Affected pages/cart /account/login /account/login
Component · Ref NGK8TT
Affected pagehttps://www.sakara.com/
Element.react-dialog > .dialog__inner > .dialog__close
Markup
<button class="dialog__close">
Affected pages/ /nutrition/detox-sign-up
Component · Ref 9N2OTN
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Element._SectionProductCarouselV2_nextButton_Cm0p0_12 > .button--transparentArrow.button[type="button"]
Markup
<button class="button button--transparentArrow" type="button"></button>
Affected pages/cart /nutrition/detox-sign-up
Component · Ref 2QROCK
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Element.dialog__close.astro-y4k53sxr[\@click="close"]
Markup
<button class="dialog__close astro-y4k53sxr" @click="close" style="--maxWidth: 1088px;">
Affected pages/ /nutrition/detox-sign-up
Component · Ref WCZ7S2
Affected pagehttps://www.sakara.com/
Element#eea9c687-6946-4508-9604-589f260fffbd > .wrapper.section__wrapper > ._SectionProductCarouselV2_prevButton_Cm0p0_11 > .button--transparentArrow.button[type="button"]
Markup
<button class="button button--transparentArrow" type="button"></button>
Component · Ref CIDMTK
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Element._UiIntentDialog_dialogContainer_DOuYP_1 > .dialog__inner > .dialog__close
Markup
<button class="dialog__close">
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 CSXSVR
Affected pagehttps://www.sakara.com/account/login?create-account=true
Elementdiv > div:nth-of-type(1) > div:nth-of-type(1) > div > div:nth-of-type(1) > a
Accessible nameCOMPARE PROGRAMS
Markup
<a href="/pages/nutrition-program-compare" class="link type-label">COMPARE PROGRAMS</a>
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref 3LQKW0
Affected pagehttps://www.sakara.com/account/login
Elementdiv:nth-of-type(2) > ul:nth-of-type(1) > li:nth-of-type(1) > div > div > button
Accessible nameNUTRITION PROGRAMS
Markup
<button class="_Menu_bar_rqgJ8_5 type-body-2"><span class="_Menu_backIcon_rqgJ8_18"><svg class="icon icon--triangle" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m15 42 18-17.991L15 6" fill="currentColor"></path></svg></span><strong>NUTRITION PROGRAMS</strong></button>
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref 8BT5KG
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Elementastro-island:nth-of-type(1) > header > div:nth-of-type(3) > div:nth-of-type(2) > div:nth-of-type(2) > button
Accessible namego to account sign in
Markup
<button type="button" class="_AccountButton_container_0IurD_1" aria-label="go to account sign in"><span class="_AccountButton_accountIcon_0IurD_7"><svg class="icon icon--account" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.0879 3.50179C13.3906 3.50179 15.2603 5.37139 15.2603 7.6742C15.2603 9.97701 13.3907 11.8466 11.0879 11.8466C8.78506 11.8466 6.91546 9.97701 6.91546 7.6742C6.91546 5.37139 8.78506 3.50179 11.0879 3.50179ZM11.0879 2.74316C8.36634 2.74316 6.15684 4.95267 6.15684 7.6742C6.15684 10.3957 8.36634 12.6052 11…
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref 2YCQMF
Affected pagehttps://www.sakara.com/
Elementastro-island:nth-of-type(2) > div > div:nth-of-type(2) > ul:nth-of-type(1) > li:nth-of-type(1) > button
Accessible nameNUTRITION PROGRAMS
Markup
<button class="_MainNavigationItem_menu_34kpK_5 type-label"><span>NUTRITION PROGRAMS</span><span class="_MainNavigationItem_menuIcon_34kpK_13"><svg class="icon icon--triangle" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m15 42 18-17.991L15 6" fill="currentColor"></path></svg></span></button>
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref 461DZL
Affected pagehttps://www.sakara.com/account/login
Elementastro-island:nth-of-type(2) > div > div:nth-of-type(1) > div > div:nth-of-type(2) > a:nth-of-type(1)
Accessible nameSign In
Markup
<a href="/account/login" class="_AccountBar_loggedOutLink_h3IUM_38 link link-reverse"><strong>Sign In</strong></a>
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref 3CGGKR
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Elementheader > div:nth-of-type(3) > div:nth-of-type(1) > div:nth-of-type(1) > label > input
Markup
<input class="_Hamburger_checkbox_7FyN7_27" type="checkbox">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
High

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)8 instances4 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 8 affected elements
Component · Ref XM5OCO
Affected pagehttps://www.sakara.com/cart
Elementbody > astro-island:nth-of-type(4) > div > div:nth-of-type(2) > form > input
Markup
<input class="_SearchMenu_input_6cdrK_65" placeholder="Search Sakara" type="text" name="q">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref QM82TW
Affected pagehttps://www.sakara.com/cart
Elementdiv > div > div:nth-of-type(1) > form > div:nth-of-type(1) > input
Markup
<input class="campaign-sign-up__input astro-guiwmh4k" type="email" placeholder="Email Address" x-model="inputEmail">
Affected pages/ /cart /nutrition/detox-sign-up
High

Images lack text alternatives

WCAG 1.1.1 (A)8 instances4 inspected pages

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 8 affected elements
Component · Ref RR5XN5
Affected pagehttps://www.sakara.com/account/login?create-account=true
Element._Header_logoImage_lYfmt_47
Markup
<img src="/logo.svg" class="_Header_logoImage_lYfmt_47">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Component · Ref C49EZ9
Affected pagehttps://www.sakara.com/
Element.footer-logo
Markup
<img src="/logo.svg" class="footer-logo astro-ktqg6ezt">
Affected pages/ /cart /nutrition/detox-sign-up
High

Zooming and scaling must not be disabled

WCAG 1.4.4 (AA)5 instances4 inspected pages

Zooming and scaling must not be disabled

Why it matters

Zooming and scaling must not be disabled

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 5 affected elements
Component · Ref 8HIANU
Affected pagehttps://www.sakara.com/
Elementmeta[name="viewport"]
Markup
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Medium

ARIA attributes have invalid values

WCAG 4.1.2 (A)5 instances4 inspected pages

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

Why it matters

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

Recommended correction

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

View 5 affected elements
Component · Ref ONK3TE
Affected pagehttps://www.sakara.com/account/login
Element.header-cart
Accessible namego to the cart page
Markup
<a class="header-cart type-label" href="/cart" aria-label="go to the cart page" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_r5R_3j_" data-state="closed">
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
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 9RFJCA
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Elementbody > astro-island:nth-of-type(2) > div > div:nth-of-type(2) > ul:nth-of-type(1) > li:nth-of-type(1)
Accessible nameNUTRITION PROGRAMSNUTRITION PROGRAMSCOMPARE PROGRAMSSIGNATURE NUTRITION PROGRAMLEVEL II: DETOXFeaturedBlogPodcastWeekly MenuLEVEL II: DETOXRejuvenation > DeprivationReal, fresh food. Fast, meaningful results. Feel the transformation in just five days. RESERVE YOUR SPOTRESERVE YOUR SPOT
Markup
<li class="_MainNavigationItem_container_34kpK_1"><button class="_MainNavigationItem_menu_34kpK_5 type-label"><span>NUTRITION PROGRAMS</span><span class="_MainNavigationItem_menuIcon_34kpK_13"><svg class="icon icon--triangle" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m15 42 18-17.991L15 6" fill="currentColor"></path></svg></span></button><div class="_Menu_container_rqgJ8_1"><div class="_Tray_container_rVcqp_1 _Tray_right_rVcqp_19" inert="" aria-hidden="true"><button class="_Menu_bar_rqgJ8_5 type-body-2"><span class="_Menu_backIcon_rqgJ8_18"><svg class="icon ic…
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Medium

Page has no level-one heading

WCAG 1.3.1 (A)5 instances4 inspected pages

The page exposes no <h1>, so its topic is not conveyed in the heading structure.

Why it matters

The page exposes no <h1>, so its topic is not conveyed in the heading structure.

Recommended correction

Add a single descriptive <h1> that names the page's primary purpose.

View 5 affected elements
Component · Ref FYECR1
Affected pagehttps://www.sakara.com/account/login?create-account=true
Elementhtml > body
Accessible name;(() => { let customer = null try { customer = JSON.parse(localStorage.getItem('customer') || 'null') } catch (e) { console.error('Failed to parse customer data from localStorage', e) } window.dataLayer = window.dataLayer || [] window.dataLayer.push({ event: 'user_data', user_email: customer?.email || '', sha256_user_email: customer?.emailHash || '', user_id: customer?.simpleId, user_logged_in: !!customer, customer_status: customer?.customerStatus, }) })() <iframe src="https://www.googletagmanager.com/ns.html?id=" height="0" width="0" style="display:none;visibility:hidden"></iframe> {"gtm_id":"GTM-MZB6T6","event_config":{"cart_reconcile":true,"cart_view":true,"checkout_complete":true,"checkout_step":true,"collection_view":true,"defers_collection_loading":false,"defers_search_results_loading":false,"product_add_to_cart":false,"product_add_to_cart_ajax":true,"product_remove_from_cart":true,"product_select":true,"product_view":true,"search_results_view":true,"user":true,"save_order_notes":true},"gtm_suite_script":"https://shopify-gtm-suite.getelevar.com/shops/c4b39040a93d28901d670a8a7bd77caea68e42c1/3.7.2/gtm-suite.js","consent_enabled":false,"apex_domain":null} {"data_layer_listener_script":"https://shopify-gtm-suite.getelevar.com/shops/c4b39040a93d28901d670a8a7bd77caea68e42c1/3.7.2/events.js","ss_url":null,"signing_key":null,"myshopify_domain":null} window.transformCartToTrackingData = (cart) => { return { attributes: cart.attributes, cartTotal: cart.cost?.totalAmount?.amount, currencyCode: cart.cost?.totalAmount?.currencyCode, items: cart.lines?.map( (line, index) => mapCartLineItemToTrackingData(line, index + 1) ) }; } window.mapCartLineItemToTrackingData = (item, position = 1) => { const { quantity } = item; const { id, title, sku, price: { amount: priceAmount }, compareAtPrice, image, product: { id: productGid, title: productTitle, vendor, productType } } = item.merchandise; const productId = productGid.split("/").pop(); const variantId = id.split("/").pop(); const data = { id: sku || productId, name: productTitle, brand: vendor, category: productType, variant: title, price: priceAmount, quantity: String(quantity), productId, variantId, position }; if (position) data.position = position; if (compareAtPrice) data.compareAtPrice = compareAtPrice.amount; if (image) data.image = image.url; return data; } !function(){window.semaphore=window.semaphore||[],window.ketch=function(){window.semaphore.push(arguments)};var e=new URLSearchParams(document.location.search),o=e.has("property")?e.get("property"):"website_smart_tag",n=document.createElement("script");n.type="text/javascript",n.src="https://global.ketchcdn.com/web/v3/config/sakara_life/".concat(o,"/boot.js"),n.defer=n.async=!0,document.getElementsByTagName("head")[0].appendChild(n)}(); ;(function (a, b, c, d, e, f, g) { e['ire_o'] = c e[c] = e[c] || function () { ;(e[c].a = e[c].a || []).push(arguments) } f = d.createElement(b) g = d.getElementsByTagName(b)[0] f.async = 1 f.src = a g.parentNode.insertBefore(f, g) })( 'https://utt.impactcdn.com/A5449049-89af-4e6b-952c-1df449e6a7ff1.js', 'script', 'ire', document, window, ) .swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto} .contact-form-container{position:relative}@media(max-width:767px){.contact-form-header{position:absolute;top:0;height:50px;width:100%;background-color:#fff}} ._SearchMenu_container_6cdrK_1{position:fixed;inset:0;opacity:0;pointer-events:none;z-index:40;transition:opacity .5s cubic-bezier(.4,0,.2,1)}._SearchMenu_container_6cdrK_1._SearchMenu_active_6cdrK_9{opacity:1;pointer-events:auto}._SearchMenu_container_6cdrK_1 .link{margin-left:0}._SearchMenu_close_6cdrK_17{position:absolute;inset:0;background-color:#00000080}._SearchMenu_inner_6cdrK_23{position:absolute;top:var(--header-height-mobile);left:0;right:0;background-color:#fff;border-bottom:1px solid #D9D9D9;max-height:calc(100vh - var(--header-height-mobile));overflow-y:auto;transform:translateY(-100%);transition:transform .5s cubic-bezier(.165,.84,.44,1)}._SearchMenu_active_6cdrK_9 ._SearchMenu_inner_6cdrK_23{transform:translateY(0)}@media(min-width:1025px){._SearchMenu_inner_6cdrK_23{top:var(--header-height-desktop);max-height:calc(100vh - var(--header-height-desktop))}}._SearchMenu_form_6cdrK_45{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;width:100%;background-color:#fafaf8;padding:16px 32px}@media(min-width:1025px){._SearchMenu_form_6cdrK_45{padding:24px 64px}}._SearchMenu_searchIcon_6cdrK_61{flex-shrink:0}._SearchMenu_input_6cdrK_65{width:100%;background-color:transparent}._SearchMenu_closeButton_6cdrK_70{flex-shrink:0}._SearchMenu_recommendations_6cdrK_74{padding:16px 32px}@media(min-width:1025px){._SearchMenu_recommendations_6cdrK_74{padding:32px 64px}}._SearchMenu_recommendationsHeader_6cdrK_83{margin-bottom:16px}._SearchMenu_recommendationLinks_6cdrK_87{display:flex;flex-direction:column;gap:8px} .modal{--modal-content-width: calc(100vw - 16px) ;z-index:50;position:fixed;inset:0;background-color:transparent;overflow-y:auto;transform:unset;display:flex}@media(min-width:768px){.modal{--modal-content-width: 512px}}.modal__overlay{background-color:#00000080;position:fixed;inset:0}.modal__content-container{background-color:#fafaf8;min-height:100vh;width:var(--modal-content-width);position:absolute;right:0;padding-block-start:32px}@media(min-width:768px){.modal__content-container{padding-block-start:64px}}.modal__close-header{display:flex;position:fixed;top:0;right:0;width:var(--modal-content-width);padding:16px;z-index:10}.modal__close-button{margin-left:auto}.modal__close-button svg{width:24px;height:24px}.modal__close-button.modal__close-button--back{margin-left:0}.modal__close-button.modal__close-button--back svg{transform:rotate(180deg)}:global(.modal__header){text-align:center;padding-block-end:32px;border-bottom:1px solid #D9D9D9;margin-block-end:32px}:global(.modal__heading){margin-block-end:24px}:global(.modal__content .section .section__wrapper){padding-block:0}:global(.modal__content .wrapper){padding-inline:0} .fly-out-week-wrapper{position:absolute;top:0;right:0;background:#fafaf8;padding-top:48px}.fly-out-week-inner-wrapper{display:flex;flex-direction:column;align-items:center;gap:32px;padding-inline:64px}@media(max-width:767px){.fly-out-week-inner-wrapper{padding-inline:32px;padding-top:16px}}.fly-out-week-inner-wrapper__weekday{display:flex;justify-content:center;gap:32px;width:100%;align-items:center;flex-direction:column;padding-block:48px;border-top:1px solid #D9D9D9}.fly-out-week-inner-wrapper__weekday__day{display:flex;justify-content:center;max-width:100vw;padding-top:0;flex-direction:column;gap:24px}@media(max-width:767px){.fly-out-week-inner-wrapper__weekday__day{gap:32px;display:flex;overflow-x:auto;justify-content:unset}}.fly-out-week-inner-wrapper__weekday__day__card{display:grid;grid-gap:16px;grid-template-columns:160px 1fr}.fly-out-week-inner-wrapper__weekday__day__card__image{display:flex;align-items:center;justify-content:center;width:160px;max-height:160px}.fly-out-week-inner-wrapper__weekday__day__card__image>img{height:160px;width:160px;aspect-ratio:1/1}.fly-out-week-inner-wrapper__weekday__day__card__content{display:flex;flex-direction:column;justify-content:center;gap:8px}.fly-out-week-inner-wrapper__weekday__day__card__content__new{width:-moz-fit-content;width:fit-content}.fly-out-week-inner-wrapper__weekday__day__card__content__description:first-letter{text-transform:uppercase}.fly-out-week-inner-wrapper__footer{position:sticky;bottom:0;min-width:480px;display:flex;background-color:#fff;padding:32px 48px}@media(max-width:76…[truncated by Evolize: exceeded D1 value limit]
Markup
<body style="--header-height-mobile: calc(64px + var(--notification-height, 66px)); --header-height-tablet: calc(64px + var(--notification-height, 66px)); --header-height-desktop: calc(96px + var(--notification-height, 30px) + 44px); --notification-height: 36px;"><div class="hidden" x-data="simonData" x-bind="simonDataRoot" data-partner-id="d54e29ea2f826f41594ada42d8d1a1c54f37a40e"></div> <script type="module" src="/_astro/SimonData.astro_astro_type_script_index_0_lang.CIsJ7QzW.js"></script><div class="hidden" x-data="metaCapi" x-bind="metaCapiRoot"></div><script type="module" src="/_astro/Met…
Affected pages/ /cart /nutrition/detox-sign-up /account/login /account/login
Medium

Navigation regions are not distinguishable

WCAG 1.3.1 (A)15 instances3 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 15 affected elements
Component · Ref B3LC7P
Affected pagehttps://www.sakara.com/cart
Elementhtml > body > footer > div:nth-of-type(2) > nav
Accessible nameDo Not Sell Or Share My Personal Information Accessibility CA Privacy Notice Privacy Policy Terms & Conditions
Markup
<nav class="footer__nav astro-bt2zxitd"> <ul class="footer__list astro-bt2zxitd"> <li class="footer__item type-label astro-bt2zxitd"> <a href="/pages/privacy-promise" class="astro-lv35k6iu" target="_blank" rel="noopener noreferrer" data-is-modal="false" data-link-id="00010" data-is-klaviyo-form-trigger="false" x-data="linkManager" @click="(isModal || isKlaviyoFormTrigger) ? onClick() : null" x-show="!isHiddenForCurrentRegion">Do Not Sell Or Share My Personal Information</a> </li><li class="footer__item type-label astro-bt2zxitd"> <a href="/pages/accessibility" class="astro-lv35k6iu" data-is-mo…
Affected pages/ /cart /nutrition/detox-sign-up
Component · Ref JSS1EK
Affected pagehttps://www.sakara.com/cart
Elementsection#d9cc1f8f-2d2c-4400-a63d-58201dca3a3d > div > div > div:nth-of-type(2) > nav
Markup
<nav class="section-email-campaign-extra-ctas__social-links astro-mhdj255e"> <a class="section-email-campaign-extra-ctas__social-link astro-mhdj255e" target="_blank" href="https://www.facebook.com/SakaraLife" title="Facebook"> <svg width="10" height="16" viewBox="0 0 10 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.6799 8.99998L9.12403 6.10433H6.34577V4.22529C6.34577 3.4331 6.73395 2.66086 7.97829 2.66086H9.24142V0.195652C9.24142 0.195652 8.09509 0 6.99905 0C4.71091 0 3.21535 1.38678 3.21535 3.89738V6.10433H0.671875V8.99998H3.21535V16H6.34577V8.99998H8.6799Z" fill="currentColo…
Affected pages/ /cart /nutrition/detox-sign-up
Component · Ref 9SS5KG
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Elementarticle#accordion-item-body-692197eab8f1 > nav
Accessible nameFAQ Return Policy Contact Log In / Sign Up Careers Find Us In Store Pay with HSA/FSA
Markup
<nav class="footer-link-block__body astro-4ueklxl2"> <ul class="footer-link-block__list astro-4ueklxl2"> <li class="footer-link-block__item type-label astro-4ueklxl2"> <a href="/frequently-asked-questions" class="link link-reverse link__no-margin astro-lv35k6iu" target="_blank" rel="noopener noreferrer" data-is-modal="false" data-link-id="01110" data-is-klaviyo-form-trigger="false" x-data="linkManager" @click="(isModal || isKlaviyoFormTrigger) ? onClick() : null" x-show="!isHiddenForCurrentRegion">FAQ</a> </li><li class="footer-link-block__item type-label astro-4ueklxl2"> <a href="/pages/retur…
Affected pages/ /cart /nutrition/detox-sign-up
Medium

Touch targets are too small

WCAG 2.5.8 (AA)9 instances3 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 9 affected elements
Component · Ref 9OC9U2
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Elementa[href="/frequently-asked-questions"]
Accessible nameFAQ
Markup
<a href="/frequently-asked-qu..." class="link link-reverse li..." target="_blank" rel="noopener noreferrer" data-is-modal="false" data-link-id="01110" data-is-klaviyo-form...="false" x-data="linkManager" @click="(isModal || isKlaviy..." x-show="!isHiddenForCurrentR...">
Affected pages/ /cart /nutrition/detox-sign-up
Component · Ref 255ZGQ
Affected pagehttps://www.sakara.com/cart
Element.footer-link-block__item.astro-4ueklxl2:nth-child(1) > .link__no-margin.astro-lv35k6iu[data-link-id="01001"]
Accessible nameSignature Nutrition Program
Markup
<a href="/nutrition/signature..." class="link link-reverse li..." data-is-modal="false" data-link-id="01001" data-is-klaviyo-form...="false" x-data="linkManager" @click="(isModal || isKlaviy..." x-show="!isHiddenForCurrentR...">
Component · Ref 5P1XOA
Affected pagehttps://www.sakara.com/nutrition/detox-sign-up
Element.link__no-margin[data-link-id="00110"][href$="about"]
Accessible nameAbout Sakara
Markup
<a href="/pages/about" class="link link-reverse link__no-margin astro-lv35k6iu" data-is-modal="false" data-link-id="00110" data-is-klaviyo-form-trigger="false" x-data="linkManager" @click="(isModal || isKlaviyoFormTrigger) ? onClick() : null" x-show="!isHiddenForCurrentRegion">About Sakara</a>
Medium

Text has insufficient colour contrast

WCAG 1.4.3 (AA)10 instances2 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 10 affected elements
Component · Ref 0R45DC
Affected pagehttps://www.sakara.com/account/login
Elementa[role="button"]
Accessible nameForgot your password?
Rolebutton
Markup
<a href="#" role="button">Forgot your password?</a>
Component · Ref WOWUHO
Affected pagehttps://www.sakara.com/account/login
Elementp > a[href="#"]
Accessible nameContact us
Markup
<a href="#">Contact us</a>
Component · Ref QUFZ3V
Affected pagehttps://www.sakara.com/account/login
Element.login-items__footer > p
Accessible nameForgot your login? Contact us
Markup
<p>Forgot your login? <a href="#">Contact us</a></p>
Component · Ref TDTY0P
Affected pagehttps://www.sakara.com/cart
Elementp[x-text="displayText.totalAmount"]
Accessible name$0
Markup
<p class="cart-summary__item-amount type-body astro-vnix7cma" x-text="displayText.totalAmount">$0</p>
Component · Ref 14RH4Q
Affected pagehttps://www.sakara.com/cart
Element.cart-summary__item.astro-vnix7cma:nth-child(2) > .cart-summary__item-title
Accessible nameshipping
Markup
<p class="cart-summary__item-title type-label astro-vnix7cma">shipping</p>
Component · Ref RDW7V3
Affected pagehttps://www.sakara.com/cart
Element.cart-summary__breakdown > .cart-summary__item.astro-vnix7cma:nth-child(1) > .cart-summary__item-title
Accessible namesubtotal
Markup
<p class="cart-summary__item-title type-label astro-vnix7cma">subtotal</p>
Component · Ref S0L61K
Affected pagehttps://www.sakara.com/cart
Elementp[x-text="displayText.itemsCount"]
Accessible name0 items
Markup
<p class="type-label astro-vnix7cma" x-text="displayText.itemsCount">0 items</p>
Component · Ref NMG43B
Affected pagehttps://www.sakara.com/cart
Element.cart-summary__item.astro-vnix7cma:nth-child(2) > .cart-summary__item-amount.type-body
Accessible nameCalculated at checkout
Markup
<p class="cart-summary__item-amount type-body astro-vnix7cma">Calculated at checkout</p>
Component · Ref OVXT9J
Affected pagehttps://www.sakara.com/cart
Element.cart-summary__total > .cart-summary__item.astro-vnix7cma > .cart-summary__item-title
Accessible nametotal
Markup
<p class="cart-summary__item-title type-label astro-vnix7cma">total</p>

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.