How to fix landmark main is top level on Shopify

Move the `<main>` element (or `role="main"`) so it is a direct child of `<body>` and not nested inside any other landmark element such as `<header>`, `<nav>`, `<aside>`, or `<footer>`.

Steps for Shopify

  1. In your Shopify Admin, go to Online Store → Themes → your active theme → Actions → Edit code.
  2. Open the file `layout/theme.liquid` — this is the master page shell that wraps every page.
  3. Look for the `<main>` tag or an element like `<div role="main">`. Check whether it is nested inside a `<header>`, `<nav>`, or other landmark element.
  4. If so, cut the opening and closing `<main>` tags (and their `role` attribute if present) out of the wrapping landmark and paste them so `<main>` is a direct sibling of `<header>` and `<footer>`, all children of `<body>`.
  5. Save the file and preview the theme. Re-run axe DevTools or WAVE on your storefront to confirm the violation is gone.
Official Shopify documentation ↗
<!-- ✅ CORRECT: <main> is a top-level sibling of other landmarks -->
<body>
  <header>…site logo and branding…</header>
  <nav>…navigation links…</nav>
  <main>
    …unique page content…
  </main>
  <footer>…footer links…</footer>
</body>

<!-- ❌ INCORRECT: <main> is nested inside <header> -->
<body>
  <header>
    …site logo and branding…
    <main>   <!-- wrong! <main> must not live inside <header> -->
      …page content…
    </main>
  </header>
  <footer>…</footer>
</body>

What is landmark main is top level?

Every webpage should have one clearly defined "main content" region that screen readers and other assistive technologies can jump to directly. In HTML this is the `<main>` element (or any element marked with `role="main"`). The WCAG rule "landmark-main-is-top-level" means that this main region must sit at the top level of the page structure — as a direct child of `<body>` — and must not be wrapped inside another landmark region like `<header>`, `<nav>`, `<aside>`, or `<footer>`. Nesting `<main>` inside another landmark confuses the accessibility tree and breaks the expected page hierarchy that assistive technologies rely on.

Screen reader users — including many people with visual impairments — use keyboard shortcuts to skip straight to the main content of a page, bypassing repetitive navigation menus. When `<main>` is incorrectly nested inside another landmark, that shortcut either fails silently or lands the user in the wrong place, forcing them to tab through every menu item on every page visit. This is a WCAG 2.1 / 2.2 failure (Best Practice, closely tied to Success Criterion 1.3.6 and the bypass-blocks requirement at 2.4.1), which creates legal accessibility risk under ADA Title III in the US, the European Accessibility Act, and similar laws globally. Beyond legal exposure, poor accessibility reduces your potential customer base and signals poor technical quality to search engines that increasingly factor accessibility into crawl quality.

See the complete Landmark main is top level guide for every platform and the full background.

Not sure if your Shopify store has this?

Run a free SEOLZ audit — we’ll find landmark main is top level and every other issue across your whole site.

Scan my site free

Fix landmark main is top level on another platform