How to fix skip link on Squarespace

Add a valid, matching target ID to every skip-navigation link so keyboard and assistive-technology users can bypass repeated header content and jump directly to the main content area.

Steps for Squarespace

  1. In Squarespace Admin go to Website → Pages → (any page) → Edit → then open Design → Custom CSS for site-wide styles, and Settings → Advanced → Code Injection for site-wide HTML injection.
  2. In the Header Code Injection box (Settings → Advanced → Code Injection → Header), paste: `<a href='#page' class='skip-link'>Skip to main content</a>` followed by the CSS from the code example above.
  3. Squarespace wraps all page content in a `<div id='page'>` element — verify this by inspecting your live page in browser DevTools. If the id differs for your template version, update the href to match.
  4. Add `tabindex='-1'` to the `#page` element: since you cannot directly edit Squarespace's core HTML, use the Code Injection footer to run `document.getElementById('page').setAttribute('tabindex','-1');`
  5. Save and test with Tab → Enter to confirm focus lands inside the main content.
Official Squarespace documentation ↗
<!-- 1. Skip link — place as the very first element inside <body> -->
<a class="skip-link" href="#main-content">Skip to main content</a>

<!-- 2. Target — the opening tag of your main content area -->
<main id="main-content" tabindex="-1">
  <!-- page content here -->
</main>

<!-- 3. Minimum CSS to show the link only on keyboard focus -->
<style>
  .skip-link {
    position: absolute;
    top: -9999px;
    left: 0;
    z-index: 9999;
  }
  .skip-link:focus {
    top: 0;
    padding: 8px 16px;
    background: #000;
    color: #fff;
    text-decoration: none;
  }
</style>

What is skip link?

A "skip link" is a hidden (or visually shown on focus) hyperlink placed at the very top of a webpage that lets keyboard and screen-reader users jump past the navigation menu straight to the main content. It looks like `<a href="#main-content">Skip to main content</a>` and works by pointing to an element with a matching `id`, for example `<main id="main-content">`. The "no skip link target" issue means the skip link exists in your HTML but the element it points to — the `id` it references — is either missing, mismatched, or not present in the page at all, so the link goes nowhere.

Without a working skip link, anyone who navigates your store using only a keyboard (or a screen reader) must tab through every menu item, logo link, search box, and utility icon on every single page before reaching a product listing or article — a frustrating experience that can cause them to abandon your site entirely. This directly affects customers with motor disabilities, visual impairments, and anyone who relies on assistive technology. Under WCAG 2.1 Success Criterion 2.4.1 (Bypass Blocks, Level A — the lowest, most required level), a broken skip link is a conformance failure that can expose your business to accessibility complaints or legal action in jurisdictions that require web accessibility (including the US ADA, UK Equality Act, and EU EAA). Fixing it also signals technical quality to Google's crawlers and improves perceived page experience.

See the complete Skip link guide for every platform and the full background.

Not sure if your Squarespace store has this?

Run a free SEOLZ audit — we’ll find skip link and every other issue across your whole site.

Scan my site free

Fix skip link on another platform