Blog

WordPress Accessibility: The Complete WCAG Compliance Guide

TestParty
TestParty
January 23, 2026

WordPress powers approximately 40% of all websites, making it the most common platform for ADA accessibility lawsuits by pure volume. While WordPress core is built with accessibility in mind—the platform's coding standards require WCAG 2.0 AA compliance for new features—most accessibility failures stem from themes, plugins, and content management decisions that site owners control. Every visually stunning theme that lacks keyboard navigation, every popup plugin that traps focus, and every image uploaded without alt text becomes potential lawsuit evidence.

According to Seyfarth Shaw's 2024 Year-End Report, 8,800 ADA Title III lawsuits were filed in federal courts that year. Given WordPress's market dominance, a significant portion of these target WordPress sites. WebAIM's 2024 Million analysis found 95.9% of homepages have detectable WCAG failures—and WordPress sites contribute heavily to this statistic through theme choices and content practices.

The solution isn't avoiding WordPress but using it correctly. WordPress has an active accessibility team, provides an "accessibility-ready" theme designation, and offers tools to build genuinely accessible sites. This guide covers how to select accessible themes, audit plugins, train content creators, and maintain ongoing compliance.


Key Takeaways

WordPress accessibility depends on choices made by site owners, not platform limitations.

  • WordPress core is accessible – The platform's coding standards require WCAG 2.0 AA compliance; accessibility issues typically come from themes, plugins, and content
  • Theme selection is critical – Choose themes tagged "accessibility-ready" or explicitly verify WCAG compliance; many popular themes prioritize design over accessibility
  • Plugins introduce risk – With 50,000+ plugins available, many lack accessibility; audit critical plugins before installation
  • Content practices matter – Alt text, heading structure, and link text depend entirely on content creators; training prevents violations
  • Continuous maintenance required – WordPress updates, plugin changes, and new content require ongoing accessibility attention

The WordPress Accessibility Landscape

Understanding WordPress's accessibility architecture helps identify where problems occur.

Where WordPress Excels

WordPress core provides a strong accessibility foundation:

  • Block editor (Gutenberg) – Designed with accessibility in mind; includes keyboard navigation, ARIA labels, focus management
  • Admin interface – Backend meets WCAG 2.0 AA requirements
  • Coding standards – New code contributions must pass accessibility review
  • Default themes (Twenty-series) – Annual default themes follow accessibility best practices
  • Accessibility team – Dedicated contributors focused on platform accessibility

The WordPress Accessibility Handbook and Make WordPress Accessible initiative demonstrate genuine platform commitment.

Where Problems Originate

Accessibility failures typically come from:

+------------------------+----------------+----------------------------------------------------+
|         Source         |   Risk Level   |                   Example Issues                   |
+------------------------+----------------+----------------------------------------------------+
|   Third-party themes   |      High      | Hidden focus indicators, inaccessible menus, poor heading structure |
+------------------------+----------------+----------------------------------------------------+
|        Plugins         |      High      | Popup keyboard traps, inaccessible forms, missing ARIA |
+------------------------+----------------+----------------------------------------------------+
|   Content management   |      High      | Missing alt text, improper headings, generic link text |
+------------------------+----------------+----------------------------------------------------+
|     Page builders      |     Medium     |     Non-semantic HTML, complex DOM structures      |
+------------------------+----------------+----------------------------------------------------+
|     Customizations     |     Medium     |    CSS overrides hiding accessibility features     |
+------------------------+----------------+----------------------------------------------------+

Understanding these sources helps prioritize remediation efforts.

Legal Exposure

