Academic Publisher EAA 2026: Converting Journal PDFs to Accessible EPUB3
The Deadline Is Here
EAA enforcement started June 28, 2026. The European Accessibility Act now applies to digital products and services sold in the EU — and that includes academic publications.
For academic publishers, this is not an abstract compliance question. It is a scale problem that no existing tool adequately solves.
The Academic Publisher Problem
Major publishers — Springer Nature, Elsevier, Taylor & Francis, SAGE, Wiley — have backlists measured in millions of documents. Nearly all of them are PDFs. And nearly all of those PDFs fail EAA's core document accessibility requirement: WCAG 2.1 Success Criterion 1.4.10, Reflow.
Why PDF fails WCAG 1.4.10, even with perfect tagging
WCAG 1.4.10 Reflow requires content to be presentable in a single column at 320px width without horizontal scrolling or loss of information. This is the requirement that makes documents usable for people with low vision who zoom in heavily.
The problem: a typical journal article is formatted in two-column layout. That layout is baked into the PDF rendering engine. No amount of accessibility tagging, remediation, or metadata changes the fact that a PDF is fixed-layout by design.
PDF/UA compliance (which most publishers currently target) satisfies reading order, language, and heading structure requirements. It does not — and cannot — satisfy WCAG 1.4.10 Reflow. A publisher with 3 million accessible, PDF/UA-compliant journal articles still has 3 million EAA compliance gaps.
Why Manual Remediation Doesn’t Scale
The accessibility services industry typically charges $50–$200 per document for manual PDF remediation. At those rates:
- 10,000 documents: $500K–$2M
- 100,000 documents: $5M–$20M
- 1,000,000 documents: $50M–$200M
This is not a realistic path for backlist conversion. Per-seat licensing for tools like CommonLook ($599+/year) or axesPDF doesn’t help either — these tools remediate PDFs but do not convert them to reflowable formats, so WCAG 1.4.10 Reflow remains unsatisfied.
The math only works if conversion is automated and cost-per-document is measured in cents, not dollars.
EPUB3: The Recognised Standard for Accessible Academic Publishing
EPUB Accessibility 1.1 (based on WCAG 2.1 AA) is the established standard for accessible academic ebooks. It is recognised by:
- W3C (who publishes the EPUB Accessibility specification)
- DAISY Consortium (whose ACE validator is the reference compliance checker)
- Publishers associations including the International Publishers Association
- JATS4R (Journal Article Tag Suite for Reuse — the XML standard used by most major publishers)
EPUB3 satisfies WCAG 1.4.10 structurally. A reflowable EPUB3 document renders in a single column at any viewport width. No additional remediation is needed for that specific requirement.
For academic publishers, this creates a viable compliance path: convert existing PDF backlist to EPUB3, validate with ACE by DAISY (free tool), and serve EPUB3 as the accessible format while keeping PDF as the print-fidelity format.
JATS XML vs PDF → EPUB3 Conversion
Publishers working from JATS XML source files have the cleanest path: JATS → EPUB3 via NLM’s JATS-to-EPUB stylesheets or JATS2EPUB toolchain. If your production workflow produces JATS XML, this is the preferred route.
The majority of academic backlist, however, exists as PDF only — especially content published before 2010 when XML workflows were less standardised. For this content, PDF → EPUB3 conversion is the only practical option.
toolkit.bot API for Publisher-Scale Conversion
toolkit.bot provides a REST API for PDF → EPUB3 conversion at rates suitable for bulk processing.
POST https://toolkit.bot/api/convert
Content-Type: multipart/form-data
file: [PDF binary]
Returns: EPUB3 binary, average processing time 20–30 seconds per document.
Bulk workflow example (Python):
import httpx
import asyncio
from pathlib import Path
API_KEY = "your_api_key"
PDF_DIR = Path("/path/to/backlist")
EPUB_DIR = Path("/path/to/output")
async def convert_pdf(client, pdf_path):
with open(pdf_path, "rb") as f:
response = await client.post(
"https://toolkit.bot/api/convert",
headers={"Authorization": f"Bearer {API_KEY}"},
files={"file": (pdf_path.name, f, "application/pdf")},
timeout=120
)
if response.status_code == 200:
epub_path = EPUB_DIR / pdf_path.with_suffix(".epub").name
epub_path.write_bytes(response.content)
async def bulk_convert():
EPUB_DIR.mkdir(exist_ok=True)
pdfs = list(PDF_DIR.glob("*.pdf"))
async with httpx.AsyncClient() as client:
# Process 5 at a time to respect API limits
for i in range(0, len(pdfs), 5):
batch = pdfs[i:i+5]
await asyncio.gather(*[convert_pdf(client, p) for p in batch])
asyncio.run(bulk_convert())
What the API produces: each converted EPUB3 includes semantic heading hierarchy, reading order preservation, figure alt-text extraction where embedded in PDF, language declarations, EPUB Accessibility 1.1 metadata, and output passable through EPUBCheck and ACE by DAISY validation.
Pricing:
- Free: 5 conversions/month (for evaluation)
- Pro ($9/month): unlimited conversions, single user
- API ($29/month): REST API access, bulk workflows, rate limit 100 req/hour
For volume above 1,000 documents/month, contact us via toolkit.bot/premium for enterprise pricing.
The Business Case for Publishers
| Approach | Cost per document | 100,000 docs |
|---|---|---|
| Manual remediation (PDF/UA) | $50–200 | $5M–$20M |
| Per-seat tool (CommonLook) | ~$0.60 | $60K |
| toolkit.bot API ($29/month) | ~$0.01 | ~$1K |
toolkit.bot handles the long tail of the backlist — standard journal articles, conference proceedings, working papers — where automated conversion produces defensible compliance at a fraction of the cost.
Validating the Output
# Install ACE by DAISY (free)
npm install -g @daisy/ace
# Validate
ace --outdir ./ace-report ./output.epub
open ace-report/report.html
The ACE report identifies remaining issues and produces a WCAG 2.1 conformance table — your compliance documentation for internal records and regulator queries.
Getting Started
- Free evaluation: upload a sample journal article at toolkit.bot/pdf2epub. No account required, no credit card.
- API access: sign up for the API plan at toolkit.bot/pricing and start with the bulk workflow above.
- Volume/enterprise pricing: contact us at toolkit.bot/premium for custom rate limits and SLAs for large-scale backlist projects.
- Integration support: we can help you integrate the API into existing publishing workflows (ScholarOne, OJS, Silverchair). Reach out via the premium page.
EAA enforcement is live. If you have a PDF backlist and no clear WCAG 1.4.10 compliance path, toolkit.bot is built for this exact situation.
Try free → Publisher guide