Public accessibility assessment

Accessibility issues detected on 88acres.com

Evolize inspected 5 public pages on 88acres.com and detected 56 automatically identifiable accessibility findings.

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

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

Most widespread issueText has insufficient colour contrastDetected on 5 inspected pages
Most affected page/products/gift-card42 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)24 detected findings

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

02 · Start here

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

  1. Critical

    Links lack accessible text

    WCAG 2.4.4 (A) · 1 inspected page · 2 instances
    Why this matters

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link's only content is an image with no text alternative. Provide meaningful alternative text on the linked image (its alt attribute) that identifies the link's destination or purpose. The link points to /products/tried-and-true-trio.

    View technical evidence →
  2. Critical

    Buttons have no accessible name

    WCAG 4.1.2 (A) · 1 inspected page · 1 instance
    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

    Links lack accessible text

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

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link's only content is an image with no text alternative. Provide meaningful alternative text on the linked image (its alt attribute) that identifies the link's destination or purpose. The link points to https://88acres.com/collections/best-sellers.

    View technical evidence →
  4. Critical

    Links lack accessible text

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

    Links expose no accessible name, so screen-reader users cannot determine their destination.

    Recommended action

    This link exposes no accessible text. Add visible text that identifies its destination, or remove the link if it serves no purpose. For an icon-only link, provide an aria-label describing where it goes. The link points to //www.facebook.com/sharer.php?u=https://88acres.com/products/gift-card.

    View technical evidence →
  5. Critical

    Buttons have no accessible name

    WCAG 4.1.2 (A) · 1 inspected page · 1 instance
    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)AA2455 / 5
4.1.2Name, Role, ValueA833 / 5
1.1.1Non-text ContentA722 / 5
2.4.4Link Purpose (In Context)A622 / 5
2.4.3Focus OrderA455 / 5
1.3.1Info and RelationshipsA355 / 5
2.1.1KeyboardA211 / 5
2.2.2Pause, Stop, HideA111 / 5
2.4.1Bypass BlocksA155 / 5
2.5.8Target Size (Minimum)AA144 / 5
3.1.1Language of PageA155 / 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

Critical

Buttons have no accessible name

WCAG 4.1.2 (A)4 instances2 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 4 affected elements
Component · Ref 9KB7YJ
Affected pagehttps://88acres.com/products/gift-card
Element.pf-26_
Markup
<button data-quantity-action="increase" type="button" data-pf-type="QuantityButton" class="sc-gA-DPUo bswqEL pf-26_">
Component · Ref FDYKX8
Affected pagehttps://88acres.com/
Element.prev-arrow
Markup
<button class="slide-arrow prev-arrow custom-arrow-prev slick-arrow" style=""><img src="https://cdn.shopify.com/s/files/1/0767/4655/files/slider-button.png?v=1749628603"></button>
Component · Ref 23ZSLS
Affected pagehttps://88acres.com/
Element.next-arrow
Markup
<button class="slide-arrow next-arrow custom-arrow-next slick-arrow" style=""><img src="https://cdn.shopify.com/s/files/1/0767/4655/files/slider-button.png?v=1749628603"></button>
Component · Ref R8UST9
Affected pagehttps://88acres.com/products/gift-card
Element.pf-24_
Markup
<button data-quantity-action="decrease" type="button" data-pf-type="QuantityButton" class="sc-gA-DPUo bswqEL pf-24_" disabled="disabled">
Critical

Form fields are missing labels

WCAG 1.3.1 (A)1 instance1 inspected page

Form inputs have no programmatically associated label, so assistive technology cannot announce what to enter.

Why it matters

Form inputs have no programmatically associated label, so assistive technology cannot announce what to enter.

Recommended correction

Associate a <label> with each field via for/id, or use aria-label / aria-labelledby. Placeholder text is not a label.

View 1 affected element
Component · Ref RGU2U0
Affected pagehttps://88acres.com/products/gift-card
Element.sc-hxaKAp
Markup
<input min="1" type="number" data-hidespinner="true" name="quantity" data-variants-continue="35029670410 33043226698 33243349130 33312084042 33312148170 " data-pf-type="QuantityField" class="sc-hxaKAp drcewl pf-25_" value="1">
Critical

