The widget loads.
The script tag loads async after your content. Automated fixes are a plugin inside it, switched on per site in Settings.
Cookies on Accessora
We'd like to use Google Analytics cookies to see which pages help people. Nothing is set unless you accept. Cookie policy
Unlabeled buttons, empty links, skipped heading levels and missing landmarks get repaired in the visitor's browser on every page load. Nothing is written back to your theme.
7-day free trial on every plan. One script tag, or the Shopify app.A mock storefront with four red markers that turn green one by one as the cart button gets a name, the image link gets a label, the email field gets a label and the page language gets set.

Most rows map to an axe-core rule, so a fix here is usually a row that disappears from your next audit.
| Problem | WCAG | What the fix does |
|---|---|---|
| Names and labels | ||
| Buttons and controls without a name | 4.1.2 A | Adds an aria-label built from the icon, image or surrounding text. |
| Links with no text | 2.4.4 A | Labels the link from its icon, image or destination. |
| Form fields without a label | 4.1.2 A | Connects the field to a nearby label, or names it from its placeholder. |
| Images without alt text | 1.1.1 A | Uses the image's title or aria-label if it has one, otherwise marks it decorative. Descriptions come from AI alt text. |
| Frames without a title | 4.1.2 A | Adds a title from the frame's name or address. |
| Clickable elements that are not buttons | 2.1.1 A | Adds role=button and makes them reachable with the keyboard. |
| Structure | ||
| Skipped heading levels | Best practice | Inserts hidden placeholder headings so the outline is continuous. |
| Empty headings | Best practice | Takes them out of the outline so nothing is announced as a blank heading. |
| Missing landmarks | Best practice | Adds main, navigation, banner and contentinfo roles to the matching regions. |
| Two landmarks with the same name | Best practice | Gives each one a label of its own. |
| Skip link that points nowhere | Best practice | Adds the missing target id to the main content. |
| Missing page title or language | 2.4.2 A, 3.1.1 A | Sets lang on the html element and a title from the page's own heading. |
| Duplicate ids | 4.1.2 A | Renames later duplicates and updates the labels that point at them. |
| Lists and tables without semantics | 1.3.1 A | Restores list roles and adds scope to table headers. |
| ARIA hygiene | ||
| Roles not allowed on the element | Best practice | Removes the invalid role. |
| Labels on elements that cannot carry them | 4.1.2 A | Removes aria-label from generic elements, where it is ignored anyway. |
| Roles missing a required attribute | 4.1.2 A | Adds the attribute with a safe default, such as aria-checked set to false. |
| Conflicting ARIA | 4.1.2 A | Clears leftover ARIA that contradicts the element it is on. |
| Invalid autocomplete values | 1.3.5 AA | Replaces made-up values with off and drops tokens that are not in the spec. |
| Visual and mobile | ||
| Zoom disabled on mobile | 1.4.4 AA | Removes user-scalable=no and maximum-scale from the viewport meta tag. |
| Low text contrast (opt-in) | 1.4.3 AA | Nudges the text color until it meets AA, keeping the hue. Off by default because it changes how text looks. |
The page arrives as your platform serves it, and the fixes are applied on top, in the visitor's browser.
The script tag loads async after your content. Automated fixes are a plugin inside it, switched on per site in Settings.
They run in a fixed order, from roles and landmarks down to form labels, so each one works on the result of the one before.
Most fixes are an attribute or a hidden element added to the page in the visitor's browser. A theme update cannot undo it, because it runs again on the next load. Content that loads later is picked up by an observer, with a short delay.
Some of accessibility is judgment, and a script should not guess. The audit tells you what is left after the fixes run.
With fixes on, each scan waits for them to run before axe-core checks the page. What is left in the list is yours to handle.
The Audit results screen: a score of 84, four stat tiles, and an issue list where the first issue is expanded to show the WCAG criterion and the affected element.
The image resolver can only mark an image decorative. A real description comes from AI alt text, which drafts one per image and serves it wherever that image appears.
Run the audit again after the fixes are on. The rows that disappeared are done; the rows that stay need a person. See how audits work.
Every plan starts with a 7-day free trial. Compare plans.
No. Each fix happens in the visitor's browser after the widget loads. Switch fixes off and the next page load is back to your original markup.
Yes. Automated fixes have their own switch per site in Settings. Color contrast correction has a second switch and starts off, because it changes how your text looks.
No. A fix changes what assistive tech gets on that page, and the audit stops flagging it. Compliance covers the whole site and its content, so keep auditing and handle the items that need a person.
Fixes only run where the script tag loads. Install it site-wide, and check the Installation tab if a page does not show the launcher.
Start a free trial, add the script tag, and the widget shows up on your next page load. Cancel any time during the trial.