A WordPress plugin that improves Divi accessibility across Divi 4 and Divi 5 with WCAG-aligned fixes. While there are many strong accessibility plugins for WordPress generally, this project focuses on issues found specifically in Divi and its builder output.
This fork is maintained by Richard George Davis as the practical release path while official access is unresolved. The original plugin was created by CampusPress, and upstream PR #121 remains the canonical takeover-compatible patch set for review by the original maintainers.
Current fork releases are published at
RichardGeorgeDavis/divi-accessibility.
The WordPress.org listing for accessible-divi is closed by author request, so
this fork should not be treated as an official WordPress.org continuation unless
CampusPress or WordPress.org grants ownership or committer access.
The plugin includes a native GitHub Releases updater for this maintained fork.
Sites must install 2.1.1 or later once; after that, future stable fork
releases with a packaged zip asset appear through WordPress' normal Plugins
update screen.
Divi Accessibility applies targeted, WCAG-aligned improvements to Divi-generated markup and behavior. It does not guarantee WCAG conformance for a whole website. Final accessibility depends on theme configuration, page content, color contrast, media alternatives, third-party plugins, custom CSS/JS, and editorial practice.
Divi Accessibility is licensed under GPL-2.0-or-later. The repository keeps
the full GNU General Public License version 2 text in LICENSE for GitHub and
WordPress plugin compatibility.
- Ask questions in GitHub Discussions Q&A
- Read the license
- Review contribution guidelines
- See funding options
- Follow the Code of Conduct
- Report vulnerabilities through the security policy
- Use support guidance
- Browse the tracked wiki landing page
- Support the work through PayPal
- Divi 4 and Divi 5 compatibility, including builder-side module accessibility toggles and focused Divi 4 module ARIA fields
- ARIA, labels, and keyboard fixes for core Divi navigation, search, slider, and contact form behaviors
- Reduced motion support that respects user operating system/browser preferences
- Mobile menu screen-reader isolation while the menu is open
- Configurable skip links for content, navigation, and footer targets, plus focus outline and screen-reader-text fixes tuned for Divi markup
- Plugin-owned compatibility styling for Divi 4 and Divi 5 without importing theme styles wholesale
- Native GitHub Releases updater for packaged fork releases
- Tota11y integration for admin-side review
Divi 4 modules include focused Accessibility Settings for wrapper-level role,
aria-label, aria-labelledby, aria-description, aria-describedby, and
aria-details output. These fields migrate into the plugin's Divi 5
compatibility namespace and continue rendering on the frontend for migrated
content.
For new arbitrary attributes in Divi 5, use Divi's native Advanced > Attributes panel. This plugin does not duplicate Divi 5's generic Custom Attributes UI.
The skip link feature can output keyboard-visible links to navigation, content, and footer landmarks. Only the content skip link is enabled by default for backward compatibility; navigation and footer links can be enabled and pointed at site-specific selectors from the plugin settings.
2.1.4 fixes JavaScript-inserted skip links so they remain visually hidden until
focused even when page optimization removes unused CSS. It also prevents
duplicate skip links and duplicate hash-link focus handlers if the skip-link
script runs more than once.
2.1.3 adds configurable navigation/content/footer skip links, focused module
ARIA guardrails and guidance, project accessibility testing docs, and pragmatic
CI/release metadata checks. It also keeps migrated Divi 4 module accessibility
attributes rendering through the Divi 5 compatibility namespace while avoiding a
generic Divi 5 Custom Attributes UI.
2.1.2 fixes the skip navigation link so it stays visually hidden until focused
even when the broader screen-reader-text option is disabled. It also removes the
outdated admin note that implied the skip link depends on that separate option.
2.1.1 adds the maintained fork's native GitHub Releases updater. This is the
bootstrap updater release: sites need to install 2.1.1 manually once, then
future stable fork releases can appear in WordPress' normal Plugins update screen
when the GitHub Release includes an exact packaged zip asset named like
divi-accessibility-X.X.X.zip.
This release line focuses on making Divi 5 a first-class supported target while preserving Divi 4 compatibility. The branch now includes:
- Divi 5 module-level
Accessibility Settingswith the existing two toggles - D4-to-D5 support for the legacy accessibility attrs on migrated content
- Improved slider controls and dot target sizing
- Improved accessible names for search and cart controls
- Improved contact form announcement, invalid-state, and checkbox keyboard support
- Navbar submenu and tabs state fixes found during packaged-plugin runtime verification
- Packaged release fixes for translations, metadata, and npm lint coverage
The latest recorded manual browser integration evidence is from the 2.1.0
release line. No new Divi 4 or Divi 5 browser runtime pass has been recorded for
2.1.4 yet.
- Divi Pixel
2.50.0and2.50.1: alternate/mobile header hamburger behavior, menu open/close state,aria-expandedsync, and screen-reader isolation while the mobile menu is open - WooCommerce
10.7.0: account/cart/shop page rendering and compatibility with Divi Accessibility frontend payloads where the normal theme footer scripts are printed
These checks are compatibility evidence, not a blanket certification for every module or site configuration. WooCommerce store-only/coming-soon responses that do not print normal footer scripts cannot run footer-enqueued Divi Accessibility JavaScript on those responses.
The working js/css snippets are, by default, included minified. They can be
forcefully included in their full expanded state by enabling the developer mode
option in plugin settings. They also respect the WP core SCRIPT_DEBUG define
value.
To check js/css snippets for any errors, run the dedicated npm run lint script.
To build the minified versions of the js/css snippets, run npm run build script.
While working on snippets, it may be beneficial to have them automatically
re-built on file change. This is what the npm run watch script does.
To package an intermediate (throwaway) plugin zip archive for testing, use the
npm run package script. The zip is written to packaged/.
To build a releaseable package, use
DA11Y_RELEASE_VERSION=X.X.X DA11Y_ASSUME_YES=true npm run release. This will
normalize version numbers across the plugin bootstrap, package metadata, readme
stable tag, and POT metadata, then lint, regenerate the translation catalog,
rebuild the assets, and produce a versioned zip archive.
The release version can either be supplied via DA11Y_RELEASE_VERSION=x.x.x, or
it will be inferred from the version-bearing files already in the repo. If the
version number is inferred, the highest existing version is used.
If the final resolved release version is different from the repo metadata, the
prerelease script can update those files automatically. Use -y to skip prompts.
GitHub release updates require the packaged zip asset, not GitHub's generated
source archive. For each stable release, attach
packaged/divi-accessibility-X.X.X.zip to the GitHub Release with the asset name
divi-accessibility-X.X.X.zip; the plugin updater will ignore drafts,
prereleases, and releases that do not include a matching packaged zip.
Originally created by CampusPress. This maintained fork is currently maintained by Richard George Davis unless official project ownership or committer access is granted. Plugin icon based off of The Accessible Icon Project.
