Public accessibility assessment

Accessibility issues detected on vbeautypure.com

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

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

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

Most widespread issueARIA command controls lack accessible namesDetected on 5 inspected pages
Most affected page/products/frozen-kit26 findings detected
Most represented WCAG criterionWCAG 4.1.2 — Name, Role, Value20 detected findings

Is vbeautypure.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 vbeautypure.com and detected 46 accessibility findings. The most widespread issue was "ARIA command controls lack accessible names", detected on 5 inspected pages. The most affected inspected page was "/products/frozen-kit", where 26 findings were detected. The assessment identified findings mapped to 8 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

    ARIA command controls lack accessible names

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

    Assistive technologies cannot communicate the purpose of these controls, which may prevent users from operating them reliably.

    Recommended action

    This control is a <div> with role="button" acting as a button. Prefer replacing it with a native <button>, which is focusable and operable by keyboard by default. 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

    ARIA command controls lack accessible names

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

    Assistive technologies cannot communicate the purpose of these controls, which may prevent users from operating them reliably.

    Recommended action

    This control is a <div> with role="button" acting as a button. Prefer replacing it with a native <button>, which is focusable and operable by keyboard by default. 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

    ARIA command controls lack accessible names

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

    Assistive technologies cannot communicate the purpose of these controls, which may prevent users from operating them reliably.

    Recommended action

    This control is a <div> with role="button" acting as a button. Prefer replacing it with a native <button>, which is focusable and operable by keyboard by default. 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) · 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 →
  5. Critical

    ARIA command controls lack accessible names

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

    Assistive technologies cannot communicate the purpose of these controls, which may prevent users from operating them reliably.

    Recommended action

    This control is a <div> with role="button" acting as a button. Prefer replacing it with a native <button>, which is focusable and operable by keyboard by default. 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
4.1.2Name, Role, ValueA2055 / 5
1.4.3Contrast (Minimum)AA1755 / 5
1.3.1Info and RelationshipsA355 / 5
2.4.3Focus OrderA355 / 5
1.1.1Non-text ContentA244 / 5
2.4.1Bypass BlocksA155 / 5
2.4.4Link Purpose (In Context)A111 / 5
3.3.2Labels or InstructionsA155 / 5

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

Continuous monitoring

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

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

04 · All detected findings

Critical

ARIA command controls lack accessible names

WCAG 4.1.2 (A)10 instances5 inspected pages

Assistive technologies cannot communicate the purpose of these controls, which may prevent users from operating them reliably.

Why it matters

Assistive technologies cannot communicate the purpose of these controls, which may prevent users from operating them reliably.

Recommended correction