Dropdown menus have no accessible name

WCAG 4.1.2 (A)1 instance1 inspected page

Select menus expose no programmatic name, so assistive technology cannot announce what the choice is for.

Why it matters

Select menus expose no programmatic name, so assistive technology cannot announce what the choice is for.

Recommended correction

Associate a <label> with each <select>, or add an aria-label / aria-labelledby that names its purpose.

View 1 affected element
Component · Ref RF6ELJ
Affected pagehttps://88acres.com/products/gift-card
Element#ProductSelect-option-0
Accessible name$10$25$50$75$100
Markup
<select class="single-option-selector" data-option="option1" id="ProductSelect-option-0"><option value="$10">$10</option><option value="$25">$25</option><option value="$50">$50</option><option value="$75">$75</option><option value="$100">$100</option></select>
High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)136 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 136 affected elements
Component · Ref G5173U
Affected pagehttps://88acres.com/
Element.go2445736602
Accessible nameSUBSCRIBE
Markup
<button type="button" tabindex="0" data-action-id="016JB91VT000000000000WZVD9" class="needsclick go2445736602 go4033861592 klaviyo-form-button kl-private-reset-css-Xuajs1">SUBSCRIBE</button>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref 6ALR9S
Affected pagehttps://88acres.com/
Elementp > span
Accessible name20% OFF
Markup
<span style="font-size: 16px; color: rgb(255, 255, 255); font-family: Geometos, Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400; font-style: normal;">20% OFF</span>
Affected pages/ /tools/recurring/login /pages/sms-signup /cart
Component · Ref XXZVVW
Affected pagehttps://88acres.com/tools/recurring/login
Elementa[href="https://88acres.com/pages/k12"]
Accessible nameK-12 and university program
Markup
<a href="https://88acres.com/pages/k12">K-12 and university program</a>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref TAK4E2
Affected pagehttps://88acres.com/products/gift-card
Elementli:nth-child(6) > a[href$="search"]
Accessible nameSearch
Markup
<a href="https://88acres.com/search">Search</a>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref KTIX8E
Affected pagehttps://88acres.com/cart
Element.footer-bottom-link > a[href$="terms-and-conditions"]
Accessible nameTerms & conditions
Markup
<a href="/pages/terms-and-conditions">Terms &amp; conditions</a>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref EBL3IL
Affected pagehttps://88acres.com/products/gift-card
Element.footer-column:nth-child(3) > h4
Accessible nameSUPPORT
Markup
<h4>SUPPORT</h4>
Affected pages/ /products/gift-card /pages/sms-signup
Component · Ref MQ7BD7
Affected pagehttps://88acres.com/
Element.footer-column:nth-child(3) > ul > li:nth-child(5) > a
Accessible nameDonation Requests
Markup
<a href="https://88acres.com/pages/donation-requests">Donation Requests</a>
Affected pages/ /products/gift-card /pages/sms-signup
Component · Ref S8UWQE
Affected pagehttps://88acres.com/products/gift-card
Element.pf-149_
Accessible nameMADE IN OUR DEDICATED BAKERY FREE OF PEANUTS, TREE NUTS, GLUTEN, DAIRY, EGGS, SOY AND SESAME.
Markup
<span data-pf-type="Text" class="sc-cLpAjG dTtSfA pf-149_">MADE IN OUR DEDICATED BAKERY FREE OF PEANUTS, TREE NUTS, GLUTEN, DAIRY, EGGS, SOY AND SESAME.</span>
Component · Ref 8T0Q08
Affected pagehttps://88acres.com/products/gift-card
Element#review-section
Accessible nameReviews
Markup
<h2 class="section-header__title" id="review-section">Reviews</h2>
Component · Ref R04HCX
Affected pagehttps://88acres.com/products/gift-card
Element.section-header > h2
Accessible nameRelated Products
Markup
<h2 class="section-header__title">Related Products</h2>
Component · Ref KKDCZE
Affected pagehttps://88acres.com/
Element.icons-grid-heading-desktop > p
Accessible nameFREE FROM TOP 9 FOOD ALLERGENS
Markup
<p>FREE FROM TOP 9 FOOD ALLERGENS</p>
Component · Ref MR16B9
Affected pagehttps://88acres.com/cart
Element.footer-column.w3_bg:nth-child(4) > h4
Accessible nameLEARN
Markup
<h4>LEARN</h4>
Affected pages/tools/recurring/login /cart
Component · Ref UEBUTX
Affected pagehttps://88acres.com/cart
Element.footer-column.w3_bg:nth-child(4) > ul > li:nth-child(2) > a
Accessible nameWork with us
Markup
<a href="https://88acres.com/pages/work-with-us">Work with us</a>
Affected pages/tools/recurring/login /cart
Component · Ref XXZVWX
Affected pagehttps://88acres.com/products/gift-card
Elementp > a[href$="tried-and-true-trio"]
Accessible nameTried and True Trio (18 Bars)
Markup
<a class="" href="/products/tried-and-true-trio" tabindex="0">Tried and True Trio (18 Bars)</a>
Component · Ref U5DRX3
Affected pagehttps://88acres.com/products/gift-card
Element.product-single__meta--wrapper > nav > a[title="Home"][href="/"]
Accessible nameHome
Markup
<a href="/" title="Home">Home</a>
Component · Ref DX5R8B
Affected pagehttps://88acres.com/products/gift-card
Elementdiv[data-altslick-index="2"] > div > .grid-product.medium--one-half.large--one-third > .product-related-product__block-title > p > a
Accessible nameProtein Bar Sample Pack (4 Bars)
Markup
<a class="" href="/products/protein-bar-sample-pack" tabindex="0">Protein Bar Sample Pack (4 Bars)</a>
Component · Ref UVCHZ0
Affected pagehttps://88acres.com/products/gift-card
Element#Quantity
Accessible name1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Markup
<select id="Quantity" name="quantity">
Component · Ref OTV4VJ
Affected pagehttps://88acres.com/products/gift-card
Elementlabel
Accessible nameQuantity
Markup
<label for="Quantity" class="product-single__quantity-label js-quantity-selector">Quantity</label>
Component · Ref 7EPT7A
Affected pagehttps://88acres.com/products/gift-card
Element.product-single__meta--wrapper > nav > span:nth-child(5)
Accessible nameGift Card
Markup
<span>Gift Card</span>
Component · Ref MGHOC7
Affected pagehttps://88acres.com/products/gift-card
Element#ProductSelect-option-0
Accessible name$10$25$50$75$100
Markup
<select class="single-option-selector" data-option="option1" id="ProductSelect-option-0"><option value="$10">$10</option><option value="$25">$25</option><option value="$50">$50</option><option value="$75">$75</option><option value="$100">$100</option></select>
Component · Ref JCRH62
Affected pagehttps://88acres.com/cart
Element#shopify-pc__banner__btn-manage-prefs > span
Accessible nameManage preferences
Markup
<span>Manage preferences</span>
Component · Ref QIW6NW
Affected pagehttps://88acres.com/products/gift-card
Element#ProductPrice
Accessible name$ 10.00
Markup
<span id="ProductPrice" class="product-single__price" itemprop="price" content="10.0">
                  $ 10.00
                </span>
