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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

content_accessibility_utility_on_aws-1.1.1.tar.gz (415.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file content_accessibility_utility_on_aws-1.1.1.tar.gz.

File metadata

File hashes

Hashes for content_accessibility_utility_on_aws-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7e3fa15f701441a8d13bb4a99b694d0b1b53ac6de70a2a2041b766dc4780d8ae
MD5 982ea62396fd9fca1a99b6e6b05649d0
BLAKE2b-256 bab439166c83771f645ad23f648a7553cd6eb7f6a0066660c1af34d7629aff34

See more details on using hashes here.

Provenance

The following attestation bundles were made for content_accessibility_utility_on_aws-1.1.1.tar.gz:

Publisher: publish.yml on awslabs/content-accessibility-utility-on-aws

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file content_accessibility_utility_on_aws-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for content_accessibility_utility_on_aws-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e1e9b91a26c53ccda2a4205fd0d673327183fca3f4a21ae2acfb400e38e9f6d7
MD5 c347830a76f2edacf0deb315e3d6b72d
BLAKE2b-256 c46ab0cbb3dc4260d158dda4a6cde30bc227d7f6be7b3dbdf3780041213c20b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for content_accessibility_utility_on_aws-1.1.1-py3-none-any.whl:

Publisher: publish.yml on awslabs/content-accessibility-utility-on-aws

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 files

1.1.0

2 files

1.0.0

2 files

0.7.0

2 files

0.6.2

2 files

0.6.1

2 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