This control is a <div> with role="button" acting as a button. Prefer replacing it with a native <button>, which is focusable and operable by keyboard by default. 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 10 affected elements
Component · Ref QZ1E3V
Affected pagehttps://vbeautypure.com/collection/products-under-10?sortBy=date
Elementnav > .w-10.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none" tabindex="0">
Affected pages/collection/products-under-10 /collection/all-products
Component · Ref A3703H
Affected pagehttps://vbeautypure.com/collection/all-products?sortBy=default
Element.border-grayLight > .w-10.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none;transform:none" tabindex="0">
Affected pages/collection/products-under-10 /collection/all-products
Component · Ref 16J1CI
Affected pagehttps://vbeautypure.com/
Elementnav > .ml-3.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none" tabindex="0">
Affected pages/ /products/frozen-kit
Component · Ref IUJ4KE
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.border-grayLight > .ml-3.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none;transform:none" tabindex="0">
Component · Ref QWPPCS
Affected pagehttps://vbeautypure.com/contact
Element.xl\:flex-1.bg-primary[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none" tabindex="0">
Component · Ref 75AE2N
Affected pagehttps://vbeautypure.com/contact
Element.px-10 > .w-10.ml-3.md\:ml-10 > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none;transform:none" tabindex="0">
Component · Ref WPSJR5
Affected pagehttps://vbeautypure.com/
Element.px-10 > .ml-3.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"] > .hamburger-react[role="button"]
Rolebutton
Markup
<div class="hamburger-react" aria-expanded="false" role="button" style="cursor:pointer;height:48px;position:relative;transition:0.4s cubic-bezier(0, 0, 0, 1);user-select:none;width:48px;outline:none;transform:none" tabindex="0">
Critical

Buttons have no accessible name

WCAG 4.1.2 (A)4 instances3 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 Y12NC8
Affected pagehttps://vbeautypure.com/collection/products-under-10?sortBy=date
Element.px-8.text-white.cursor-pointer > button
Markup
<button>
Component · Ref M6WNN5
Affected pagehttps://vbeautypure.com/
Element.featured-collection-slideshow > .swiper.swiper-initialized[draggable="true"] > .swiper-nav-container > .rotate-180.pointer-events-auto.origin-center
Markup
<button class="text-white w-10 h-10 bg-primary rounded-full pointer-events-auto transition-opacity duration-700 focus:ring flex items-center justify-center origin-center transform rotate-180">
Component · Ref 1VHIT6
Affected pagehttps://vbeautypure.com/
Element.featured-collection-slideshow > .swiper.swiper-initialized[draggable="true"] > .swiper-nav-container > .pointer-events-auto.origin-center.duration-700:nth-child(1)
Markup
<button class="text-white w-10 h-10 bg-primary rounded-full pointer-events-auto transition-opacity duration-700 focus:ring flex items-center justify-center origin-center">
Component · Ref 92X7YW
Affected pagehttps://vbeautypure.com/collection/all-products?sortBy=default
Element.px-8.text-white.items-center > button
Markup
<button>
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 OLLO1M
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.min-w-\[100px\]
Markup
<input min="1" max="999" type="number" class="text-center w-full min-w-[100px] bg-transparent appearance-none border border-primary px-10 rounded-none" name="quantity" value="1">
High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)74 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 74 affected elements
Component · Ref 0P4NE1
Affected pagehttps://vbeautypure.com/collection/products-under-10?sortBy=date
Element.go280448113
Accessible nameSIGN UP
Markup
<button type="button" tabindex="0" data-action-id="01KZ5HR5PFAC35TVHW44Z8WMA4" class="needsclick go280448113 go4033861592 klaviyo-form-button kl-private-reset-css-Xuajs1">SIGN UP </button>
Affected pages/ /products/frozen-kit /collection/products-under-10
Component · Ref NM3LPK
Affected pagehttps://vbeautypure.com/collection/all-products?sortBy=default
Element#onetrust-policy-text
Accessible nameBy using V Beauty Pure’s website you agree to our Privacy Policy and our Terms of Service. We process your personal information to measure and improve our sites and service, to assist our marketing campaigns and to provide personalized content and advertising. By clicking the button in this toolbar "Your Privacy Rights”, you can exercise your privacy rights. For more informationView Our Cookie PolicyView Our Privacy Policy
Markup
<div id="onetrust-policy-text">
Affected pages/ /products/frozen-kit /contact /collection/products-under-10 /collection/all-products
Component · Ref JZWWI9
Affected pagehttps://vbeautypure.com/collection/products-under-10?sortBy=date
Element#product_tile_7674096353366 > .mt-3.flex-1 > .justify-between.flex-wrap.h-full > .flex-col.w-full.flex > .md\:mt-0.pt-2.mt-auto > .mr-4 > del
Accessible name$9.99
Markup
<del class="mr-2 opacity-30">$9.99</del>
Affected pages/ /collection/products-under-10 /collection/all-products
Component · Ref 4ZABMJ
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element#email_01KZ5HR5RJHZDGG2T5KRK6XPYE
Accessible nameYour email...
Markup
<input id="email_01KZ5HR5RJHZDGG2T5KRK6XPYE" type="email" autocomplete="email" name="email" tabindex="0" placeholder="Your email..." aria-label="Your email..." aria-required="true" aria-invalid="false" options="[object Object]" class="needsclick go1307929834 kl-private-reset-css-Xuajs1">
Affected pages/ /products/frozen-kit /collection/products-under-10
Component · Ref N1HS1T
Affected pagehttps://vbeautypure.com/products/frozen-kit
Elementdel
Accessible name$125.39
Markup
<del class="mr-2 opacity-30">$125.39</del>
Component · Ref 34U2U7
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element#oke-helpful-vote-counter-negative-ddcbf79d-79c4-42b8-8434-aa6bffcf519a
Accessible nameNo, this review from Michelle was not helpful. 0 people voted no
Markup
<span id="oke-helpful-vote-counter-negative-ddcbf79d-79c4-42b8-8434-aa6bffcf519a" class="oke-helpful-vote-counter"><span class="oke-a11yText">No, this review from Michelle was not helpful.</span> 0 <span class="oke-a11yText">people voted no</span></span>
Component · Ref UZ8RUH
Affected pagehttps://vbeautypure.com/
Element#header-1aff950e-8c68-4a9f-8fbf-05e95e626fa9 > h2 > span
Accessible nameLABOR DAY
Markup
<span class="">LABOR DAY</span>
Component · Ref 2ELB7J
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.oke-w-breakdownModule-distribution-label[aria-hidden="true"]:nth-child(5) > .oke-w-breakdownModule-distribution-label-number
Accessible name4
Markup
<span class="oke-w-breakdownModule-distribution-label-number"> 4 </span>
Component · Ref WO98TT
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.oke-w-breakdownModule-distribution-count[aria-hidden="true"]:nth-child(15)
Accessible name0
Markup
<div aria-hidden="true" class="oke-w-breakdownModule-distribution-count" style="grid-row: 4;"> 0 </div>
Component · Ref W11CG5
Affected pagehttps://vbeautypure.com/
Element#header-272b124b-f087-4344-95ac-47a781db8d96 > .hero-text.has-custom-font > span
Accessible nameSubscribe & save
Markup
<span class="">Subscribe &amp; save</span>
Component · Ref YRD7H2
Affected pagehttps://vbeautypure.com/
Element.hero-description > span
Accessible nameNever run out of your essentials again.
Markup
<span class="">Never run out of your essentials again.</span>
Component · Ref KY80Q1
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element#oke-sortSelect--reviews
Accessible nameSort
Markup
<select id="oke-sortSelect--reviews" aria-label="Sort" class="oke-sortSelect-sort oke-select">
Component · Ref SZ03UU
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.oke-w-reviews-list-item:nth-child(3) > .oke-w-review > .oke-w-review-main > .oke-w-review-footer > .oke-w-review-helpful > .oke-helpful > .oke-helpful-label
Accessible nameWas this helpful?
Markup
<span class="oke-helpful-label">Was this helpful?</span>
Component · Ref YKCX35
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.oke-w-reviews-list-item:nth-child(1) > .oke-w-review > .oke-w-review-main > .oke-w-review-content > .oke-reviewContainer > .oke-reviewContent.oke-reviewContent--left > .oke-reviewContent-top > .oke-reviewContent-date > span
Accessible name3 years ago
Markup
<span>3 years ago</span>
Component · Ref SC1INK
Affected pagehttps://vbeautypure.com/products/frozen-kit
Elementklarna-placement,.text
Markup
<p part="osm-message" class="text osm-message">
Component · Ref 8XG5A0
Affected pagehttps://vbeautypure.com/products/frozen-kit
Elementklarna-placement,strong
Markup
<strong>$16/month</strong>
Component · Ref UZ8RTW
Affected pagehttps://vbeautypure.com/
Element#header-4cfd718e-9339-481b-b8bb-e6b6296424eb > h1 > span
Accessible nameSALE
Markup
<span class="">SALE</span>
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 ORW595
Affected pagehttps://vbeautypure.com/collection/products-under-10?sortBy=date
Elementnav > div:nth-of-type(3) > ul > li:nth-of-type(1) > span > a
Accessible nameLink to collection/best-sellers
Markup
<a class="uppercase font-header tracking-widest text-sm font-semibold flex items-center py-4 md:py-7 px-5 xl:p-0 border-b border-secondaryLight xl:border-none" aria-label="Link to collection/best-sellers" href="/collection/best-sellers"><span class="nav-dot flex-1 relative w-max xl:text-sm xl:font-bold">NEW &amp; BEST-SELLERS<span class="nav-hover-line"></span></span><span class="lg:hidden pl-5"><div class="fill-current md:hidden h-3 w-3 h-3 lg:w-4 lg:h-4 flex flex-wrap items-center content-center justify-center"><span class="w-full bg-white h-0.5"></span><span class="w-full bg-white h-0.5 tra…
Affected pages/ /products/frozen-kit /contact /collection/products-under-10 /collection/all-products
Component · Ref EM42SH
Affected pagehttps://vbeautypure.com/
Elementdiv > div > ul > li:nth-of-type(2) > span > a
Accessible nameLink to collection/new-arrivals?sortBy=date
Markup
<a class="uppercase font-header tracking-widest text-sm font-semibold hover:opacity-50 transition-opacity" aria-label="Link to collection/new-arrivals?sortBy=date" href="/collection/new-arrivals?sortBy=date"><span class="nav-dot flex-1 relative w-max xl:text-sm xl:font-bold">New Releases</span></a>
Affected pages/ /products/frozen-kit /contact /collection/products-under-10 /collection/all-products
High

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)5 instances5 inspected pages

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

