FREE GUIDE

Drupal Accessibility Check

Drupal is an industry leader in web accessibility — but custom themes, contributed modules, and content-team overrides can quietly undo those foundations. Verify yours in seconds.

Run a Free Scan on drupal.org How It Works 16 checks · No signup · Results in seconds

Why Drupal accessibility matters in the EU

The European Accessibility Act (EAA) applies to e-commerce and consumer-facing services across the EU. If your Drupal site serves EU customers, WCAG 2.1 AA compliance is expected — and enterprise partners increasingly require documented proof before signing contracts.

Drupal has led the CMS space on accessibility for years. The Olivero default front-end theme and the Claro administration theme both ship WCAG 2.1 AA-compliant out of the box. Drupal core includes a formal accessibility policy, the CKEditor Accessibility Checker module for real-time editor feedback, and an Announce API that lets themes and modules broadcast live-region updates to assistive technology. Twig templates carry semantic landmark elements by default, and Views rendering inherits core heading and list semantics — unless a custom display override strips them out.

Despite this strong foundation, the most common accessibility failures on Drupal sites come from a handful of repeating issues: missing alt text on media-library images, low-contrast colour choices in custom themes, generic link text like "Read more" generated by Views, empty form labels in contributed modules, missing page language attributes on multilingual sites, and heading structures that collapse because a content editor chose the wrong text-formatting option. Every one of these is detectable automatically — that is exactly what our scanner checks.

🔍 What gets checked

16 automated rules covering images, links, forms, headings, language, viewport, contrast, ARIA misuse, and more — mapped to real WCAG success criteria.

⚡ Instant results

Paste your URL, get a letter grade with every issue listed by severity. No account, no email, no waiting for an audit report.

🛡️ Built for the EAA

The rule set targets what EU enforcement and enterprise procurement actually look at: WCAG 2.1 AA basics you can document today.

How to check your Drupal site

  1. Open the free EAA/WCAG scanner.
  2. Paste your Drupal URL — any published page: home, a product page, or a content page.
  3. Read your grade. Each finding shows the exact element and why it matters, so fixes are concrete, not vague advice.
  4. Fix and re-scan. In Drupal, most image-alt and contrast issues are fixed right in the content editor or theme settings. Re-run the scan to confirm.
  5. Copy the shareable link from the result page — useful when a client or colleague needs to see the findings.
Scan Your Drupal Site Now — Free

Common fixes in Drupal

When your scan flags a failing rule, here is where to fix it in your Drupal admin:

IssueWhere to fix in Drupal
Missing alt textContent → [content item] → edit → image field → Alt text. For media library images, set alt text in Media → [image] → Edit.
Low contrast textAppearance → Settings → [your theme] → Color scheme. Or edit the theme's CSS: check foreground/background colour pairs.
Missing heading structureIn CKEditor, use the Format dropdown to apply H2, H3. Only one H1 per page (usually the page title). Enable the CKEditor Accessibility Checker module for real-time help.
Empty form labelsStructure → Block layout → block → configure → ensure labels are visible. In custom forms, check the form element's title/placeholder settings.
Generic link textEdit the content → select the link → edit link → update link text to be descriptive. Replace "Read more" with "Read our privacy policy".
Missing page languageConfiguration → Regional and language → Languages — set site default. For individual nodes, check the Language field in the node edit form.

Drupal-specific modules & tools

Beyond the built-in accessibility features, the Drupal ecosystem offers a range of contributed modules and tools that help you bridge the gap between automated scanning and full WCAG 2.1 AA compliance. These are especially useful for content teams who may not have dedicated accessibility training.

Editoria11y

Editoria11y (Editorial Accessibility Ally) is a contributed module that runs lightweight accessibility checks directly inside the Drupal editing interface. It flags issues like missing alt text, empty links, unclear heading order, and potential colour-contrast problems before content is published. Because it works inline rather than on a separate scan page, it catches problems during the editorial workflow — exactly when they are cheapest to fix.

Automatic Alternative Text

The Automatic Alternative Text module leverages AI (via image-recognition APIs such as Google Cloud Vision or Azure Computer Vision) to auto-generate alt text for images uploaded through the media library. While machine-generated alt text should always be reviewed by a human, this module eliminates the most common accessibility failure — images with no alt text at all — and is a strong safety net for content teams editing at scale.

