Which WCAG criterion this fails
- Does not meet 1.3.1 Info and Relationships (Level A)
- Does not meet 2.4.6 Headings and Labels (Level AA)
How to fix it on Shopify
Everything below is done from Online Store > Themes > Edit code. Take a copy of the theme before editing.
- Product pages: the product title should be the <h1> — check sections/main-product.liquid or snippets/product-title.liquid.
- Collection pages: the collection title, in sections/main-collection-banner.liquid.
- Homepage: the hero headline. If the design shows the logo instead, make the logo's wrapper an <h1> containing the logo image with the store name as its alt text.
- Exactly one h1 per page. If the theme also puts an h1 on the logo in the header on every page, downgrade that one to a <div> on non-home pages — Dawn already does this with an {% if request.page_type == 'index' %} check.
Where this usually lives
sections/main-product.liquid, sections/main-collection-banner.liquid, sections/header.liquid (logo), sections/image-banner.liquid
Paths given for Dawn and its derivatives (Sense, Craft, Refresh, Studio). A heavily customised theme may differ; the CSS selector in your scan report points at the exact element.
Code
{%- if request.page_type == 'index' -%}
<h1 class="header__heading">{{ shop.name }}</h1>
{%- else -%}
<div class="header__heading">{{ shop.name }}</div>
{%- endif -%}How to confirm it is fixed
Re-run the scan. This rule should drop out of the findings entirely. If the instance count falls but does not reach zero, the same defect exists in another template — product cards and quick-view modals are the usual second home for it.
Effort: low. Rule id: page-has-heading-one (axe-core).