Why it matters

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

Recommended correction

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

View 5 affected elements
Component · Ref MLQLRM
Affected pagehttps://vbeautypure.com/contact
Elementinput#k_id_email
Markup
<input type="email" class="bg-transparent text-white py-2 w-full inset-0 pr-20 border-b border-white placeholder-secondary focus:outline-none focus:ring ring-offset-8 ring-offset-primary rounded-none" placeholder="Email" id="k_id_email" name="email">
Affected pages/ /products/frozen-kit /contact /collection/products-under-10 /collection/all-products
High

Interactive controls must not be nested

WCAG 4.1.2 (A)10 instances5 inspected pages

Interactive controls must not be nested

Why it matters

Interactive controls must not be nested

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 10 affected elements
Component · Ref WEV7VE
Affected pagehttps://vbeautypure.com/products/frozen-kit
Elementnav > .ml-3.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full bg-primary flex xl:flex-1 items-center">
Affected pages/ /products/frozen-kit
Component · Ref KQMK8K
Affected pagehttps://vbeautypure.com/collection/all-products?sortBy=default
Element.border-grayLight > .w-10.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full  flex xl:flex-1 items-center">
Affected pages/collection/products-under-10 /collection/all-products
Component · Ref L1DMMD
Affected pagehttps://vbeautypure.com/collection/all-products?sortBy=default
Elementnav > .w-10.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full bg-primary flex xl:flex-1 items-center">
Affected pages/collection/products-under-10 /collection/all-products
Component · Ref E1OIYL
Affected pagehttps://vbeautypure.com/contact
Element.px-10 > .w-10.ml-3.md\:ml-10 > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full  flex xl:flex-1 items-center">
Component · Ref Q42PYN
Affected pagehttps://vbeautypure.com/contact
Element.xl\:flex-1.bg-primary[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full bg-primary flex xl:flex-1 items-center">
Component · Ref 3XS6VE
Affected pagehttps://vbeautypure.com/
Element.px-10 > .ml-3.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full  flex xl:flex-1 items-center">
Component · Ref 952XZ4
Affected pagehttps://vbeautypure.com/products/frozen-kit
Element.border-grayLight > .ml-3.md\:ml-10.xl\:hidden > .xl\:flex-1.xl\:hidden[aria-label="Navigation Menu"]
Accessible nameNavigation Menu
Markup
<button aria-label="Navigation Menu" class="xl:hidden h-full  flex xl:flex-1 items-center">
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)4 instances4 inspected pages

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