High Contrast

The High Contrast module provides a user-facing toggle that applies a high-contrast stylesheet to the front end. It does not fix underlying colour-contrast violations, but it gives users with low vision a fallback when your theme's default palette does not meet WCAG 2.1 contrast ratios. Pair it with a proper audit of your theme's colour tokens for the best results.

Block Aria Landmark Roles

The Block Aria Landmark Roles module allows site builders to assign explicit ARIA landmark roles (banner, navigation, main, complementary, contentinfo) to Drupal block regions. While Olivero and Claro already ship semantic landmarks, custom themes and layout-builder overrides often lose them. This module restores proper region semantics that screen readers depend on for efficient page navigation.

CKEditor 5 Accessibility Checker

Built into CKEditor 5 for Drupal, the Accessibility Checker plugin scans content as the editor types. It flags missing heading structure, empty table headers, insufficient colour contrast inside the editor, and missing link text. For content teams, this is the single most effective tool for catching issues before they reach production.

Olivero as a compliance starting point

The Olivero default front-end theme is not just a design refresh — it was built from the ground up to meet WCAG 2.1 AA standards, with proper focus styles, semantic landmarks, consistent contrast ratios, and keyboard-navigable navigation. If you are building a new Drupal site or re-skinning an existing one, starting from Olivero and customising responsibly (keeping contrast ratios intact, preserving focus indicators, maintaining semantic HTML in Twig overrides) gives you a running start toward compliance.

Maintaining EAA compliance on Drupal

A single scan is a snapshot. Maintaining WCAG 2.1 AA compliance over the life of a Drupal site requires ongoing attention — especially as contributed modules, custom themes, and content all evolve independently. Here is a practical maintenance framework for Drupal teams.

Module update reviews

Every contributed module update can change the HTML markup, ARIA attributes, or styling that the module's templates produce. Before applying a major release, diff the updated module's Twig templates and library CSS against the previous version — look for removed landmark roles, altered heading levels, or inline styles that override accessible defaults. The CKEditor Accessibility Checker module and Editoria11y are especially sensitive to version bumps that change their configuration schemas.

Custom theme audits

Custom Drupal themes are the single biggest source of accessibility regressions. Schedule quarterly audits that check: focus indicator visibility (never set outline: none without a visible replacement), colour contrast ratios in every colour token, semantic landmark elements in the page.html.twig override, heading hierarchy in region templates, and ARIA labelling on navigation blocks. The High Contrast module is useful here for quickly testing extreme colour combinations during an audit.

Content team governance

Most ongoing accessibility issues come from content, not code. Establish a simple content governance policy: every image uploaded must have alt text (use the Automatic Alternative Text module as a fallback), every link text must be descriptive (ban "click here" and "read more"), and every page must start with a single H1 and proceed through H2-H6 without skipping levels. Enable Editoria11y or the CKEditor 5 Accessibility Checker on all editorial roles so writers see violations before they save.

Accessibility regression testing

Integrate automated accessibility checks into your CI/CD pipeline. Tools like axe-core (the engine behind this scan) can be run headlessly against your staging environment on every deployment. A simple GitHub Actions or GitLab CI step that runs axe --exit --tags wcag2aa against a set of representative pages catches regressions before they go live. Combine with periodic full-page scans using this tool before quarterly stakeholder reviews.

Go deeper

Automated scanning catches roughly a third of accessibility issues — but it catches the ones that are cheapest to fix first. When you want the full picture, our e-book covers the complete checklist plus a 14-day fix plan tailored for Drupal sites. For more platform-specific coverage, check out our compliance guides on WooCommerce, Shopify, Magento, and WordPress.

For the Drupal community specifically, the Drupal Accessibility Group maintains ongoing discussions on core improvements, contributed module audits, and best-practice patterns. The Drupal.org issue queue tagged "Accessibility" is a valuable resource for tracking known issues in contributed modules you may rely on. Pair community resources with automated scanning, and you have a solid, repeatable compliance workflow.

Free Statement Generator All Compliance Guides Free WordPress Plugin Free Scanner