Content Accessibility Utility on AWS
Digital content stakeholders across industries aim to streamline how they meet accessibility compliance standards efficiently. The Content Accessibility Utility on AWS offers a comprehensive solution for modernizing web content accessibility with state-of-the-art generative AI models, powered by Amazon Bedrock. It automatically audits and remediates WCAG 2.1 and 2.2 accessibility compliance issues, and offers a Python CLI, a Python API, and a deployable event-driven pipeline. Capabilities include batch processing for large volumes of content, usage tracking for cost management, and will continue to expand to support other content types and modalities.
📚 Documentation
Full documentation is published at awslabs.github.io/content-accessibility-utility-on-aws.
Start there for guides on every way to use the solution:
- CLI Guide — install and run from your terminal
- API Integration Guide — embed it in your own Python app
- Deployable Pipeline Guide — process documents automatically at scale
- Parameter Reference, Remediation, Rendered Audit & Agent, Architecture, and more.
The documentation source lives in docs/.
Features
- Convert PDF documents to accessible HTML, preserving layout and visual appearance
- Extract and embed images
- Audit HTML for WCAG 2.1 and 2.2 accessibility compliance
- Remediate common accessibility issues using Amazon Bedrock models, including advanced table remediation strategies
- Optional browser-backed (rendered) audit that detects computed-style and interactive issues static HTML analysis cannot see (e.g. focus visibility), using a real headless browser and axe-core
- Optional accessibility agent (Strands) that drives a render → fix → verify loop, confirming each fix actually renders correctly before marking it resolved
- Optional internationalization ([i18n]) that translates worked-on content into one or more target languages via Amazon Bedrock, preserving markup and screen-reader-announced attributes and optionally emitting a single multilingual document with an accessible language selector
- Single-page and multi-page output formats
- Batch processing for large-scale document processing
- Detailed usage tracking for BDA pages and Bedrock tokens, plus cost analysis
- Streamlit sample web interface with usage visualization
Installation
# From PyPI
pip install content-accessibility-utility-on-aws
# From source
pip install .
The core install is static-only (no browser). The rendered audit, the agent, and translation are opt-in extras so the base footprint stays small:
pip install "content-accessibility-utility-on-aws[rendered]" # browser-backed audit
pip install "content-accessibility-utility-on-aws[agent]" # render -> fix -> verify loop
pip install "content-accessibility-utility-on-aws[i18n]" # translation + multilingual output
The [rendered] and [agent] extras use a headless browser via
Playwright; after installing either, run
playwright install chromium once. The core package never imports the browser or
agent stack, so static-only workflows are unaffected. See the
Installation notes
for details.
Quickstart
The audit path needs only a pip install and an HTML file — no AWS account
required:
pip install content-accessibility-utility-on-aws
content-accessibility-utility-on-aws audit -i page.html -o report.html -f html
Open report.html for a human-readable accessibility report. For the full
convert → audit → remediate workflow on a PDF (which uses Amazon Bedrock), see
the CLI quickstart.
Pick the way you want to use it
| I want to… | Use the… | Guide |
|---|---|---|
| Run one-off or scripted jobs from my terminal | Command-line interface | CLI Guide |
| Embed audit/remediation into my own Python app | Python API | API Integration Guide |
| Process documents automatically as they land in S3, at scale | Deployable pipeline | Deployable Pipeline Guide |
| Click through a demo web UI | Streamlit app | Streamlit Guide |
Prerequisites
- Python 3.11+
- An AWS account with access to Amazon Bedrock models and, for the PDF conversion path, Bedrock Data Automation (BDA).
- An S3 bucket for BDA file uploads during PDF conversion.
The PDF path reads BDA_S3_BUCKET and BDA_PROJECT_ARN from the environment (or
accepts --s3-bucket / --bda-project-arn). Auditing and remediating existing
HTML only needs Bedrock model access. Full setup — creating the S3 bucket and BDA
project, IAM, and configuration files — is in the
CLI Guide prerequisites.
Architecture
The package consists of four modules — PDF2HTML, Audit, Remediate, and Batch — plus an optional browser-backed agent layer.
See Architecture & Core Packages for the per-module breakdown and diagrams.
Requirements
- Python 3.11+
- AWS credentials for Bedrock Data Automation and Bedrock models
- Appropriate IAM permissions for S3 and BDA services
Configure AWS credentials with aws configure, environment variables
(AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY), or a named profile via
--profile.
License
Apache-2.0 License. See LICENSE for details.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details on how to contribute to this project.
Metadata
Release files for content-accessibility-utility-on-aws 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| content_accessibility_utility_on_aws-1.1.1.tar.gz | 415.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| content_accessibility_utility_on_aws-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 896.4 kB
Release files / content_accessibility_utility_on_aws-1.1.1.tar.gz
| Download URL | content_accessibility_utility_on_aws-1.1.1.tar.gz |
|---|---|
| Size | 415.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e3fa15f701441a8d13bb4a99b694d0b1b53ac6de70a2a2041b766dc4780d8ae
|
|
BLAKE2b-256 checksum How to use checksums |
bab439166c83771f645ad23f648a7553cd6eb7f6a0066660c1af34d7629aff34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.
Transparency logRelease files / content_accessibility_utility_on_aws-1.1.1-py3-none-any.whl
| Download URL | content_accessibility_utility_on_aws-1.1.1-py3-none-any.whl |
|---|---|
| Size | 481.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1e9b91a26c53ccda2a4205fd0d673327183fca3f4a21ae2acfb400e38e9f6d7
|
|
BLAKE2b-256 checksum How to use checksums |
c46ab0cbb3dc4260d158dda4a6cde30bc227d7f6be7b3dbdf3780041213c20b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.
Transparency logSecurity for content-accessibility-utility-on-aws 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for content_accessibility_utility_on_aws-1.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.