Skip to header Skip to main navigation Skip to main content Skip to footer

Main navigation

  • Home
  • Drupal Theming
  • Web Designer In Austin
  • Drupal Development Portfolio (opens in new tab)
  • Blog
  • Videos
  • Contact
Web Designer In Austin
Designing Drupal, Defining Distinction

Section 508 Theme Audit: The Checklist Buyers Apply

Alaa Haddad, professional Drupal developer based in Austin, TX   Drupal Care
  12:17 AM CDT, Wed September 16, 2026
Share

A Section 508 review asks one question of every finding — who is responsible for fixing it — and a Drupal theme can only answer about half the list, because the rest belongs to your content, your contributed modules and whoever signs the conformance report.

I write and maintain Drupal themes, and I receive this checklist from public-sector buyers and the agencies selling to them. What I can usefully offer is not a compliance claim but the split: how responsibility divides, the eight checks that genuinely sit at the theme layer, and what my own theme measures against each.

What the standards ask of, and what they ask it about

Section 508 of the Rehabilitation Act governs technology bought and used by United States federal agencies, and it reaches suppliers through procurement rather than directly. The refreshed standards incorporate the WCAG success criteria by reference rather than restating them. In European public procurement the equivalent document is EN 301 549, which does the same thing.

The detail that decides this whole conversation: those criteria are written about a delivered web page. Not about a theme, not about a CMS, not about a component. An image needs a text alternative, a video needs captions, a form field needs a programmatically associated label. A theme supplies none of those things — it supplies the frame they arrive in. Which is why no theme, mine included, can be bought as a route to conformance, and why a buyer who asks "is this theme 508 compliant" is asking a question that has no true answer in either direction.

Who owns each failure

Where responsibility sits for the findings that appear most often on a Drupal accessibility audit
The findingWho can actually fix itWhat a theme contributes
Missing or wrong page landmarksThemeAll of it
Broken heading outlineTheme and content authors togetherThe frame; authors supply the rest
Status messages not announcedThemeAll of it
Navigation not keyboard operableThemeAll of it
No visible focus indicatorTheme, plus whoever chose the paletteMost of it
Insufficient text contrastWhoever chose the palette and wrote the contentDefaults only
Images without text alternativesContent authorsNothing
Videos without captionsContent authorsNothing
Form labels and error messagesThe module that built the formStyling only
Untagged PDFs and attachmentsWhoever produced the documentNothing

Print that, and the procurement conversation stops being an argument about a product and becomes a list of owners. Nobody can buy their way out of the rows in the middle.

The eight checks that really are the theme's job

1. Skip links

Solo's html.html.twig emits up to four: skip to header, to main navigation, to main content and to footer, each behind its own setting, and all four are switched on in the shipped defaults. Each one carries the visually-hidden focusable classes, and the theme's skip-link stylesheet makes the link visible and full width on focus. Ask any theme to show you the markup, not the setting.

2. Landmarks

Solo exposes five optional ARIA landmark toggles — for the top, bottom, footer, welcome and highlighted containers — and every one of them defaults to off. That is deliberate. Wrapping every container on a page in a labelled region produces landmark noise that makes navigation worse, not better. A buyer should read "opt-in landmarks" as a considered answer rather than a missing feature.

3. Status messages

The theme overrides status-messages.html.twig and sets, per message type, a role of alert or status, a matching aria-live value, aria-atomic, aria-relevant and an aria-labelledby pointing at a visually hidden heading. The precise gap this closes in Drupal core is measured in what core does with ARIA live regions.

4. Keyboard operation

The menu templates set role="menubar" on the top level and role="menu" on submenus, with aria-orientation, aria-haspopup and aria-expanded maintained alongside, and there is a per-menu setting that switches on a keyboard-navigation behaviour with its own stylesheet. One honest caveat from the author: adopting the menubar role commits a menu to the full arrow-key interaction pattern, and a site navigation that is really a list of links is often better served with no role at all. Test your menu with a keyboard before you attest to this row.

5. Visible focus

This is the check I would run first on any theme, including mine. Measured across the theme's CSS, 21 declarations remove an outline with outline: none or outline: 0, spread over eight stylesheets — one of which is the bundled third-party framework — against several hundred rules that mention :focus. Removing an outline is legitimate only where something visible replaces it. That ratio is not a verdict, it is a reason to tab through your own site on your own palette and look.

6. Contrast

Not answerable by a theme. Solo ships 50 predefined colour schemes as stylesheets, and which one you pick, what you overlay on it and what colour your images are decide whether text passes. Run a contrast check against your actual pages.

7. Heading structure

Partly the theme, partly core, and one specific Drupal behaviour surprises nearly everyone: hidden block titles are not always removed from the markup, which can put an <h2> above your <h1> in the source. That mechanism is covered in what core renders for a hidden block title, and it is a standard audit finding on otherwise careful sites.

8. Reduced motion

prefers-reduced-motion appears in four of the theme's component stylesheets, covering the animated components it ships. Anything you add afterwards is not covered by that and needs its own media query.

Four of those eight are things a theme can be held to. If your build has to pass a review and you would rather have the theme layer done and evidenced than argued about, that is what a Drupal consulting engagement is for.

What a buyer should actually ask for

Not a compliance claim about a theme. Three artefacts about the site:

  • A conformance report for the delivered site, listing the criteria assessed. The widely used format is an Accessibility Conformance Report, commonly produced on the VPAT template.
  • The test method — which pages were tested, with what assistive technology, on what date, by whom. A report that does not say is not evidence.
  • The exceptions, named, with remediation dates. A report with no exceptions at all usually means nobody tested; real sites have findings.

As a supplier, the correct answer to "is your theme compliant" is a short one: the theme handles landmarks, skip links, message semantics and keyboard navigation; conformance is a property of the finished site and I will help you evidence it. That answer wins work with buyers who know the subject, and it is also the only one that is true.

Common questions

Can a theme make my site Section 508 conformant?

No. It can make the frame correct and it can stop introducing problems. Everything in the content layer remains yours, and that is where most real findings are.

We are not a US federal agency. Does any of this apply?

Increasingly the same artefacts are requested in commercial and European procurement, where EN 301 549 plays the same role. Whether it applies to your organisation as a legal obligation is a question for your counsel, not for a theme author.

What does remediation typically cost?

Focus states, heading levels and landmark corrections are usually hours of work. A navigation pattern that has to be rebuilt, or an editorial backlog of images with no text alternatives, is days or weeks — and the second one is not a development problem at all.

Does Solo claim conformance?

No, and it never has on my watch. A theme that advertises guaranteed conformance is telling you something about the rest of its claims.

Where to start

Take the ownership table, put a name against every row for your project, and you will find two or three rows with no owner at all. Those are the rows that fail the audit. Fix the ownership before you fix the markup.

If you have a review coming and want the theme-layer rows evidenced rather than asserted — with the test method written down so it survives a procurement question — send me the site and I will tell you which rows are already fine before you commission anything.

Drupal Theme

Footer menu

  • About
  • Privacy Policy
  • Terms & Conditions
  • Flash Web Center, LLC (opens in new tab)
  • Drupal Care (opens in new tab)
  • Log in
  • Contact

Copyright © 2026 Flash Web Center, LLC | All rights reserved

Developed & Designed by Alaa Haddad