WordPress ADA Compliance: A Practical Guide
Practical guide to ADA compliance for WordPress websites with a clear audit process, priority fixes, plugin guidance, testing steps and an ongoing maintenance checklist. Includes code snippets, common mistakes and a template for an accessibility statement.
Making ADA compliance for WordPress websites real means more than installing a plugin. This guide gives clear steps you can use right away: how to audit your site, the WCAG checkpoints to hit, common mistakes, plugin choices, and a maintenance checklist.
What “ADA compliance” means for a WordPress site
ADA is a U.S. civil-rights law about access. It does not publish a technical checklist. Instead, organisations and courts usually rely on the Web Content Accessibility Guidelines, most commonly WCAG 2.1 at level AA, as the technical reference. For sites outside the U.S., similar laws apply, for example the Equality Act in the UK and the European Accessibility Act. Practically, meeting WCAG 2.1 AA gives you the most accepted defence when someone asks about accessibility.
Quick WCAG 2.1 AA primer
WCAG is organised around four principles: perceivable, operable, understandable, and robust. The level AA requirements include concrete items such as text contrast ratios, meaningful alt text, keyboard operability, and labelled form controls. Use this as the working standard for your WordPress site.
How to audit a WordPress site: a step-by-step checklist
Run this audit in order. The initial automated pass finds easy wins. The manual checks find real user problems.
1. Automated sweep (30–60 minutes)
- Run a crawler tool such as Axe DevTools, Lighthouse, or WAVE against the homepage and a few templates: homepage, article, product, contact page, and a form page.
- Export results and sort by severity. Note repeated issues such as missing alt text or contrast failures.
2. Theme and plugin review (30 minutes)
- Check theme accessibility claims and look for an accessibility-ready tag in the theme details.
- Identify plugins that render content: page builders, sliders, form builders, and e-commerce. These often introduce inaccessible markup.
3. Manual checks (1–2 hours)
- Keyboard test: navigate the site using Tab, Shift+Tab, Enter and Space. Ensure focus is visible and all interactive elements are reachable.
- Screen reader spot check: test a few pages with NVDA on Windows or VoiceOver on macOS/iOS. Confirm headings make sense and form labels are announced.
- Colour contrast: measure text and UI contrast for normal text and large text. Focus states must be visible.
- Forms: ensure every input has an associated <label> or aria-label and that validation messages are programmatically associated.
Prioritised fixes for WordPress (what to do first)
Critical (high priority)
- Images: add meaningful alt attributes or aria-hidden=“true” for decorative images.
- Keyboard access: ensure menus, modals and custom controls are keyboard operable and have visible focus styles.
- Form controls: add explicit <label> elements or aria-label attributes. Associate error text with aria-describedby.
- Headings: use semantic heading order (h1, h2, h3) for page structure. Do not rely on styling alone.
Medium priority
- Colour contrast fixes for failing text and UI elements.
- Skip links: add a skip-to-content link for keyboard users.
- Link text: avoid vague link text like “click here”; make link text descriptive.
Lower priority but important
- Semantic HTML: prefer <button> for clickable controls rather than <div> or <span> with JavaScript handlers.
- ARIA: use ARIA only to enhance semantics not to replace correct HTML.
Small code examples you can paste into a theme
Skip link example (place near the top of <body>):
<a href=“#main-content” class=“skip-link”>Skip to main content</a>
Main content anchor:
<main id=“main-content”>…</main>
Image with decorative role:
<img src=“photo.jpg” alt=“” aria-hidden=“true”>
Accessible form input:
<label for=“email”>Email address</label> <input id=“email” name=“email” type=“email” > <span id=“email-error”>Enter a valid email</span> <script> /* associate error programmatically if needed */ </script>
Plugin and theme choices: what helps and what does not
Plugins can speed up fixes but do not replace manual work.
- Accessibility helper plugins add features such as skip links, landmark roles, and focus outlines. They can fix common markup gaps.
- Audit your page-builder output. Blocks from page builders often inject non-semantic markup. Test templates created with the builder and adjust templates or the builder settings.
- Be cautious with overlay or widget-based “accessibility assistants.” They may offer user controls but cannot fix underlying markup and can create new barriers.
Common mistakes and how to avoid them
These are the traps that cause complaints and lawsuits.
- Relying only on an accessibility plugin or overlay. Those tools help some users but do not meet WCAG requirements by themselves.
- Fixing a single page only. Accessibility must apply to templates and dynamic content such as search results and ecommerce checkout pages.
- Ignoring keyboard users. If interactive widgets only work with a mouse, they are not accessible.
- Using ARIA to compensate for bad HTML. Add ARIA only when the native element cannot provide the necessary semantics.
Testing with assistive technology
Automated tools catch about half of issues at best. Manual tests with real assistive tech are essential.
- NVDA (Windows) and VoiceOver (macOS and iOS) are common screen readers to test with.
- Keyboard-only tests and switch to high-contrast mode reveal other problems.
- Test on a range of devices and viewports because responsive breakpoints can break focus order and controls.
Accessibility statement and user feedback
Publish a short accessibility statement that says which standard you follow and offers a way to report issues. Keep it factual and editable. A simple template contains:
- Standard followed, for example WCAG 2.1 level AA.
- Pages tested and the date of the last test.
- Contact method for accessibility problems and an expected time to respond.
Ongoing maintenance checklist
- Include accessibility in release checklists for content and code.
- Run automated scans monthly and a full manual review quarterly.
- Train editors to add alt text and use heading styles correctly.
- Retest after changing themes, page builders, or major plugins.
When to hire an accessibility specialist or lawyer
If your site supports critical services or handles many customers, get a specialist to perform a conformance review and a remediation plan. If you receive a legal notice, consult a lawyer experienced in digital accessibility law in your jurisdiction.
Final practical steps you can do today
- Run a Lighthouse or WAVE report on your homepage and save the results.
- Add a visible skip link and ensure keyboard focus is visible across the site.
- Check 10 top images for alt text and add meaningful descriptions where needed.
- Publish a short accessibility statement with a contact method.
Follow the audit and fixes above and you will reduce risk and improve usability for all visitors. Treat accessibility as part of site quality, not a one-off task.