WordPress sites face the same ADA exposure as any website. According to TestParty research based on Court Listener data, 77% of website accessibility lawsuits target e-commerce—and WooCommerce (WordPress's e-commerce plugin) powers a significant percentage of online stores. Even non-e-commerce WordPress sites face risk if they serve as "places of public accommodation" under ADA Title III.


Theme Selection and Configuration

Your WordPress theme determines the accessibility baseline for your entire site.

Accessibility-Ready Themes

WordPress.org provides an "accessibility-ready" tag for themes meeting minimum accessibility requirements:

  • Skip link functionality
  • Keyboard navigation support
  • Proper heading structure
  • Sufficient color contrast
  • Visible focus indicators
  • Accessible forms

How to find accessible themes:

  1. Visit WordPress.org Theme Directory
  2. Filter by "Accessibility Ready"
  3. Verify with your own testing before committing

Recommended accessible themes:

  • Twenty Twenty-Four, Twenty Twenty-Three, and other default themes
  • Themes explicitly marketed for accessibility (verify claims with testing)
  • Themes from developers who publish VPATs or accessibility statements

Evaluating Theme Accessibility

Before purchasing or installing any theme:

Quick accessibility check:

  1. Visit theme demo
  2. Tab through the page—does focus indicator show on all interactive elements?
  3. Can you navigate the menu using only keyboard (Enter to open, arrows to navigate)?
  4. Does the theme have a skip link visible on focus?
  5. Run WAVE or axe DevTools scan—how many errors?

Red flags:

  • No visible focus indicators
  • Dropdown menus only work with mouse hover
  • Poor or inconsistent heading hierarchy
  • Very light text colors (likely contrast failures)
  • No accessibility documentation or mentions

Theme Configuration for Accessibility

After installing an accessibility-ready theme:

Color settings:

  • [ ] Verify text/background contrast meets 4.5:1 (normal text) or 3:1 (large text)
  • [ ] Check link colors have adequate contrast
  • [ ] Ensure button text is readable against button backgrounds

Typography:

  • [ ] Use relative units (em, rem) that allow user scaling
  • [ ] Maintain adequate line height (1.5 recommended)
  • [ ] Ensure fonts are legible at default sizes

Navigation:

  • [ ] Test keyboard navigation after any menu customization
  • [ ] Verify mobile menu is keyboard accessible
  • [ ] Confirm dropdown menus open with Enter/Space keys

Focus indicators: If the theme hides focus outlines, restore them:

/* Add to Customizer → Additional CSS */
*:focus {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

Plugin Accessibility Auditing

With over 50,000 WordPress plugins available, many lack accessibility considerations.

High-Risk Plugin Categories

These plugin types frequently introduce accessibility barriers:

Form Builders:

  • Some lack proper label associations
  • Error messages may not be accessible
  • Required field indicators may be color-only

Page Builders (Elementor, Divi, Beaver Builder, etc.):

  • Can generate non-semantic HTML
  • Complex DOM structures may confuse assistive technology
  • Widget-based approach may break heading hierarchy

Popup/Modal Plugins:

  • Often lack proper focus management
  • May not close with Escape key
  • Frequently trap keyboard focus

Slider/Carousel Plugins:

  • Auto-play without pause controls
  • Inaccessible navigation controls
  • Content may be hidden from screen readers

Gallery Plugins:

  • Lightbox views often inaccessible
  • May not inherit alt text from media library
  • Navigation controls may lack labels

Plugin Evaluation Process

Before installing any plugin:

  1. Search plugin description for accessibility mentions
  2. Check reviews – Search "accessibility," "keyboard," "screen reader"
  3. Ask in support forum – "Is this plugin keyboard accessible and screen reader compatible?"
  4. Test on staging – Install and test with keyboard and screen reader before going live

After installation:

  1. Run WAVE scan before and after to identify new issues
  2. Tab through all plugin functionality
  3. Test with screen reader if the plugin is user-facing
  4. Document any accessibility limitations

Recommended Accessible Plugins

Some plugins have accessibility as a priority:

  • Forms: Gravity Forms (publishes VPAT), WPForms (accessibility focus)
  • SEO: Yoast SEO (accessibility-conscious development)
  • Accessibility helpers: WP Accessibility (fixes common theme issues)
  • Page builders: Use with caution, but Elementor and Beaver Builder have made accessibility improvements

WP Accessibility Plugin: The free WP Accessibility plugin can address common theme gaps:

  • Adds skip link if theme lacks one
  • Forces focus outline on focusable elements
  • Removes target attributes from links
  • Adds labels to search form if missing

Note: This helps with theme gaps but doesn't fix plugin issues or content problems.

When Plugins Fail Accessibility

If a required plugin isn't accessible:

  1. Contact developer – File support request with specific accessibility issues; many developers are unaware
  2. Check for updates – Newer versions may have fixes
  3. Find alternatives – Search for accessible alternatives with same functionality
  4. Custom development – For critical features, consider building accessible versions
  5. Document decisions – Record why you're using a partially accessible plugin and what mitigations are in place

Content Creator Guidelines

Theme and plugin choices set the foundation, but content practices determine ongoing compliance.

Alt Text Requirements

Every image needs appropriate alternative text:

Informative images:

  • Describe the image's content and meaning
  • Be concise but complete (typically 5-15 words)
  • Don't begin with "Image of" or "Picture of" (screen readers announce image role)

How to add in WordPress:

  1. Media Library → Select image → Fill "Alt Text" field
  2. When inserting image in block editor → Block settings → Alt text field

Examples:

+-------------------+----------------------------------------------------+-------------------------+
|     Image Type    |                   Good Alt Text                    |      Poor Alt Text      |
+-------------------+----------------------------------------------------+-------------------------+
|   Product photo   | "Navy blue merino wool sweater, V-neck, front view" |      "sweater.jpg"      |
+-------------------+----------------------------------------------------+-------------------------+
|   Team headshot   |      "Dr. Sarah Chen, Chief Medical Officer"       |        "employee"       |
+-------------------+----------------------------------------------------+-------------------------+
|       Chart       |   "Bar chart: Sales increased 23% Q3 to Q4 2025"   |         "chart"         |
+-------------------+----------------------------------------------------+-------------------------+
|     Decorative    |                   "" (empty alt)                   |   "decorative border"   |
+-------------------+----------------------------------------------------+-------------------------+

Bulk alt text audit: Some plugins can scan your media library for missing alt text, allowing you to prioritize remediation.

Heading Structure

Use headings to create semantic document structure:

WordPress block editor approach:

  • Use Heading blocks for section titles (not bold paragraph text)
  • H1 for main page/post title (usually handled by theme)
  • H2 for major sections, H3 for subsections
  • Don't skip levels (H2 → H4)

Training content creators:

  • Show the heading hierarchy visually
  • Explain that screen reader users navigate by headings
  • Demonstrate using browser accessibility tools

Link Text

Links should be meaningful out of context:

Good link text:

  • "Read our accessibility guide"
  • "Download the 2025 annual report (PDF, 2MB)"
  • "Contact customer support"

Poor link text:

  • "Click here"
  • "Read more"
  • "Here" (as in "Click here for details")

Embedded Media

Videos:

  • Ensure captions are available (YouTube auto-captions are a start, but verify accuracy)
  • Provide transcript for audio content
  • Don't autoplay video with sound

Audio:

  • Provide transcript
  • Don't autoplay

Social Embeds:

  • Test that embedded content is keyboard accessible
  • Provide context for what's being shown

Document Accessibility

If offering downloadable documents:

PDFs:

  • Create accessible PDFs (tagged, with reading order, alt text)
  • Or provide HTML alternative
  • Note: Approximately 90% of PDFs fail accessibility requirements

Consider alternatives:

  • Can this PDF be a web page instead?
  • Is the PDF necessary, or is it force of habit?

WooCommerce Considerations

WordPress e-commerce through WooCommerce faces heightened lawsuit risk.

WooCommerce Core Accessibility

WooCommerce follows WordPress coding standards and aims for accessibility. Key areas:

  • Product pages generally accessible with proper theme
  • Checkout flow follows accessibility patterns
  • Cart functionality keyboard accessible

However, issues arise from:

  • Theme compatibility
  • Extension/plugin additions
  • Content management (product images without alt text)

Product Page Checklist

  • [ ] Product images have descriptive alt text
  • [ ] Product titles use proper heading hierarchy
  • [ ] Variation selectors are keyboard accessible
  • [ ] Add to cart button is clearly labeled
  • [ ] Related products section is navigable

Checkout Accessibility

  • [ ] Form fields have visible labels
  • [ ] Error messages are associated with fields
  • [ ] Payment options are keyboard accessible
  • [ ] Order review is screen reader navigable
  • [ ] Order confirmation is accessible

WooCommerce Extensions

Many WooCommerce extensions lack accessibility:

  • Product quick view popups
  • Wishlist functionality
  • Product comparison features
  • Advanced filtering

Test each extension's user-facing features with keyboard and screen reader.


Maintenance and Monitoring

Accessibility requires ongoing attention, not one-time fixes.

Regular Testing Schedule

Weekly:

  • [ ] Spot-check newly published content for alt text and headings
  • [ ] Verify any new plugin installations

Monthly:

  • [ ] Run automated scan on key pages
  • [ ] Keyboard test main user flows
  • [ ] Check for WordPress/plugin updates that might affect accessibility

Quarterly:

  • [ ] Comprehensive accessibility audit
  • [ ] Screen reader testing of critical pages
  • [ ] Review and update accessibility statement

WordPress Updates

When WordPress core or plugins update:

  • Read changelogs for accessibility changes
  • Test key functionality after updates
  • Monitor for regressions in keyboard navigation or screen reader compatibility

Accessibility Statement

Publish an honest accessibility statement:

## Accessibility Statement

[Organization] is committed to making our website accessible to all visitors. 
We aim to meet WCAG 2.2 Level AA standards.

### Our Efforts
- We use an accessibility-ready WordPress theme
- We test regularly with keyboard navigation and screen readers
- Content creators are trained on accessibility best practices

### Known Limitations
[List any known issues honestly]

### Contact Us
If you encounter accessibility barriers, please contact us at 
[accessibility@example.com]. We will respond within 3 business days.

Last updated: [Date]

Documentation

Maintain records of:

  • Accessibility testing dates and results
  • Issues found and remediation actions
  • Plugin accessibility evaluations
  • Content creator training

This documentation demonstrates good faith compliance efforts if legal questions arise.


Common Fixes Quick Reference

Solutions for the most frequent WordPress accessibility issues.

+-----------------------------+----------------------------------------------------+
|            Issue            |                      Solution                      |
+-----------------------------+----------------------------------------------------+
|       Missing alt text      |    Media Library → Select image → Add Alt Text     |
+-----------------------------+----------------------------------------------------+
|     Hidden focus outline    | Add CSS: `:focus { outline: 2px solid #005fcc; }`  |
+-----------------------------+----------------------------------------------------+
|      Missing skip link      | Install WP Accessibility plugin or add to theme header |
+-----------------------------+----------------------------------------------------+
|   Non-heading styled text   |      Change to proper Heading block in editor      |
+-----------------------------+----------------------------------------------------+
|      Inaccessible menu      | Switch to accessibility-ready theme or add ARIA to navigation |
+-----------------------------+----------------------------------------------------+
|      Generic link text      | Rewrite links to be descriptive: "Read our guide" vs "Click here" |
+-----------------------------+----------------------------------------------------+
|       Popup focus trap      | Replace plugin or configure for Escape key close and focus management |
+-----------------------------+----------------------------------------------------+

Adding Skip Link to Theme

If your theme lacks a skip link, add to header.php:

<a class="skip-link screen-reader-text" href="#content">
  Skip to content
</a>

With CSS:

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  padding: 10px 15px;
  background: #000;
  color: #fff;
  z-index: 100000;
}
.skip-link:focus {
  top: 10px;
}

Forcing Focus Visibility

Add to Customizer → Additional CSS:

*:focus {
  outline: 3px solid #0073aa !important;
  outline-offset: 2px;
}

FAQ

Is WordPress accessible by default?

WordPress core is built with accessibility in mind—the admin interface and block editor meet WCAG 2.0 AA standards, and coding standards require accessibility. However, the accessibility of your site depends on your theme, plugins, and content choices. Using an inaccessible theme or publishing images without alt text creates barriers despite WordPress's accessible foundation.

What's the difference between "accessibility-ready" themes and fully accessible themes?

"Accessibility-ready" means the theme meets WordPress's minimum accessibility requirements (skip links, keyboard navigation, proper headings, contrast, focus indicators, accessible forms). It doesn't guarantee full WCAG 2.2 AA compliance—additional testing and potential fixes may still be needed. Think of it as a baseline, not a certification.

Should I use an accessibility plugin to make my site compliant?

Accessibility helper plugins like WP Accessibility can address specific theme gaps (adding skip links, forcing focus outlines). However, avoid overlay plugins that claim to automatically make sites compliant—the NFB opposes them, and 1,000+ businesses using overlays were sued in 2023-2024. No plugin substitutes for proper theme selection, careful plugin auditing, and accessible content practices.

How do I make my page builder content accessible?

Page builders (Elementor, Divi, Beaver Builder) can create accessible content if used carefully:

  • Use their Heading widgets for section titles (ensure proper hierarchy)
  • Always fill in image alt text fields
  • Test keyboard navigation of interactive elements
  • Avoid purely visual elements that add no semantic meaning
  • Run accessibility scans on page builder content specifically

Page builders generate complex HTML that may require extra attention.

Can I get sued for my WordPress site's accessibility?

Yes. WordPress sites face the same ADA Title III exposure as any website. If your site serves the public and has accessibility barriers, it's a potential lawsuit target. Given WordPress's 40% market share, a significant portion of the 8,800 annual ADA lawsuits target WordPress sites. The platform you use doesn't determine legal exposure—your site's actual accessibility does.

How do I train my content team on accessibility?

Focus on practical skills:

  1. Always add alt text when uploading images (show them where the field is)
  2. Use Heading blocks for section titles, not bold text
  3. Write descriptive link text ("Read our policy" not "Click here")
  4. Run basic accessibility checks before publishing
  5. Provide a simple checklist they can reference

Consider recording a 10-minute training video specific to your site's workflow.


Internal Links

External Sources


This article was written by TestParty's editorial team with AI assistance. All statistics and claims have been verified against primary sources. Last updated: January 2026.

Stay informed

Accessibility insights delivered
straight to your inbox.

Contact Us

Automate the software work for accessibility compliance, end-to-end.

Empowering businesses with seamless digital accessibility solutions—simple, inclusive, effective.

Book a Demo