European Accessibility Act

EAA compliance for Webflow: WCAG 2.1 AA checklist & fixes

Webflow gives designers exact control over markup, which is both a blessing and a curse for accessibility. Most Webflow accessibility failures come from custom interactions (lightboxes, accordions, mega menus) that do not implement keyboard and ARIA support. The good news: every fix is doable inside the Designer, no code export required. Used by 200K+ design-led agencies and SMBs; many EAA-affected B2C sites are on Webflow.

Category
Website builder
Standard
WCAG 2.1 Level AA via EN 301 549
Deadline
28 June 2025 (EU consumer services)
Risk for B2C
High — public-facing, consumer-billed

What the EAA actually requires from a Webflow site

Webflow gives designers pixel-level control over the exported HTML, so under the EAA the accessibility burden falls entirely on how the Designer canvas was assembled rather than on any platform default. EN 301 549 conformance on Webflow depends on custom Interactions (tabs, accordions, mega menus, lightboxes) implementing real keyboard and ARIA support, on heading elements being used for document structure instead of visual size, and on per-image alt text actually being filled in. Because Webflow can produce inaccessible markup just as easily as accessible markup, the requirement is essentially disciplined authoring inside the Designer.

Webflow sites are overwhelmingly agency-built marketing and brochure sites for SMBs and startups, so the in-scope cases are consumer-facing services and any storefront using Webflow Ecommerce. These clients are usually small enough that the headline penalty they face is a fixed national fine rather than a turnover-percentage penalty, but the reputational damage of an agency shipping an inaccessible site is often the bigger motivator. Where a Webflow site is purely B2B SaaS marketing, scope is lighter until the later EAA transition, which changes the urgency of the fix.

Nearly every Webflow fix is done inside the Designer by the same designer or agency that built the site, with no code export required. The core work is switching clickable div triggers to real button elements, enabling key-press triggers on Interactions, correcting the heading hierarchy, and filling alt text, with occasional custom embed scripts to patch lightbox semantics. This is usually a fraction of a day per page, and the right workflow is to publish to a staging subdomain, scan there, then push to production.

Top WCAG failures we see on Webflow sites

Across hundreds of Webflow scans, the same handful of issues show up over and over. None of them require ripping the theme apart — most are fixable in a few hours by someone comfortable in the platform's editor or template files.

  • Custom Interactions break keyboard support

    Designer-built tabs, accordions, and dropdowns rely on click triggers and skip Enter/Space. Without "trigger on key press" or custom JS, keyboard users cannot operate them.

    2.1.1 Keyboard — Level A
  • Headings used for visual size, not document outline

    Designers often reach for H2/H3 for their default size, leaving pages with multiple H1s or skipped levels.

    1.3.1 Info and Relationships, 2.4.6 Headings and Labels — Level A/AA
  • Image-only buttons and link-only icons

    Webflow exposes alt text per image; designers regularly leave it blank or set it to the filename.

    1.1.1 Non-text Content — Level A
  • Lightbox component is mouse-driven

    Webflow's built-in lightbox does not consistently restore focus on close and lacks role="dialog" semantics.

    2.4.3 Focus Order, 4.1.2 — Level A

Concrete code fixes for Webflow

Below are copy-paste fixes for the most common Webflow issues. They assume you have access to your theme code or the platform's custom-code injection panel. If you cannot edit code directly, share these snippets with whoever maintains the site — every one of them is a ten-minute change.

Designer: enable "Trigger on key press" for tabs, accordions, dropdowns

// Settings → Interactions → Trigger:
//   Mouse click  → also add Key press (Enter, Space)
// Settings → Element → Tag:
//   Set the trigger to <button> not <div>.

A clickable <div> is invisible to keyboard users. Switching the trigger element to <button> gives free keyboard and ARIA defaults.

Embed code: improve lightbox semantics

HTML
<script>
document.querySelectorAll('.w-lightbox').forEach(lb => {
  lb.setAttribute('role', 'button');
  lb.setAttribute('aria-haspopup', 'dialog');
});
</script>

Use a custom embed before </body> to give the lightbox triggers proper semantics until Webflow ships native ARIA.

Tools and plugins worth installing first

  • Webflow Audit panel (built-in) flags missing alt text and heading order

  • Memberstack and other auth plugins need separate review for forms and modals

  • Certvo public scan crawls the live URL and reports per-section regressions

How to scan a Webflow site without missing anything

Automated scanners catch about 30–40% of WCAG issues; the rest need manual review. The good news is that the 30–40% includes the most expensive issues to remediate after the fact, so an automated scan is the cheapest way to get unstuck. Run one before you change a line of theme code.

  • Publish to a staging subdomain, scan there, then push to production after fixes.

  • Test interactions with the keyboard alone (Tab, Enter, Esc, Arrows) before relying on automated scans.

Run a free public scan against any Webflow URL right now — no signup, results in 60 seconds.

Frequently asked questions

Is a Webflow site automatically WCAG compliant?

No. Webflow ships an accessibility-friendly framework but the burden is still on the designer to set headings, alt text, focus states, and keyboard interactions correctly.

How does Webflow compare to Shopify or WordPress for accessibility?

Webflow gives you more direct control over HTML, which makes it easier to fix issues — but it also lets you produce inaccessible markup faster. Discipline in the Designer matters more than the platform choice.

Other website builder platforms

Find every accessibility issue on your site in 60 seconds.

Free public scan. No card. AI-generated fixes for every issue we find.