What should a Shopify store do when a third-party app widget keeps failing accessibility scans?
Third-party widgets are the most common source of repeat scan failures, and you cannot fix someone else's code. Document the failure, pressure the vendor with evidence, and contain the widget so one app cannot sink your conformance.
You cannot fix code you do not own
Every Shopify store runs on apps it did not write: review widgets, chat bubbles, upsell drawers, loyalty popups, size guides. These widgets inject their own markup, their own scripts, and their own accessibility problems into pages the store otherwise keeps clean. When the scanner flags the same widget three weeks in a row, the instinct is to keep filing tickets against your own theme. Stop. The theme is not the problem.
The first step is attribution, not remediation. Confirm the failing elements actually belong to the widget: check the DOM for the app's container, disable the app in a staging theme and re-scan, or block the widget's script and watch the failures disappear. This takes an hour and it changes the conversation from "our site has issues" to "this vendor's widget has issues," which is a much stronger position.
Once attribution is confirmed, resist the urge to patch around the widget with custom JavaScript. Overlay-style fixes are brittle, they break when the vendor updates, and they create a maintenance burden that outlives the widget. Fix the boundary instead.
Contain the widget before you complain about it
While the vendor takes its time, limit the damage. If the widget is non-essential on certain templates, remove it there. A review widget that fails scans does not need to load on the cart page. If the widget must stay, wrap it in a landmark region with an accessible name so assistive technology users at least encounter it as a coherent unit instead of a pile of unnamed buttons.
Check whether the widget offers an accessibility or reduced-motion setting. Many do, buried three menus deep, and enabling it clears half the findings. Check whether a lighter version of the widget exists: several major app vendors ship a "lite" embed specifically because the full widget kept failing enterprise accessibility reviews.
Document every containment step. If a demand letter cites the widget's failures, the store wants to show it identified the source, limited exposure, and pursued the vendor, not that it watched the same alert fire for six months.
Pressure the vendor with evidence, not adjectives
"Your widget is not accessible" gets a form response. A ticket with the specific failing success criteria, the affected pages, screenshots from a screen reader, and the scan reports attached gets escalated. Vendors triage by evidence quality because their own enterprise customers send the same kind of tickets.
Name the business stakes plainly: the widget is blocking the store's accessibility program, it is generating repeat findings in compliance reports, and the store is evaluating alternatives. This is not a threat, it is procurement reality, and vendor support teams are measured on retention. A well-documented accessibility ticket from a paying customer moves.
Set a deadline and mean it. Give the vendor one quarter to ship fixes for the critical findings, with the scan reports as the acceptance criteria. Calendar the follow-up scan. If the deadline passes with no movement, the conversation changes from support ticket to contract decision.
When to replace the widget
Some widgets never get fixed because accessibility is not on the vendor's roadmap. At that point the math is simple: the widget's conversion lift versus the cost of carrying its failures indefinitely, including the demand letter risk it creates. Most stores overestimate the first and underestimate the second.
Before replacing, check the app store for alternatives with published accessibility statements or VPATs. They exist in every major widget category now, and switching is often less painful than another year of repeat findings. When you migrate, keep the old scan reports. They are the record of why the switch happened, and they close the loop on every alert the old widget ever generated.
Frequently asked questions
What should a store do first when a widget keeps failing scans?
Document the failure precisely: the widget, the pages, the barrier, and the shopper impact, with the scan evidence dated. That record is the basis for the vendor conversation and for any later question about what the store knew and when.
Can a store fix a third party widgets code?
No, and it should not try to patch around it with hacks that the next vendor update will erase. The stores levers are configuration, vendor pressure with evidence, and replacement. Use them in that order.
What belongs in the message to the vendor?
The exact barrier, the assistive technology or check that found it, the pages affected, and the date. Vendors prioritise reproducible findings from named customers. Vague complaints join a queue that rarely moves.
When should a failing widget be replaced?
When the barrier sits on a key journey, the vendor cannot give a fix date, and a compliant alternative exists. Accessibility is a legitimate switching criterion, and vendors learn it fastest when it visibly costs them a customer.