Critical
Links lack accessible text
WCAG 2.4.4 (A)1 instance1 inspected page
Links expose no accessible name, so screen-reader users cannot determine their destination.
Why it mattersLinks expose no accessible name, so screen-reader users cannot determine their destination.
Recommended correctionThis 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 /collections/new-arrivals.
View 1 affected element
Component · Ref EX2HVE
Affected pagehttps://www.sandyliang.info/
Element.banner__item--desktop
Markup<a href="/collections/new-arrivals" class="banner__item banner__item--desktop" aria-label="" style="height: 859px;">
High
IDs used in ARIA and labels must be unique
WCAG 4.1.2 (A)24 instances4 inspected pages
IDs used in ARIA and labels must be unique
Why it mattersIDs used in ARIA and labels must be unique
Recommended correctionReview the affected element and correct the reported accessibility issue.
View 24 affected elements
Component · Ref QMBWTU
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Element.aside__title > a[href$="#menu-info-mobile"][aria-controls="menu-menu-info-mobile"][data-toggle=".aside--submenu-info-mobile"]
Accessible nameINFO
Markup<a class="aside__link aside__..." href="#menu-info-mobile" data-toggle=".aside--submenu-info..." id="menu-toggle-info-mob..." aria-haspopup="true" aria-expanded="false" aria-controls="menu-menu-info-mobil..." data-toggle-callback...="document.querySelect..." ...>
Affected pages/ /account /products/gift-card /cart
Component · Ref 7TFPQ9
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Element.aside__section--inactive.aside__section[data-aside-section="/collections/all"] > .collapse.aside__item:nth-child(6) > .collapse__body[aria-labelledby="menu-collapse-toggle-5"][role="tree"]
Accessible nameJEWELRY
Roletree
Markup<li class="aside__childs collapse__body" id="menu-collapse-5" role="tree" aria-labelledby="menu-collapse-toggle-5" style="display: none; max-height: 0px;">
Affected pages/ /account /products/gift-card /cart
Component · Ref QD69AO
Affected pagehttps://www.sandyliang.info/
Element#search > .search__form[role="search"][action="/search"] > .search__label[for="search__input"] > .search__input[type="search"][name="q"]
Markup<input id="search__input" class="search__input" type="search" name="q" value="" required="">
Affected pages/ /account /products/gift-card /cart
Component · Ref U071PJ
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Element.aside__section--inactive.aside__section[data-aside-section="/collections/all"] > .collapse.aside__item:nth-child(5) > .aside__title > .collapse__toggle.collapse__toggle--no-icon[aria-controls="menu-collapse-4"]
Accessible nameBAGS
Markup<a id="menu-collapse-toggle-4" href="#:dropdown" class="aside__link collapse__toggle collapse__toggle--no-icon " aria-haspopup="true" aria-expanded="false" aria-controls="menu-collapse-4" style="pointer-events: auto">
BAGS
</a> Affected pages/ /account /products/gift-card /cart
High
Hidden elements can still receive keyboard focus
WCAG 2.4.3 (A)40 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 mattersAn element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.
Recommended correctionKeep 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 40 affected elements
Component · Ref E63F69
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Elementli#menu-collapse-2 > ul > li:nth-of-type(1) > a
Accessible nameDRESSES
Markup<a class="aside__link " href="/collections/dresses">DRESSES</a>
Affected pages/ /account /products/gift-card /cart
Component · Ref DKZDXD
Affected pagehttps://www.sandyliang.info/products/gift-card
Elementa#menu-collapse-toggle-2
Accessible nameCLOTHING
Markup<a id="menu-collapse-toggle-2" href="#:dropdown" class="aside__link collapse__toggle collapse__toggle--no-icon " aria-haspopup="true" aria-expanded="false" aria-controls="menu-collapse-2" style="pointer-events: auto">
CLOTHING
</a> Affected pages/ /account /products/gift-card /cart
Component · Ref PY0EZU
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Elementaside > div:nth-of-type(1) > div > ul:nth-of-type(1) > li > a
Accessible nameNEW
Markup<a class="aside__link " href="/collections/new-arrivals">
NEW
</a> Affected pages/ /account /products/gift-card /cart
High
Form fields use placeholder text as the only label
WCAG 1.3.1 (A)4 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 mattersFields 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 correctionAdd a persistent <label> associated with each field. Keep the placeholder for example text only, not as the label.
View 4 affected elements
Component · Ref SB85D2
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Elementform#localization_form > div > div > div > div > input
Markup<input type="text" class="nice-select-search" placeholder="Search...">
Affected pages/ /account /products/gift-card /cart
High
Interactive controls are not keyboard-accessible
WCAG 2.1.1 (A)2 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 mattersA 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 correctionUse a native <button>/<a>, or add tabindex="0" plus keyboard event handlers (Enter/Space) to custom controls.
View 2 affected elements
Component · Ref BL7AC3
Affected pagehttps://www.sandyliang.info/cart
Elementa#menu-toggle-cart
Accessible nameCart: 0
Rolebutton
Markup<a role="button" id="menu-toggle-cart" class="header__item">
Cart<span class="hidden" data-cart-amount="" data-hide="1" data-cart-amount-template=": {amount}" style="pointer-events: none;">: 0</span>
</a>
High
Scrollable region must have keyboard access
WCAG 2.1.1 (A)1 instance1 inspected page
Scrollable region must have keyboard access
Why it mattersScrollable region must have keyboard access
Recommended correctionReview the affected element and correct the reported accessibility issue.
View 1 affected element
Component · Ref PUQORO
Affected pagehttps://www.sandyliang.info/products/gift-card
Element.product__option:nth-child(2) > .nice-select > .nice-select-dropdown > .list
Accessible nameSize
$50
Size
$100
Size
$200
Size
$300
Size
$500
Size
$1000
Medium
ARIA attributes have invalid values
WCAG 4.1.2 (A)15 instances4 inspected pages
ARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.
Why it mattersARIA attributes reference ids that do not exist or hold invalid values, breaking the accessibility tree.
Recommended correctionCorrect ARIA attribute values and ensure referenced ids exist in the DOM.
View 15 affected elements
Component · Ref GGRI2O
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Element#search-toggle
Accessible nameSEARCH
Rolebutton
Markup<a role="button" id="search-toggle" class="header__item" aria-haspopup="true" aria-expanded="false" aria-controls="search" href="/search" data-toggle="#search" data-toggle-callback...="document.querySelect..." data-toggle-callback...="document.querySelect..." onclick="setTimeout(() => doc...">
Affected pages/ /account /products/gift-card /cart
Component · Ref L2QUZK
Affected pagehttps://www.sandyliang.info/products/gift-card
Element#localization-toggle
Accessible nameUnited States / USD
Markup<button id="localization-toggle" aria-haspopup="true" aria-expanded="false" aria-controls="modal-localization" class="footer__column footer__column--localization" data-toggle=".modal--localization">
Affected pages/ /account /products/gift-card /cart
Component · Ref S76H32
Affected pagehttps://www.sandyliang.info/cart
Element#form-toggle-footer
Accessible nameNewsletter
Markup<button class="form__toggle" id="form-toggle-footer" aria-haspopup="true" aria-expanded="false" aria-controls="form-footer" data-toggle="#form-footer" data-toggle-callback...="document.querySelect..." data-toggle-callback...="document.querySelect..." onclick="setTimeout(() => doc...">
Affected pages/ /account /products/gift-card /cart
Medium
No skip link to main content
WCAG 2.4.1 (A)4 instances4 inspected pages
The page offers no bypass mechanism, so keyboard users must tab through the full navigation before reaching the main content on every page.
Why it mattersThe page offers no bypass mechanism, so keyboard users must tab through the full navigation before reaching the main content on every page.
Recommended correctionAdd a "Skip to main content" link as the first focusable element, targeting the id of the <main> region.
View 4 affected elements
Component · Ref 2YGC6Y
Affected pagehttps://www.sandyliang.info/
Elementbody#sandy-liang-official-site
Accessible nameSHOP
NEW
BEST SELLERS
CLOTHING
DRESSES
TOPS
SKIRTS
PANTS
KNITS
OUTERWEAR
ALL CLOTHING
SHOES
FLATS
LOW HEELS
HIGH HEELS
BOOTS
ALL SHOES
BAGS
HANDHELD
SHOULDER
CROSSBODY
TOTE
ALL BAGS
JEWELRY
EARRINGS
NECKLACES
BRACELETS
RINGS
ALL JEWELRY
ACCESSORIES
HAIR
SOCKS
CARD HOLDER
ALL ACCESSORIES
BRIDAL
BRIDAL SHOP
VEILS
WEDDING GUEST
MADE TO ORDER
CUSTOM
DRESSING UP: SANDY LIANG
EDITS
UNIFORM
UNISEX
PARTY
SETS
SHOP ALL
SEARCH
Search
GO
…[truncated by Evolize: exceeded D1 value limit]
Markup<body id="sandy-liang-official-site" class="page page--index ">
<div id="shopify-section-announcement" class="shopify-section announcement">
</div>
<header role="banner" class="header">
<div id="shopify-section-header" class="shopify-section header__wrapper"><div class="header__content">
<nav class="header__nav" role="navigation" aria-label="Main navigation left" id="menu">
<ul>
<li>
<a id="menu-toggle-collections-all" class="header__item " href="/collections/all" data-aside=".aside--menu-0" data-aside-section="/collections/all" aria-haspo… Affected pages/ /account /products/gift-card /cart
Medium
Touch targets are too small
WCAG 2.5.8 (AA)52 instances4 inspected pages
Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.
Why it mattersInteractive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.
Recommended correctionIncrease 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 52 affected elements
Component · Ref YQBZ10
Affected pagehttps://www.sandyliang.info/products/gift-card
Elementli:nth-child(3) > a[href$="shipping-returns"]
Accessible nameShipping and returns
Markup<a href="/pages/shipping-returns">Shipping and returns</a>
Affected pages/ /account /products/gift-card /cart
Component · Ref YFTU9U
Affected pagehttps://www.sandyliang.info/
Elementa[href$="terms-of-use"]
Accessible nameTerms of Use
Markup<a href="/pages/terms-of-use">Terms of Use</a>
Affected pages/ /account /products/gift-card /cart
Component · Ref AKZO8L
Affected pagehttps://www.sandyliang.info/products/gift-card
Elementnav[aria-label="Footer navigation 1"] > ul > li:nth-child(1) > a[href$="contact"]
Accessible nameContact
Markup<a href="/pages/contact">Contact</a>
Affected pages/ /account /products/gift-card /cart
Component · Ref BC0DNO
Affected pagehttps://www.sandyliang.info/products/gift-card
Element#form-toggle-footer
Accessible nameNewsletter
Markup<button class="form__toggle" id="form-toggle-footer" aria-haspopup="true" aria-expanded="false" aria-controls="form-footer" data-toggle="#form-footer" data-toggle-callback...="document.querySelect..." data-toggle-callback...="document.querySelect..." onclick="setTimeout(() => doc...">
Affected pages/ /account /products/gift-card /cart
Low
Text has insufficient colour contrast
WCAG 1.4.3 (AA)1 instance1 inspected page
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
Why it mattersText and background colours do not meet the minimum contrast ratio, reducing legibility.
Recommended correctionIncrease the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.
View 1 affected element
Component · Ref VIV5SB
Affected pagehttps://www.sandyliang.info/cart
Element.cart__text--empty
Accessible nameYour cart is currently empty
Markup<div class="cart__text cart__text--empty " data-empty="">Your cart is currently empty</div>
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 mattersThe page exposes no <h1>, so its topic is not conveyed in the heading structure.
Recommended correctionAdd a single descriptive <h1> that names the page's primary purpose.
View 1 affected element
Component · Ref 037Y6D
Affected pagehttps://www.sandyliang.info/account/login?return_url=%2Faccount
Elementbody#account
Accessible nameSHOP
NEW
BEST SELLERS
CLOTHING
DRESSES
TOPS
SKIRTS
PANTS
KNITS
OUTERWEAR
ALL CLOTHING
SHOES
FLATS
LOW HEELS
HIGH HEELS
BOOTS
ALL SHOES
BAGS
HANDHELD
SHOULDER
CROSSBODY
TOTE
ALL BAGS
JEWELRY
EARRINGS
NECKLACES
BRACELETS
RINGS
ALL JEWELRY
ACCESSORIES
HAIR
SOCKS
CARD HOLDER
ALL ACCESSORIES
BRIDAL
BRIDAL SHOP
VEILS
WEDDING GUEST
MADE TO ORDER
CUSTOM
DRESSING UP: SANDY LIANG
EDITS
UNIFORM
UNISEX
PARTY
SETS
SHOP ALL
SEARCH
Search
GO
…[truncated by Evolize: exceeded D1 value limit]
Markup<body id="account" class="page page--login ">
<div id="shopify-section-announcement" class="shopify-section announcement">
</div>
<header role="banner" class="header">
<div id="shopify-section-header" class="shopify-section header__wrapper"><div class="header__content">
<nav class="header__nav" role="navigation" aria-label="Main navigation left" id="menu">
<ul>
<li>
<a id="menu-toggle-collections-all" class="header__item " href="/collections/all" data-aside=".aside--menu-0" data-aside-section="/collections/all" aria-haspopup="true" aria-ex…