Why it matters

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

Recommended correction

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

View 4 affected elements
Component · Ref 1VS17X
Affected pagehttps://vbeautypure.com/products/frozen-kit
Elementhtml > body > div:nth-of-type(10) > div > div:nth-of-type(2)
Accessible namePOPUP Form
Roledialog
Markup
<div role="dialog" aria-modal="true" aria-label="POPUP Form" class="needsclick  kl-private-reset-css-Xuajs1" data-kl-scroll-locking-modal="true" style="display: flex; z-index: 90000; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; justify-content: center; align-items: center; overflow: clip auto; background-color: rgba(20, 20, 20, 0.6); animation-timing-function: ease; animation-play-state: running; animation-iteration-count: 1; animation-fill-mode: forwards; animation-delay: 0s; animation-duration: 0.35s; animation-name: klaviyo-fadein;"><div class="needsclick  kl-private-res…
Affected pages/ /products/frozen-kit /collection/products-under-10 /collection/all-products
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 U2LOU3
Affected pagehttps://vbeautypure.com/
Elementhtml > body > div:nth-of-type(2) > div > div:nth-of-type(2) > p
Accessible nameYour cart is currently empty.
Markup
<p class="px-8 md:px-10 ">Your cart is currently empty.</p>
Affected pages/ /products/frozen-kit /contact /collection/products-under-10 /collection/all-products
Medium

