SkynetA11y PDF Remediation for MoinMoin
The SkynetA11y PDF Remediation Application brings PDF Accessibility Remediation for WCAG & PDF/UA Compliance directly into your own MoinMoin wiki. It is both a PDF Accessibility Checker and a SkynetA11y Remediation Tool: upload documents or crawl your website for them, let AI repair the accessibility barriers automatically, review every check that was applied, and download conformant files — without leaving your wiki's admin area.
It fixes the barriers that make PDFs unusable with assistive technology: missing tags, incorrect reading order, inaccessible forms and tables, images without alternate text, and absent document structure, language and metadata.
It supports compliance with WCAG 2.0, 2.1, 2.2, PDF/UA, ADA, Section 508, AODA, and EN 301 549 (EAA). With plain-language explanations and before/after examples for every check, even non-technical users can understand what was fixed and why it mattered.
This build is a MoinMoin 2.0 module (moin-skynetA11y-pdf-remediation, v1.0.0) — a normal pip-installable package with no extra bundler or build step — so it drops into any MoinMoin 2.0 wiki alongside the plugins and admin tools you already run.
This application is designed for:
- Businesses of all sizes
- Enterprises
- Government and public sector entities
- Website owners
- E-commerce platforms
- Development and maintenance agencies
Start with a free SkynetA11y PDF Remediation trial — up to 5 pages!
Why SkynetA11y PDF Remediation?
PDFs are where accessibility compliance quietly fails. A site can pass every page-level audit and still publish hundreds of untagged documents — reports, forms, invoices, policies — that screen readers cannot navigate at all.
Remediating them by hand is slow and expensive. This application makes it a routine part of publishing: documents are discovered, repaired and re-checked inside the tools your team already uses, so accessible PDFs become the default rather than a project.
Key Features
- SkynetA11y PDF Remediation – Automated repair of tags, reading order, alt text, headings, tables and metadata.
- PDF Accessibility Checker – Every check reported individually, expandable to a plain-language explanation and a before/after example.
- Upload or Crawl – Add files by drag and drop, or sweep your website for every PDF it links to.
- Free Trial – The free plan covers your first 5 pages; paid plans scale from 50 to 10,000 pages.
- Bulk Remediation – Select any number of documents and process them in one run, with live progress.
- Deep Tag Scan – Post-remediation verification against the document's tag tree, not just its declared metadata.
- Authenticated Downloads – Remediated files are delivered over an authenticated session, never a public link.
- Built into your wiki – A PDF Remediation entry appears in the Admin Menu, with a one-click way back. Choose whether only administrators, all signed-in users, or a list of named users can use it.
- Matches Your Wiki's Look – The dashboard follows your MoinMoin theme automatically, light or dark.
- No Settings Screen Required – Nothing to paste and nothing to wire up out of the box. One short dialog asks for a name, email and domain the first time it is needed, and never again — or an admin can pin these in the settings file ahead of time.
- Integration with All in One Accessibility® Dashboard – Plans, usage and billing stay in one place.
Compliance Standards Supported
- WCAG 2.0, 2.1, 2.2
- PDF/UA (ISO 14289)
- ADA
- Section 508
- AODA
- EN 301 549 (EU / European Accessibility Act)
Requirements
- MoinMoin 2.0 (2.0.0b5 or newer)
- Python 3.10 or newer
- A wiki administrator (superuser) account to set it up (see step 4 below)
Installation
Run these commands in the same Python environment (virtualenv) as your wiki.
-
Install the module
pip install moin-skynetA11y-pdf-remediation -
Connect it to your wiki — from the folder that contains your
wikiconfig.py:python -m moin_skyneta11y_pdf_remediationThis adds two lines to the end of
wikiconfig.py(you can also paste them yourself):import moin_skyneta11y_pdf_remediation moin_skyneta11y_pdf_remediation.enable()
-
Restart your wiki the way you always start it —
moin run,flask run, gunicorn, uwsgi or mod_wsgi all work, because every one of them readswikiconfig.py. You should see this line in the terminal:[SkynetA11y PDF] ✓ PDF Remediation plugin loaded. Dashboard: /+pdf-remediation/ (also in the Admin Menu)Already connected through
wsgi.py(init_app(application), as in versions before 1.0.0)? That keeps working; having both is harmless. -
Choose who can use it. To make yourself a superuser, set
acl_functionsinwikiconfig.pyto your own wiki user name and restart the wiki:acl_functions = "your-user-name:superuser"
Several administrators? Separate them with a space:
"alice:superuser bob:superuser".Want other people to use it too? See Who can use it below — you can allow every signed-in user, or only the users you name.
-
Open the dashboard. Log in, go to Admin in the navigation bar, and click PDF Remediation in the Admin Menu. (Users who are not administrators use the PDF Remediation link in the wiki's navigation bar instead.)
Address What it is /+admin/superuserThe Admin Menu, now with a PDF Remediation entry /+pdf-remediation/adminThe dashboard inside your wiki's own page layout /+pdf-remediation/The dashboard full screen, with a Back to Moin Admin bar
Pinning the account (optional): moin_skyneta11y_pdf_remediation.enable(account_email="owner@example.com", website="wiki.example.com") skips the first-use dialog.
Uninstall: delete the two lines from wikiconfig.py and run pip uninstall moin-skynetA11y-pdf-remediation.
How It Works
- Add Your PDFs – Upload files, or crawl your website for every PDF it links to.
- Run SkynetA11y PDF Remediation – Select documents and process them in bulk; progress is reported live.
- Review & Download – Inspect each accessibility check with its explanation and before/after example, then download the conformant file.
The first time you use it, a short dialog asks for your name, email and website domain to set up your account. You are not asked again.
Who can use it
access setting |
Who can open the dashboard |
|---|---|
superuser (default) |
Wiki administrators only |
users |
Any signed-in wiki user |
allowlist |
Administrators, plus the wiki users you name |
Administrators can always use it, and visitors who are not logged in never can. To change it, edit the settings file described below, for example:
{ "access": "allowlist", "allowed_users": ["alice", "bob"] }
User names are case-sensitive. The change applies on the next page load. When access is not superuser, a PDF Remediation link is added to the wiki's navigation bar (it appears after the next restart of the wiki).
Everyone who is allowed in is asked, the first time, for a name, email and website, which creates their own account; their wiki name and email are pre-filled. To have everyone share one account and one page allowance, fill in account_email and website in the settings file.
Good to know: the dashboard signs in to the SkynetA11y service from the browser, so anyone allowed in could see the service key in the page's source. Keep the allowed group to people you trust.
Who Can Benefit?
- Website Owners & Businesses
- Developers & Web Agencies
- Government & Public Sector Organizations
- Education, Healthcare & Financial Institutions
- Legal & Compliance Teams
- Publishers & Content Teams
- E-commerce & SaaS Platforms
Security Notes
- Only people allowed by the
accesssetting can open the dashboard; visitors who are not logged in never can. - The dashboard signs in to the SkynetA11y service from the browser, so anyone who is allowed in can see the service key in the page's source. Keep the allowed group to people you trust, and prefer
superuserorallowlistoveruserson wikis with open registration. - Use HTTPS on a live site, because the dashboard keeps a sign-in token in the browser.
CORS Policy Configuration
To avoid CORS policy issues, ensure the following URLs are allowed in your website. These URLs should be added to your CORS configuration or trusted domains list.
| Domain | Description | Usage |
|---|---|---|
https://livepdfapi.skynettechnologies.us |
SkynetA11y PDF Remediation API | Documents, remediation jobs, downloads |
https://ada.skynettechnologies.us |
All in One Accessibility® Dashboard | Plan upgrades via autologin |
Instructions
- Update your server's CORS configuration to include these URLs.
- Ensure wildcard subdomains (
*) are supported where necessary. - Verify the application functionality by testing requests to these domains.
- If issues persist, consult the documentation for CORS configuration guidance.
If your wiki sends a Content-Security-Policy, both origins also need to be in
its connect-src, or the browser will block the requests before they are made.
Screenshots
Submit a Support Request
Please visit our support page and fill out the form. Our team will get back to you as soon as possible.
Send Us an Email
Alternatively, you can send an email to our support team: hello@skynettechnologies.com
Accessibility Partnership Opportunities
Accessibility Agency Partnership
Partner with us as an agency to provide comprehensive accessibility solutions to your existing clients. Get access to exclusive resources, training, and support to help you implement and manage accessibility features effectively.
Accessibility Affiliate Partnership
Join our affiliate program and earn hefty commissions by promoting SkynetA11y PDF Remediation. Share our accessibility solution within your network and help businesses improve their document accessibility while generating additional revenue.
For more details, please visit Accessibility Partnership Opportunities Page.
Credits
This SkynetA11y PDF Remediation Application (MoinMoin module v1.0.0) is developed and maintained by Skynet Technologies USA LLC.
Metadata
Release files for moin-skynetA11y-pdf-remediation 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| moin_skyneta11y_pdf_remediation-1.0.0.tar.gz | 71.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moin_skyneta11y_pdf_remediation-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 147.9 kB
Release files / moin_skyneta11y_pdf_remediation-1.0.0.tar.gz
| Download URL | moin_skyneta11y_pdf_remediation-1.0.0.tar.gz |
|---|---|
| Size | 71.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa67ac6a0a67a0fb709b64a69f028491ebcffad2f9940b7861393ecde5922ee7
|
|
BLAKE2b-256 checksum How to use checksums |
10794bfc23874dec6f781d6fdc9654b9eb5b1eebdaf1839bf74a072dc383cfba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / moin_skyneta11y_pdf_remediation-1.0.0-py3-none-any.whl
| Download URL | moin_skyneta11y_pdf_remediation-1.0.0-py3-none-any.whl |
|---|---|
| Size | 76.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1c06f55d7fa413fce15bbad3243d1b98dc2c475de8c0aecdf305db4b8ca0f1e
|
|
BLAKE2b-256 checksum How to use checksums |
8871ae6171c108f5fc5e537839224b645b846a46e225b478c590ed8017019aba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|