Public accessibility assessment

Accessibility issues detected on juneshine.com

Evolize inspected 4 public pages on juneshine.com and detected 25 automatically identifiable accessibility findings.

25Findings detected
7WCAG criteria affected
4Pages inspected
8 Sep 2026Assessment date

Highest detected severity: Critical · 10 high-priority findings · 80% inspected-page coverage

Most widespread issueForm fields are missing labelsDetected on 4 inspected pages
Most affected page/15 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)10 detected findings

Is juneshine.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 4 public pages on juneshine.com and detected 25 accessibility findings. The most widespread issue was "Form fields are missing labels", detected on 4 inspected pages. The most affected inspected page was "/", where 15 findings were detected. The assessment identified findings mapped to 7 WCAG success criterions. The sections below prioritize the broadest issues and provide technical evidence for each detected finding.

02 · Start here

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

  1. Critical

    Form fields are missing labels

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

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

    Recommended action

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

    View technical evidence →
  2. High

    Hidden elements can still receive keyboard focus

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

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

    Recommended action

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

    View technical evidence →
  3. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 4 inspected pages · 16 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

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 4 inspected pages · 4 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 →
  5. High

    <video> elements must have captions

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

    <video> elements must have captions

    Recommended action

    Review the affected element and correct the reported accessibility issue.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA1044 / 4
2.1.1KeyboardA744 / 4
2.4.3Focus OrderA444 / 4
1.2.2Captions (Prerecorded)A244 / 4
1.3.1Info and RelationshipsA244 / 4
2.2.2Pause, Stop, HideA233 / 4
4.1.2Name, Role, ValueA144 / 4

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

Form fields are missing labels

WCAG 1.3.1 (A)4 instances4 inspected pages

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 4 affected elements
Component · Ref VJ2U2B
Affected pagehttps://juneshine.com/products/mango-daydream?variant=39695096873093
Elementinput[type="email"]
Markup
<input type="email" name="email" autocorrect="off" autocapitalize="off" placeholder="" required="">
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)37 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 37 affected elements
Component · Ref N7TR81
Affected pagehttps://juneshine.com/products/0-01-donation
Elementdiv#shopify-section-header > div:nth-of-type(2) > button
Accessible nameClose Navigation
Markup
<button type="button" class="drawer__close" aria-label="Close Navigation" data-drawer-close=""></button>
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
Component · Ref LFAN5D
Affected pagehttps://juneshine.com/
Elementdiv:nth-of-type(2) > div > div > div > div:nth-of-type(1) > span:nth-of-type(1)
Accessible nameGo to slide 1
Rolebutton
Markup
<span class="swiper-pagination-bullet swiper-pagination-bullet-active" tabindex="0" role="button" aria-label="Go to slide 1"></span>
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
Component · Ref 6IV2FW
Affected pagehttps://juneshine.com/products/0-01-donation
Elementdiv > div > div:nth-of-type(2) > div:nth-of-type(2) > form > input:nth-of-type(3)
Accessible nameYear
Markup
<input type="number" name="year" class="age-verification-date-picker__field age-verification-date-picker__field--year" aria-label="Year" max="2026" maxlength="4" placeholder="yyyy">
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
Component · Ref N3PLBP
Affected pagehttps://juneshine.com/
Elementdiv#shopify-section-16434145623e1ea7c2 > div > div:nth-of-type(2) > div:nth-of-type(2) > span
Markup
<span class="marquee__content" tabindex="0"><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span><span class="ui-uppercase"></span></span>
High

<video> elements must have captions

WCAG 1.2.2 (A)4 instances4 inspected pages

<video> elements must have captions

Why it matters

<video> elements must have captions

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 4 affected elements
Component · Ref 5RW9P5
Affected pagehttps://juneshine.com/products/0-01-donation
Elementvideo
Markup
<video width="100%" height="100%" playsinline="" muted="" loop="" data-age-verification-video="">
      <source src="https://cdn.shopify.com/videos/c/o/v/faaacc71024c472aaddec16ab3588c4f.mp4" type="video/mp4">
    </video>
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
High

Scrollable region must have keyboard access

WCAG 2.1.1 (A)2 instances2 inspected pages

Scrollable region must have keyboard access

Why it matters

