Title: a11yfy – PDF Accessibility Checker &amp; Fixer
Author: a11yfy
Published: <strong>July 30, 2026</strong>
Last modified: July 30, 2026

---

Search plugins

![](https://ps.w.org/a11yfy-pdf-accessibility-checker-fixer/assets/banner-772x250.
png?rev=3628129)

![](https://ps.w.org/a11yfy-pdf-accessibility-checker-fixer/assets/icon.svg?rev=
3628129)

# a11yfy – PDF Accessibility Checker & Fixer

 By [a11yfy](https://profiles.wordpress.org/a11yfy/)

[Download](https://downloads.wordpress.org/plugin/a11yfy-pdf-accessibility-checker-fixer.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/a11yfy-pdf-accessibility-checker-fixer/#description)
 * [Reviews](https://wordpress.org/plugins/a11yfy-pdf-accessibility-checker-fixer/#reviews)
 * [Development](https://wordpress.org/plugins/a11yfy-pdf-accessibility-checker-fixer/#developers)

 [Support](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/)

## Description

**Is your site ready for the European Accessibility Act (EAA) and the ADA?** Most
PDF documents on the web are not accessible: screen readers cannot read them in 
a meaningful order, images have no descriptions, forms have no labels. The requirements
are similar on both sides of the Atlantic — the EAA in the EU, the ADA and Section
508 in the United States — and PDFs are the most commonly overlooked part.

See the plugin in action (58 seconds):

The a11yfy plugin gives you two things:

 1. **Free accessibility scan — 100% local.** The analysis engine runs in _your browser_(
    pdf.js + pdf-lib): it verifies your PDFs against 42 machine-verifiable checkpoints
    of the Matterhorn Protocol (PDF/UA-1) — tag structure, document metadata, heading
    hierarchy, alternative texts, language settings, annotation nesting and more. Your
    files never leave your site. The result is a risk rating and a concrete list of
    problems for every PDF in your Media Library.
 2. **One-click remediation (optional, paid).** Connect your a11yfy account and the
    plugin sends the selected PDFs to the a11yfy service, which produces a tagged, 
    PDF/UA-oriented accessible version — processed in the EU. The fixed file replaces
    the original at the same URL (the original is kept as a backup with one-click restore),
    or, in conservative mode, is served alongside it.

The free scan is a genuine standalone tool — no account, no API calls, no telemetry.
The paid service is only involved when you explicitly send a document for remediation.

**Why a11yfy?**

 * Files are processed in the EU, on EU infrastructure — GDPR-friendly by design.
 * Works on scanned (image-only) PDFs too: OCR plus a full structural rebuild.
 * The original file is always kept — one-click restore, tamper detection, free 
   re-apply.
 * Every remediated PDF comes with a verifiable certificate — downloadable from 
   the document page or the Media Library, with a public verification link you can
   share.
 * Fully translation-ready — translations are delivered via translate.wordpress.
   org as they become available.

**Important:** the free scan is a technical pre-check against the machine-verifiable
PDF/UA-1 checkpoints. It cannot (and does not claim to) certify full PDF/UA-1, EAA
or ADA compliance — that also requires human checks and font-level validation, which
the a11yfy service performs during remediation.

### External Services

This plugin connects to the **a11yfy API** (https://a11yfy.com) — but _only_ when
you connect an API key and request remediation or balance information. The free 
scan never contacts any external service.

What is sent and when:

 * **When you remediate a PDF** (manually, via bulk action, or through the automatic
   mode you enabled): the PDF file itself, its file name, and your API key are sent
   to `https://a11yfy.com/v1/jobs`. Processing happens in the EU.
 * **Balance / job status checks**: your API key is sent with each request; no document
   content.

The plugin never sends analytics, usage statistics, or any data about your site 
visitors. Data processing terms: https://a11yfy.com/privacy — Terms of service: 
https://a11yfy.com/terms

### Source Code

The bundled analysis engine is built from human-readable source with esbuild. Unminified
source: the `js/` directory of the public plugin repository at https://github.com/
a11yfy/wp-plugin — the bundled libraries are pdf.js (Apache-2.0, https://github.
com/mozilla/pdf.js), pdf-lib (MIT, https://github.com/Hopding/pdf-lib), smalot/pdfparser(
LGPL-3.0, https://github.com/smalot/pdfparser), Action Scheduler (GPL-3.0, https://
github.com/woocommerce/action-scheduler).

## Screenshots

[⌊Dashboard: every PDF in your Media Library with its accessibility status — credit
balance, filter chips, one-click Fix and "Fix all".⌉⌊Dashboard: every PDF in your
Media Library with its accessibility status — credit balance, filter chips, one-
click Fix and "Fix all".⌉[

Dashboard: every PDF in your Media Library with its accessibility status — credit
balance, filter chips, one-click Fix and “Fix all”.

[⌊Plain-language issue details with a live page preview — findings are highlighted
right on the page, and each failed checkpoint explains what the remediation will
do about it.⌉⌊Plain-language issue details with a live page preview — findings are
highlighted right on the page, and each failed checkpoint explains what the remediation
will do about it.⌉[

Plain-language issue details with a live page preview — findings are highlighted
right on the page, and each failed checkpoint explains what the remediation will
do about it.

[⌊After remediation: the issues found before are shown crossed out with a "Fixed"
chip — verified by re-running the free scan.⌉⌊After remediation: the issues found
before are shown crossed out with a "Fixed" chip — verified by re-running the free
scan.⌉[

After remediation: the issues found before are shown crossed out with a “Fixed” 
chip — verified by re-running the free scan.

[⌊Accessibility column in the Media Library list view, with row actions.⌉⌊Accessibility
column in the Media Library list view, with row actions.⌉[

Accessibility column in the Media Library list view, with row actions.

[⌊One-question onboarding: automatic or manual remediation, with an optional monthly
credit cap (0 = no limit).⌉⌊One-question onboarding: automatic or manual remediation,
with an optional monthly credit cap (0 = no limit).⌉[

One-question onboarding: automatic or manual remediation, with an optional monthly
credit cap (0 = no limit).

## FAQ

### Is the scan really free?

Yes. It runs in your browser using open-source libraries. It does not use the a11yfy
API and works without an account.

### How much does remediation cost?

Remediation uses credits from your a11yfy account — typically 1–3 credits per page,
depending on the PDF. The dashboard shows an estimate before you confirm, and the
scan itself never costs anything. Current pricing: https://a11yfy.com/pricing

### My PDFs are scans — can they be fixed?

Yes. Scanned, image-only PDFs are OCR-processed and rebuilt with a full tag structure,
including an invisible, screen-reader-readable text layer.

### Will the fixed PDF look different?

No. Remediation preserves the visual appearance; it adds the accessibility structure(
tags, reading order, alternative texts, metadata) underneath.

### Which PDFs cannot be remediated?

Password-protected, XFA-form and portfolio PDFs are detected up front, clearly labelled,
and never sent to the service. Digitally signed PDFs are detected too: remediation
rewrites the file and would invalidate the signature, so the fix only starts after
you explicitly confirm it on the document.

### My security plugin reported that a PDF file changed.

That is the point of remediation: the accessible version replaces the original file(
same URL). The original is kept in a protected backup folder and can be restored
with one click from the Media Library.

### What happens when I delete the plugin?

Remediated PDFs are your content and stay by default. In Settings you can choose
to restore the original files on deletion instead. All plugin data (tables, options,
scan results) is removed either way.

### Does it work with offloaded media (S3/CDN)?

Partially. Scanning works through a local proxy; in-place replacement automatically
falls back to conservative mode for non-local files. Full offload support is planned.

### In conservative mode, are all links to the PDF swapped?

Conservative mode swaps links in post and page content (`the_content`) and wherever
WordPress resolves the attachment URL (`wp_get_attachment_url`). Links hard-coded
elsewhere — page-builder modules (Elementor, Divi, …), widgets, navigation menus,
or theme templates — may keep pointing to the original file and should be checked
manually. The default in-place mode does not have this limitation: the accessible
file replaces the original at the same URL.

## Reviews

![](https://secure.gravatar.com/avatar/86dc3ff2df458858f6dea54b5ce621f1f745bb51d2317571fdad4391c4df275a?
s=60&d=retro&r=g)

### 󠀁[Better PDF Accessibility, Better User Experience](https://wordpress.org/support/topic/better-pdf-accessibility-better-user-experience/)󠁿

 [gerdave](https://profiles.wordpress.org/gerdave/) July 30, 2026

This WordPress plugin is an excellent solution for making PDF documents accessible
to screen reader users. It plays an important role in ensuring equal access to information
while requiring only minimal effort from website owners. The implementation is simple,
but the impact is significant for people who rely on assistive technology to read
documents. At the same time, accessible PDFs look and function the same for users
who do not need a screen reader, so there are no disadvantages for them. It’s a 
practical, efficient, and inclusive tool that helps make the web more accessible
for everyone.

 [ Read all 1 review ](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/)

## Contributors & Developers

“a11yfy – PDF Accessibility Checker & Fixer” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ a11yfy ](https://profiles.wordpress.org/a11yfy/)

[Translate “a11yfy – PDF Accessibility Checker & Fixer” into your language.](https://translate.wordpress.org/projects/wp-plugins/a11yfy-pdf-accessibility-checker-fixer)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/a11yfy-pdf-accessibility-checker-fixer/),
check out the [SVN repository](https://plugins.svn.wordpress.org/a11yfy-pdf-accessibility-checker-fixer/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/a11yfy-pdf-accessibility-checker-fixer/)
by [RSS](https://plugins.trac.wordpress.org/log/a11yfy-pdf-accessibility-checker-fixer/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **4 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [accessibility](https://wordpress.org/plugins/tags/accessibility/)[ada](https://wordpress.org/plugins/tags/ada/)
   [EAA](https://wordpress.org/plugins/tags/eaa/)[pdf](https://wordpress.org/plugins/tags/pdf/)
   [wcag](https://wordpress.org/plugins/tags/wcag/)
 *  [Advanced View](https://wordpress.org/plugins/a11yfy-pdf-accessibility-checker-fixer/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/reviews/)

## Contributors

 *   [ a11yfy ](https://profiles.wordpress.org/a11yfy/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/a11yfy-pdf-accessibility-checker-fixer/)