Component · Ref O6TLOC
Affected pagehttps://88acres.com/cart
Element.shopify-pc__banner__body > p
Accessible nameThis website uses tracking technologies to enhance user experience and to analyze performance. If you click "accept," you are directing us to also share information about your visit with third parties, including social media, advertising, and analytics companies. Privacy Policy
Markup
<p>
Component · Ref KIJX6E
Affected pagehttps://88acres.com/products/gift-card
Element.product-single__title
Accessible nameGift Card
Markup
<h1 class="product-single__title" itemprop="name">Gift Card</h1>
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 XMJ4EC
Affected pagehttps://88acres.com/tools/recurring/login
Elementa#Label-about-us
Accessible nameAbout Us
Markup
<a href="/pages/our-story" class="mobile-nav__link" id="Label-about-us">About Us</a>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref TS066L
Affected pagehttps://88acres.com/tools/recurring/login
Elementdiv:nth-of-type(2) > ul > li:nth-of-type(3) > div > div > button
Accessible nameExpand submenu Collapse submenu
Markup
<button type="button" class="mobile-nav__toggle-btn icon-fallback-text" data-aria-controls="Linklist-about-us">
                      <span class="icon-fallback-text mobile-nav__toggle-open">
                        <span class="icon icon-plus" aria-hidden="true"></span>
                        <span class="fallback-text">Expand submenu</span>
                      </span>
                      <span class="icon-fallback-text mobile-nav__toggle-close">
                        <span class="icon icon-minus" aria-hidden="true"></span>
                        <span class="fallback-text">Collapse s…
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref DY9S4D
Affected pagehttps://88acres.com/
Elementdiv#NavDrawer > div:nth-of-type(2) > ul > li:nth-of-type(6) > a
Accessible nameFAQ
Markup
<a href="https://88acres.gorgias.help">FAQ</a>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Component · Ref 8VP9NI
Affected pagehttps://88acres.com/pages/sms-signup
Elementdiv#NavDrawer > div:nth-of-type(1) > div > div > button
Accessible nameClose menu
Markup
<button type="button" class="icon-fallback-text drawer__close-button js-drawer-close">
              <span class="icon icon-x" aria-hidden="true"></span>
              <span class="fallback-text">Close menu</span>
            </button>
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
High