IDs used in ARIA and labels must be unique

WCAG 4.1.2 (A)6 instances2 inspected pages

IDs used in ARIA and labels must be unique

Why it matters

IDs used in ARIA and labels must be unique

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 6 affected elements
Component · Ref XR0UGU
Affected pagehttps://vbeautypure.com/collection/all-products?sortBy=default
Elementaside > .max-w-\[100\%\].xl\:py-0.md\:w-screen > .min-h-\[calc\(100vh_-_4rem\)\].overflow-hidden > .ui-form[action="#"] > .w-full:nth-child(3) > .w-full.relative > .md\:text-sm[value="default"][name="sortBy"]
Markup
<input id="sortBy" class="focus:outline-none rounded-none py-3 px-5 w-full bg-transparent border focus:outline-none focus:ring-1 uppercase text-xs md:text-sm tracking-widest border-current placeholder-current text-current" type="hidden" value="default" name="sortBy">
Affected pages/collection/products-under-10 /collection/all-products
Low

Low-quality alternative text

WCAG 1.1.1 (A)100 instances4 inspected pages

Alt text looks like a filename, a generic word ("image", "photo"), or is duplicated across unrelated images — it likely does not describe the content.

Why it matters

Alt text looks like a filename, a generic word ("image", "photo"), or is duplicated across unrelated images — it likely does not describe the content.

Recommended correction

Replace placeholder or filename alt text with a concise description of what the image conveys.

View 100 affected elements
Component · Ref D207TS
Affected pagehttps://vbeautypure.com/
Elementarticle#product_tile_7580993224790 > div:nth-of-type(1) > a > div > div > img
Markup
<img alt="Image" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" sizes="
          (max-width: 768px) 50vw,
          (max-width: 1200px) 33vw,
          33vw
        " srcset="https://cdn.shopify.com/s/files/1/1295/1993/files/VAS-ALMOST-TOO-CUTE-COLLECTION_Acrylic-Covers-1.jpg?v=1775070696&amp;width=256 256w, https://cdn.shopify.com/s/files/1/1295/1993/files/VAS-ALMOST-TOO-CUTE-COLLECTION_Acrylic-Covers-1.jpg?v=1775070696&amp;width=384 384w, https://cdn.shopify.com/s/files/1/1295/1993/files/VAS-ALMOST-TOO-CUTE-COLLECTION_Acrylic-Covers-1.jpg?v=1775070696&amp;width=640 64…
Affected pages/ /products/frozen-kit /collection/products-under-10 /collection/all-products
Component · Ref C1Z45O
Affected pagehttps://vbeautypure.com/
Elementdiv:nth-of-type(1) > a > div > div > div:nth-of-type(2) > img
Markup
<img alt="Image" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" sizes="
          (max-width: 768px) 50vw,
          (max-width: 1200px) 33vw,
          33vw
        " srcset="https://cdn.shopify.com/s/files/1/1295/1993/files/AcryGel_Clear_Pedestal_2b096666-9d04-428a-84e7-5e2589c1b50a.jpg?v=1781102962&amp;width=256 256w, https://cdn.shopify.com/s/files/1/1295/1993/files/AcryGel_Clear_Pedestal_2b096666-9d04-428a-84e7-5e2589c1b50a.jpg?v=1781102962&amp;width=384 384w, https://cdn.shopify.com/s/files/1/1295/1993/files/AcryGel_Clear_Pedestal_2b096666-9d04-428a-84e7-5e2589c1b5…
Affected pages/ /products/frozen-kit /collection/products-under-10 /collection/all-products

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.