Scrollable region must have keyboard access

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 2 affected elements
Component · Ref GVJHDL
Affected pagehttps://juneshine.com/products/p-o-g
Element.swiper-slide:nth-child(3) > .product__faq-item > .product__faq-item-content[data-simplebar="init"] > .simplebar-wrapper > .simplebar-mask > .simplebar-offset > .simplebar-content-wrapper
Accessible nameWe donate 1% of our annual revenue to sustainable non profit foundations certified by 1% For the Planet, and every day, we make choices that support the environment. We use sustainable packaging, we print on recycled materials, and more.
Markup
<div class="simplebar-content-wrapper" style="height: 100%; overflow: hidden scroll;">
Affected pages/products/mango-daydream /products/p-o-g
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)7 instances1 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 7 affected elements
Component · Ref 2MKLY5
Affected pagehttps://juneshine.com/
Elementdiv:nth-of-type(2) > div:nth-of-type(2) > div > div > div > div:nth-of-type(2)
Accessible namePrevious slide
Rolebutton
Markup
<div class="swiper-button-prev swiper-button-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-disabled="true">
                  <svg width="49" height="49" viewBox="0 0 49 49" fill="none" xmlns="http://www.w3.org/2000/svg">
  <rect x="49" y="49" width="49" height="49" rx="24.5" transform="rotate(-180 49 49)" fill="white"></rect>
  <path d="M20.5 24.5L27.1957 18.5L28.5 19.5909L23.0217 24.5L28.5 29.4091L27.1957 30.5L20.5 24.5Z" fill="#111111"></path>
</svg>
                </div>
Component · Ref F5CMJZ
Affected pagehttps://juneshine.com/
Elementdiv:nth-of-type(2) > div:nth-of-type(2) > div > div > div > div:nth-of-type(3)
Accessible nameNext slide
Rolebutton
Markup
<div class="swiper-button-next swiper-button-disabled" tabindex="-1" role="button" aria-label="Next slide" aria-disabled="true">
                  <svg width="49" height="49" viewBox="0 0 49 49" fill="none" xmlns="http://www.w3.org/2000/svg">
  <rect width="49" height="49" rx="24.5" fill="white"></rect>
  <path d="M28.5 24.5L21.8043 31.5L20.5 30.2273L25.9783 24.5L20.5 18.7727L21.8043 17.5L28.5 24.5Z" fill="#111111"></path>
</svg>
                </div>
Component · Ref 2G2V5T
Affected pagehttps://juneshine.com/
Elementdiv#shopify-section-16434143536c7e46ff > div > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(1)
Accessible namePrevious slide
Rolebutton
Markup
<div class="swiper-button-prev swiper-button-disabled swiper-button-lock" tabindex="-1" role="button" aria-label="Previous slide" aria-disabled="true">
          <svg class="icon-arrow-right" width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 11H28" stroke="#050506" stroke-width="2" stroke-miterlimit="10"></path>
  <path d="M19 2L28 11L19 20" stroke="#050506" stroke-width="2" stroke-miterlimit="10" stroke-linecap="square"></path>
</svg>
        </div>
Component · Ref U4B1R0
Affected pagehttps://juneshine.com/
Elementdiv#shopify-section-16434143536c7e46ff > div > div:nth-of-type(2) > div:nth-of-type(2) > div:nth-of-type(2)
Accessible nameNext slide
Rolebutton
Markup
<div class="swiper-button-next swiper-button-disabled swiper-button-lock" tabindex="-1" role="button" aria-label="Next slide" aria-disabled="true">
          <svg class="icon-arrow-right" width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M0 11H28" stroke="#050506" stroke-width="2" stroke-miterlimit="10"></path>
  <path d="M19 2L28 11L19 20" stroke="#050506" stroke-width="2" stroke-miterlimit="10" stroke-linecap="square"></path>
</svg>
        </div>
Medium

Text has insufficient colour contrast

WCAG 1.4.3 (AA)15 instances4 inspected pages

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Why it matters

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Recommended correction

Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

View 15 affected elements
Component · Ref L0OZ10
Affected pagehttps://juneshine.com/
Element.site-header__cart-count
Accessible name0
Markup
<span class="site-header__cart-count" data-cart-count="">0</span>
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
Component · Ref T1YOO3
Affected pagehttps://juneshine.com/
Elementa[title="FIND YOURS IN STORES"]
Accessible nameFIND YOURS IN STORES
Markup
<a class="btn" href="https://juneshine.com/pages/find-us" title="FIND YOURS IN STORES">
          FIND YOURS IN STORES
        </a>
