Jun & Co.Shopify · Klaviyo · ADA accessibility
If you want to know before a letter tells you

What accessibility claims against Shopify stores actually point to.

The same handful of failures, over and over. Here they are, why Shopify themes have them, and how to check yours tonight.

September 2026 · 6 minute read · Not legal advice. Talk to a lawyer about the letter. We handle the store.

The short list

Read a hundred demand letters and the same items come up, because they are found by scanning and scanning finds what it can count. In rough order of frequency:

  1. Images with no alt text. Every product photo, every banner. The failure named most often.
  2. Links with no accessible name. Color and metal swatches, image links, “read more,” social icons. To a screen reader each one is the word “link” and nothing else.
  3. Buttons with no accessible name. The cart icon, the search icon, the hamburger menu, close buttons on pop-ups.
  4. Form fields with no label. Search boxes, newsletter signups, quantity fields.
  5. Low color contrast. Grey text on white, and any text laid over a photo.
  6. Keyboard traps and invisible focus. A menu or cart drawer you can tab into and not out of, or a focus ring the theme turned off.
  7. No skip link, no page landmarks. A keyboard user has to tab through the whole header on every page.
  8. Controls too small to tap. Swatches and icons under 24 pixels.
  9. No accessibility statement. Not a failure of the code, but its absence is noticed.

Why Shopify themes have them

Not because Shopify is bad at this. The major themes ship in decent shape. The failures arrive afterward, from three places.

  • Customization. Swatches, badges, custom sections, and the “quick add” button someone added from a tutorial. Each one is a chance to make a control with no name.
  • Apps. Reviews, wishlists, pop-ups, chat widgets, and size guides inject their own code, and their own failures, into every page.
  • Content. Nobody writes alt text for 2,000 product images on a Tuesday. So the field stays blank, or gets the file name.

Whose code is it? On most Shopify plans the checkout is Shopify’s code and you cannot change it. Everything before checkout is yours: theme, sections, apps, content. A claim will name both. Your lawyer needs to know which is which, and an audit tells them.

Our adviceEmail every app vendor you pay and ask for their accessibility statement. The ones who answer in a day are usually fine. The silence tells you which app to test first.

How to check tonight

  1. Run the free check. Paste your store address and get the thirteen automated checks with counts. It takes about a minute.
  2. Put down the mouse. On a product page, press Tab repeatedly. Can you see where you are? Can you reach the add-to-cart button, open the cart, and get out again?
  3. Turn on the screen reader on your phone. VoiceOver on iPhone, TalkBack on Android. Open a collection page and swipe through the products. Listen for the word “link” with nothing after it.
  4. Zoom to 200 percent. Does anything overlap, disappear, or stop working?
  5. Open five product images and read their alt text. In the Shopify admin, each image has a field for it. Blank means blank.

Our adviceDo the phone test on your best-selling product page and its collection, not the home page. Those are the pages a claim is most likely to name, because that is where the scanners go too. And test with the cart drawer open; that is where keyboard traps live.

If the first two find problems, the automated check will too, and you have a list. If they find nothing, you are ahead of most stores, and the rest is the manual work an audit covers.

What fixes them

Names for every link and button, in the theme templates. Labels for every field. Alt text for every image, written once and uploaded in bulk. A contrast pass on text over photos. A skip link and landmarks, which are small edits. Then a re-test, by keyboard and screen reader, and a statement page that says what was done and how to report a problem. Never an overlay widget: they do not change the code a claim points to.

Our adviceFix the product-card template first. It repeats on every collection page, so one edit closes hundreds of findings at once. On the store in our first case study, one line in that template took 490 unnamed links to zero.

Want the list for your store?

Run the free check