Skip to main content

Content Accessibility Utility on AWS

PyPI version

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:

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.

Architecture overview: PDF2HTML, Audit, and Remediate feed into the Batch orchestrator and produce accessible HTML output; the optional Agent layer hangs off Audit and Remediate to render, fix, re-render, and verify.

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)

Source distribution for content-accessibility-utility-on-aws 1.1.1
File Size Uploaded Provenance
content_accessibility_utility_on_aws-1.1.1.tar.gz 415.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for content-accessibility-utility-on-aws 1.1.1
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

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