Component · Ref BPLOHG
Affected pagehttps://juneshine.com/
Element.featured-content__content > h2
Accessible nameSUMMER IN FULL SWING
Markup
<h2 class="ui-uppercase">SUMMER IN FULL SWING</h2>
Component · Ref T9YDT6
Affected pagehttps://juneshine.com/products/p-o-g
Element.age-verification__content > h4
Accessible nameAre you old enough to ride this wave?
Markup
<h4>Are you old enough to ride this wave?</h4>
Affected pages/products/mango-daydream /products/p-o-g
Component · Ref 8ACLZF
Affected pagehttps://juneshine.com/products/0-01-donation
Element#okeReviews-qanda-471187-tab
Accessible nameQuestions
Roletab
Markup
<button id="okeReviews-qanda-471187-tab" class="okeReviews-widgetNavBar-item" role="tab" type="button" aria-selected="false" aria-controls="okeReviews-qanda-471187-panel" data-oke-ga-click-action="Question Navbar Click">
Questions
</button>
Component · Ref I65DCW
Affected pagehttps://juneshine.com/products/0-01-donation
Element.okeReviews-reviewsWidget-header-controls-writeReview
Accessible nameWrite a Review
Markup
<a target="_blank" rel="noopener" tabindex="0" class="okeReviews-reviewsWi..." data-oke-ga-click-ac...="Write Review Click" href="https://okendo.revie...">
Component · Ref 9JRP48
Affected pagehttps://juneshine.com/products/0-01-donation
Elementh2[data-product-reviews-title=""]
Accessible nameDo you sip and tell?
Markup
<h2 data-product-reviews-title="">
          
            Do you sip and tell?
          
        </h2>
Component · Ref ILY1UZ
Affected pagehttps://juneshine.com/products/0-01-donation
Element.product__reviews-help-link
Accessible nameHelp
Markup
<a href="#" title="Help" class="product__reviews-help-link ui-uppercase" target="_blank">Help</a>
Component · Ref 1Z5648
Affected pagehttps://juneshine.com/products/0-01-donation
Elementh4
Accessible nameAre you old enough to ride this wave?
Markup
<h4>Are you old enough to ride this wave?</h4>
Component · Ref Z5KM0M
Affected pagehttps://juneshine.com/products/0-01-donation
Element.okeReviews-reviewsWidget-emptyMessage > p
Accessible nameThere are no reviews yet.
Markup
<p>There are no reviews yet.</p>
Medium

Video may be missing captions

WCAG 1.2.2 (A)4 instances4 inspected pages

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

Why it matters

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

Recommended correction

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

View 4 affected elements
Component · Ref 51AL2S
Affected pagehttps://juneshine.com/products/p-o-g
Elementdiv#shopify-section-age-verification > div > video
Markup
<video width="100%" height="100%" playsinline="" muted="" loop="" data-age-verification-video="">
      <source src="https://cdn.shopify.com/videos/c/o/v/faaacc71024c472aaddec16ab3588c4f.mp4" type="video/mp4">
    </video>
Affected pages/ /products/0-01-donation /products/mango-daydream /products/p-o-g
Low

Page has no level-one heading