Page language is not declared

WCAG 3.1.1 (A)5 instances5 inspected pages

The document has no lang attribute, so assistive technology cannot select the correct pronunciation.

Why it matters

The document has no lang attribute, so assistive technology cannot select the correct pronunciation.

Recommended correction

Add a lang attribute to the <html> element, e.g. <html lang="en">.

View 5 affected elements
Component · Ref 19JAO
Affected pagehttps://88acres.com/products/gift-card
Elementhtml
Accessible name(function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "m5ay4l0pod"); div:not(.w3_bg), section:not(.w3_bg), iframelazy:not(.w3_bg){background-image:none !important;} var w3_lazy_load_by_px = 200, blank_image_webp_url = "https://d2pk8plgu825qi.cloudfront.net/wp-content/uploads/blank.pngw3.webp", google_fonts_delay_load = 1e4, w3_mousemoveloadimg = !1, w3_page_is_scrolled = !1, w3_lazy_load_js = 1, w3_excluded_js = 0; class w3_loadscripts { constructor(e) { this.triggerEvents = e, this.eventOptions = { passive: !0 }, this.userEventListener = this.triggerListener.bind(this), this.lazy_trigger, this.style_load_fired, this.lazy_scripts_load_fired = 0, this.scripts_load_fired = 0, this.scripts_load_fire = 0, this.excluded_js = w3_excluded_js, this.w3_lazy_load_js = w3_lazy_load_js, this.w3_fonts = "undefined" != typeof w3_googlefont ? w3_googlefont : [], this.w3_styles = [], this.w3_scripts = { normal: [], async: [], defer: [], lazy: [] }, this.allJQueries = [] } user_events_add(e) { this.triggerEvents.forEach(t => window.addEventListener(t, e.userEventListener, e.eventOptions)) } user_events_remove(e) { this.triggerEvents.forEach(t => window.removeEventListener(t, e.userEventListener, e.eventOptions)) } triggerListener_on_load() { "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", this.load_resources.bind(this)) : this.load_resources() } triggerListener() { this.user_events_remove(this), this.lazy_scripts_load_fired = 1, this.add_html_class("w3_user"), "loading" === document.readyState ? (document.addEventListener("DOMContentLoaded", this.load_style_resources.bind(this)), this.scripts_load_fire || document.addEventListener("DOMContentLoaded", this.load_resources.bind(this))) : (this.load_style_resources(), this.scripts_load_fire || this.load_resources()) } async load_style_resources() { this.style_load_fired || (this.style_load_fired = !0, this.register_styles(), document.getElementsByTagName("html")[0].setAttribute("data-css", this.w3_styles.length), document.getElementsByTagName("html")[0].setAttribute("data-css-loaded", 0), this.preload_scripts(this.w3_styles), this.load_styles_preloaded()) } async load_styles_preloaded() { setTimeout(function(e) { document.getElementsByTagName("html")[0].classList.contains("css-preloaded") ? e.load_styles(e.w3_styles) : e.load_styles_preloaded() }, 200, this) } async load_resources() { this.scripts_load_fired || (this.scripts_load_fired = !0, this.hold_event_listeners(), this.exe_document_write(), this.register_scripts(), this.add_html_class("w3_start"), "function" == typeof w3_events_on_start_js && w3_events_on_start_js(), this.preload_scripts(this.w3_scripts.normal), this.preload_scripts(this.w3_scripts.defer), this.preload_scripts(this.w3_scripts.async), this.wnwAnalytics(), this.wnwBoomerang(), await this.load_scripts(this.w3_scripts.normal), await this.load_scripts(this.w3_scripts.defer), await this.load_scripts(this.w3_scripts.async), await this.execute_domcontentloaded(), await this.execute_window_load(), window.dispatchEvent(new Event("w3-scripts-loaded")), this.add_html_class("w3_js"), "function" == typeof w3_events_on_end_js && w3_events_on_end_js(), this.lazy_trigger = setInterval(this.w3_trigger_lazy_script, 500, this)) } async w3_trigger_lazy_script(e) { e.lazy_scripts_load_fired && (await e.load_scripts(e.w3_scripts.lazy), e.add_html_class("jsload"), clearInterval(e.lazy_trigger)) } add_html_class(e) { document.getElementsByTagName("html")[0].classList.add(e) } register_scripts() { document.querySelectorAll("script[type=lazyload_int]").forEach(e => { e.hasAttribute("data-src") ? e.hasAttribute("async") && !1 !== e.async ? this.w3_scripts.async.push(e) : e.hasAttribute("defer") && !1 !== e.defer || "module" === e.getAttribute("data-w3-type") ? this.w3_scripts.defer.push(e) : this.w3_scripts.normal.push(e) : this.w3_scripts.normal.push(e) }), document.querySelectorAll("script[type=lazyload_ext]").forEach(e => { this.w3_scripts.lazy.push(e) }) } register_styles() { document.querySelectorAll("link[data-href]").forEach(e => { this.w3_styles.push(e) }) } async execute_script(e) { return await this.repaint_frame(), new Promise(t => { let s = document.createElement("script"), a; [...e.attributes].forEach(e => { let t = e.nodeName; "type" !== t && "data-src" !== t && ("data-w3-type" === t && (t = "type", a = e.nodeValue), s.setAttribute(t, e.nodeValue)) }), e.hasAttribute("data-src") ? (s.setAttribute("src", e.getAttribute("data-src")), s.addEventListener("load", t), s.addEventListener("error", t)) : (s.text = e.text, t()), null !== e.parentNode && e.parentNode.replaceChild(s, e) }) } async execute_styles(e) { var t; let s; return t = e, void((s = document.createElement("link")).href = t.getAttribute("data-href"), s.rel = "stylesheet", document.head.appendChild(s), t.parentNode.removeChild(t)) } async load_scripts(e) { let t = e.shift(); return t ? (await this.execute_script(t), this.load_scripts(e)) : Promise.resolve() } async load_styles(e) { let t = e.shift(); return t ? (this.execute_styles(t), this.load_styles(e)) : "loaded" } async load_fonts(e) { var t = document.createDocumentFragment(); e.forEach(e => { let s = document.createElement("link"); s.href = e, s.rel = "stylesheet", t.appendChild(s) }), setTimeout(function() { document.head.appendChild(t) }, google_fonts_delay_load) } preload_scripts(e) { var t = document.createDocumentFragment(), s = 0, a = this; [...e].forEach(i => { let r = i.getAttribute("data-src"), n = i.getAttribute("data-href"); if (r) { let d = document.createElement("link"); d.href = r, d.rel = "preload", d.as = "script", t.appendChild(d) } else if (n) { let l = document.createElement("link"); l.href = n, l.rel = "preload", l.as = "style", s++, e.length == s && (l.dataset.last = 1), t.appendChild(l), l.onload = function() { fetch(this.href).then(e => e.blob()).then(e => { a.update_css_loader() }).catch(e => { a.update_css_loader() }) }, l.onerror = function() { a.update_css_loader() } } }), document.head.appendChild(t) } update_css_loader() { document.getElementsByTagName("html")[0].setAttribute("data-css-loaded", parseInt(document.getElementsByTagName("html")[0].getAttribute("data-css-loaded")) + 1), document.getElementsByTagName("html")[0].getAttribute("data-css") == document.getElementsByTagName("html")[0].getAttribute("data-css-loaded") && document.getElementsByTagName("html")[0].classList.add("css-preloaded") } hold_event_listeners() { let e = {}; function t(t, s) { ! function(t) { function s(s) { return e[t].eventsToRewrite.indexOf(s) >= 0 ? "w3-" + s : s } e[t] || (e[t] = { originalFunctions: { add: t.addEventListener, remove: t.removeEventListener }, eventsToRewrite: [] }, t.addEventListener = function() { arguments[0] = s(arguments[0]), e[t].originalFunctions.add.apply(t, arguments) }, t.removeEventListener = function() { arguments[0] = s(arguments[0]), e[t].originalFunctions.remove.apply(t, arguments) }) }(t), e[t].eventsToRewrite.push(s) } function s(e, t) { let s = e[t]; Object.defineProperty(e, t, { get: () => s || function() {}, set(a) { e["w3" + t] = s = a } }) } t(document, "DOMContentLoaded"), t(window, "DOMContentLoaded"), t(window, "load"), t(…[truncated by Evolize: exceeded D1 value limit]
Markup
<html class="no-js">
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
High

Images lack text alternatives

WCAG 1.1.1 (A)14 instances2 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 14 affected elements
Component · Ref DVTJDG
Affected pagehttps://88acres.com/products/gift-card
Elementimg[width="472"]
Markup
<img src="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-f2e6becb--certifiedglootanfreeeeee.png?v=1602858016" srcset="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-f2e6becb--certifiedglootanfreeeeee.png?v=1602858016 1536w" width="472" height="486">
Affected pages/ /products/gift-card
Component · Ref OC7FZF
Affected pagehttps://88acres.com/products/gift-card
Element.product-related-product__block[href$="seed-bar-sample-pack"] > img[loading="lazy"]
Markup
<img loading="lazy" src="//88acres.com/cdn/shop/files/PDP_Variety_Pack_1_500x.png?v=1767348008">
Component · Ref 7H8WMW
Affected pagehttps://88acres.com/products/gift-card
Elementdiv[data-altslick-index="2"] > div > .grid-product.medium--one-half.large--one-third > .product-related-product__block > img[loading="lazy"]
Markup
<img loading="lazy" src="//88acres.com/cdn/shop/files/88Acres_ProductImages_ProteinBar_VarietyPack_01.1_500x.jpg?v=1762457404">
Component · Ref G4I3HO
Affected pagehttps://88acres.com/products/gift-card
Element.pf-143_ > img[width="94"][height="94"]
Markup
<img src="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-23606f6e--nopalmoil2x.png?v=1604076324" srcset="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-23606f6e--nopalmoil2x.png?v=1604076324 1536w" width="94" height="94">
Component · Ref G4I3FO
Affected pagehttps://88acres.com/products/gift-card
Element.pf-141_ > img[width="94"][height="94"]
Markup
<img src="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-606f6ef3--nutfree2x.png?v=1604076327" srcset="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-606f6ef3--nutfree2x.png?v=1604076327 1536w" width="94" height="94">
Component · Ref J6OK9D
Affected pagehttps://88acres.com/
Element.deskktopimg_banner > a > img
Markup
<img src="//88acres.com/cdn/shop/files/Homepage_Desktop_Bannerv4_Compressed.jpg?v=1785260911">
Component · Ref G4I3JE
Affected pagehttps://88acres.com/products/gift-card
Element.pf-144_ > img[width="94"][height="94"]
Markup
<img src="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-2d23606f--noisolates2x.png?v=1604076322" srcset="https://cdn.shopify.com/s/files/1/0767/4655/t/70/assets/pf-2d23606f--noisolates2x.png?v=1604076322 1536w" width="94" height="94">
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 KMSXZA
Affected pagehttps://88acres.com/
Element#slick-slide12
Accessible namePurity Protocol Gluten-Free Oats packed with fiber.
Roletabpanel
Markup
<div class="w3_bg slick-slide slick-center" data-slick-index="2" aria-hidden="true" style="width: 423px;" tabindex="0" role="tabpanel" id="slick-slide12" aria-describedby="slick-slide-control12">
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)1 instance1 inspected page

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

Why it matters

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

Recommended correction

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

View 1 affected element
Component · Ref Y28CHA
Affected pagehttps://88acres.com/products/gift-card
Elementdiv:nth-of-type(2) > div > div:nth-of-type(5) > div:nth-of-type(2) > div > div
Markup
<div class="close w3_bg" onclick="$(this).parent().removeClass('active')"></div>
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 VICJ0N
Affected pagehttps://88acres.com/products/gift-card
Elementdiv#NavDrawer > div:nth-of-type(2) > ul > li:nth-of-type(2)
Accessible nameShop Expand submenu Collapse submenu Seed + Oat Bars Protein Bars Butters Granola
Markup
<li class="mobile-nav__item">
                <div class="mobile-nav__has-sublist w3_bg">
                  <a href="/collections/best-sellers" class="mobile-nav__link" id="Label-shop">Shop</a>
                  <div class="mobile-nav__toggle w3_bg">
                    <button type="button" class="mobile-nav__toggle-btn icon-fallback-text" data-aria-controls="Linklist-shop">
                      <span class="icon-fallback-text mobile-nav__toggle-open">
                        <span class="icon icon-plus" aria-hidden="true"></span>
                        <span class="fallback-text">Expand su…
Affected pages/ /tools/recurring/login /products/gift-card /pages/sms-signup /cart
Medium

Touch targets are too small

WCAG 2.5.8 (AA)4 instances4 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 <button>'s rendered area to at least 24 × 24 CSS pixels, or provide sufficient spacing from adjacent targets. Prefer increasing padding on the existing control (for example the button or link) rather than adding a separate non-interactive wrapper.

View 4 affected elements
Component · Ref PLR2AB
Affected pagehttps://88acres.com/cart
Element.go2324193863
Accessible nameClose teaser
Markup
<button tabindex="0" aria-label="Close teaser" class="needsclick klaviyo-close-form go2324193863 kl-private-reset-css-Xuajs1" style="position: absolute; z-index: 6; cursor: pointer; height: 20px; width: 20px; border-radius: 50%; right: -16px; bottom: -16px;">
Affected pages/ /tools/recurring/login /pages/sms-signup /cart
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 visible label to each form field, using the 'label' tag and ensuring it is correctly associated with the corresponding input field using the 'for' attribute. For example: <label for='inputId'>Field Label</label> <input id='inputId' type='text'>

View 4 affected elements
Component · Ref E3BH7K
Affected pagehttps://88acres.com/tools/recurring/login
Elementsection > div > div:nth-of-type(2) > div > form > input:nth-of-type(4)
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">
Low

ARIA attributes have invalid values

WCAG 4.1.2 (A)1 instance1 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 1 affected element
Component · Ref WTERSA
Affected pagehttps://88acres.com/cart
Element#shopify-pc__banner
Accessible nameThis website uses tracking technologies to enhance user experience and to analyze performance. If you click "accept," you are directing us to also share information about your visit with third parties, including social media, advertising, and analytics companies. Privacy PolicyManage preferencesAcceptDecline
Rolealertdialog
Markup
<section id="shopify-pc__banner" class="shopify-pc__banner__dialog" role="alertdialog" aria-modal="false" aria-labelledby="shopify-pc__banner__body-title" style="display: block;">

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.