Skip to main content

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.

  1. Install the module

    pip install moin-skynetA11y-pdf-remediation
    
  2. Connect it to your wiki — from the folder that contains your wikiconfig.py:

    python -m moin_skyneta11y_pdf_remediation
    

    This 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()
    
  3. 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 reads wikiconfig.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.

  4. Choose who can use it. To make yourself a superuser, set acl_functions in wikiconfig.py to 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.

  5. 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/superuser The Admin Menu, now with a PDF Remediation entry
    /+pdf-remediation/admin The 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

  1. Add Your PDFs – Upload files, or crawl your website for every PDF it links to.
  2. Run SkynetA11y PDF Remediation – Select documents and process them in bulk; progress is reported live.
  3. 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 access setting 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 superuser or allowlist over users on 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

  1. Update your server's CORS configuration to include these URLs.
  2. Ensure wildcard subdomains (*) are supported where necessary.
  3. Verify the application functionality by testing requests to these domains.
  4. 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

AI_PDF_Accessibility_Remediation_Image_1 AI_PDF_Accessibility_Remediation_Image_2 AI_PDF_Accessibility_Remediation_Image_3


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)

Source distribution for moin-skynetA11y-pdf-remediation 1.0.0
File Size Uploaded
moin_skyneta11y_pdf_remediation-1.0.0.tar.gz 71.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for moin-skynetA11y-pdf-remediation 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page