WCAG 1.3.1 (A)1 instance1 inspected page

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 1 affected element
Component · Ref F6PWUJ
Affected pagehttps://juneshine.com/
Elementbody#juneshine-canned-cocktails-hard-kombucha-a-lighter-brighter-buzz
Accessible nameSkip to content Juneshine Are you old enough to ride this wave? I’m over 21 Not yet Enter Your Date of Birth Enter Oops, please complete all the fields above Close Cart #image-20182736502917- { max-width: 128.0px; max-height: 128px; } #imageWrapper-20182736502917- { max-width: 128.0px; } #imageWrapper-20182736502917-::before { padding-top:100.0%; } <img class="" src="//juneshine.com/cdn/shop/files/juneshine-badge_4499ce11-fdc6-42d4-9a1f-66611ef66d2d_2048x2048.png?v=1614298145" alt=""> Your bag is thirsty. Fill it with shine Get your hands on our limited-time merch drop before items sell out! #image-20182736502917- { max-width: 128.0px; max-height: 128px; } #imageWrapper-20182736502917- { max-width: 128.0px; } #imageWrapper-20182736502917-::before { padding-top:100.0%; } <img class="" src="//juneshine.com/cdn/shop/files/juneshine-badge_4499ce11-fdc6-42d4-9a1f-66611ef66d2d_2048x2048.png?v=1614298145" alt=""> Hard Kombucha Spirits Soft Goods Learn Store Locator EVENTS 0 Hard Kombucha Spirits Soft Goods Learn Store Locator EVENTS Login .marquee--16434145623e1ea7c2 { --marquee-background-color: ; --marquee-text-color: #050506; --marquee-speed: 12s; } .marquee--16434145623e1ea7c2 { --marquee-background-color: ; --marquee-text-color: #050506; --marquee-speed: 12s; } SUMMER IN FULL SWING THE SUNSET VARIETY PACK FIND YOURS IN STORES .marquee--16434145623e1ea7c2 { --marquee-background-color: ; --marquee-text-color: #050506; --marquee-speed: 12s; } .featured-content--16434145623e1ea7c2 { --featured-content-background-color: #db4b46; --featured-content-content-background-color: #ffe7c3; --featured-content-heading-color: #db4b46; --featured-content-text-color: #c37cb4; --featured-content-cta-color: #ff9600; --featured-content-cta-text-color: #ffffff; } Hard Kombucha 6% ABV & Gluten-free View Flavors .split-cta-block--0b48d136-f9fc-46d0-8f76-b6a9904c50fe { --split-cta-block-background-color: #fceee4; --split-cta-block-content-color: #050506; --split-cta-block-content-cta-color: #050506; --split-cta-block-content-cta-text-color: #ffffff; } Ready-to-Enjoy Cocktails Premium spirits & real fruit juice View Flavors .split-cta-block--196e44d9-01e4-406a-b22f-7695fa34f098 { --split-cta-block-background-color: #fceee4; --split-cta-block-content-color: #050506; --split-cta-block-content-cta-color: #050506; --split-cta-block-content-cta-text-color: #ffffff; } .split-cta--1643414351930a6278 { --split-cta-background-color: #fceee4; } Why Juneshine? Honest Alcohol No shady ingredients. No syrupy flavors. Never too sweet. Find in store Ready to enjoy Convenience without compromise. .benefit-block--b76d1c0c-8505-4278-a94a-c705333632f4 { --benefit-background-color: #f5c21c; --benefit-text-color: #050506; --benefit-border-color: #050506; --benefit-badge-background-color: #ffffff; --benefit-badge-text-color: #050506; } LOW SUGAR Smooth, but not too sweet. .benefit-block--87ec9d69-14fc-4375-8726-1bf920c2f55e { --benefit-background-color: #87bca0; --benefit-text-color: #050506; --benefit-border-color: #050506; --benefit-badge-background-color: #ffffff; --benefit-badge-text-color: #050506; } INSANELY DELICIOUS Real fruit, simple ingredients. .benefit-block--f076944d-4cb2-4269-adff-0717b9d22502 { --benefit-background-color: #df6e26; --benefit-text-color: #050506; --benefit-border-color: #050506; --benefit-badge-background-color: #ffffff; --benefit-badge-text-color: #050506; } Find in store .benefits--1643414090928207a5 { --benefits-background: #fceee4; --benefits-heading-color: #050506; --benefits-content-color: #050506; --benefits-content-cta-color: #050506; --benefits-content-cta-text-color: #ffffff; --top-padding-desktop: 90px; --bottom-padding-desktop: 90px; --top-padding-mobile: 64px; --bottom-padding-mobile: 64px; } Meet our ambassadors Learn Evan Mock @evanmock JuneShine Co-Owner Ambassador and professional skateboarder, model, photographer, designer, and artist. Evan has captured the attention of the world with his unique style and talent. …[truncated by Evolize: exceeded D1 value limit]
Markup
<body id="juneshine-canned-cocktails-hard-kombucha-a-lighter-brighter-buzz" class="template-index age-verification-active" data-line-item-count="0" data-cart-quantity="0" data-site-body="" style="">
    <a class="visually-hidden skip-link" href="#siteContent" title="Skip to content">Skip to content</a>

    <div id="shopify-section-age-verification" class="shopify-section">

<div class="age-verification js-focus-hidden" role="region" aria-label="Age Verification" data-age-verification="" tabindex="-1" data-tab-index="-1">
  
    <video width="100%" height="100%" playsinline="" muted="" loop=""…

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.