Skip to main content

a11y-checker

a11y-checker is an asynchronous Python client for the Accessibility Checker API - a tool for automated accessibility audits based on WCAG 2.1 / 2.2.
It lets you easily scan, re-scan, and analyze websites directly from your Python applications.


Features

  • Fully asynchronous (non-blocking)
  • Multi-language and device scanning
  • Fetch, re-scan, or delete audits

Installation

pip install a11y-checker

Usage Example

import asyncio
from a11y_checker import A11yCheckerClient, Device, Language

async def main():
    async with A11yCheckerClient() as guest:
        # Run a new audit
        audit_request = await guest.scan("https://example.com", lang=Language.EN, device=Device.DESKTOP)
        print(audit_request)

        # Get audit
        audit = await guest.audit(uuid=audit_request['uuid'])
        print(audit)

        # Delete an audit
        await guest.delete_audit(audit['uuid'])

asyncio.run(main())

🔑 Get Your API Key

You can test as a guest, request an API key, or test the service directly on the website:

👉 https://wcag.dock.codes/contact-us/

Enums

Enum Description Example
Language Language for audits Language.EN, Language.PL, Language.DE
Device Device type for scanning Device.DESKTOP, Device.MOBILE, Device.ALL
AuditStatus Filter audits by status AuditStatus.PASSED, AuditStatus.FAILED, AuditStatus.TO_TESTS
Sort Sorting order for results Sort.CREATED_AT_DESC, Sort.LAST_AUDIT_ASC

Available Methods

Method Description
scan(url: str, lang: Language, device: Device, sync: bool, extra_data: bool, unique_key: Optional[str], key: Optional[str]) Run a new accessibility scan for a given URL.
audit(uuid: str, lang: Language, extra_data: bool key: Optional[str]) Get detailed results of a specific audit.
audits(search: str, page: int, per_page: int, sort: Sort, unique_key: Optional[str], key: Optional[str]) Fetch paginated audits with optional filtering and sorting.
rescan(uuid: str, lang: Language, sync: bool, extra_data: bool = False) Trigger a re-scan of an existing audit.
history(uuid: str, page: int, per_page: int, sort: Sort, key: Optional[str]) Fetch paginated audit history with optional filtering and sorting.
delete_audit(uuid: str, key: Optional[str]) Delete an existing audit.
delete_history(uuid: str, key: Optional[str]) Delete audit history.
user(key: Optional[str]) Get current user data.
update_audit_manual(uuid: str, criterion_id: int, status: AuditStatus, device: Device, key: Optional[str]) Updating the status of a single criterion from a manual audit.

Advanced Example: Parallel Audits

import asyncio
from a11y_checker import A11yCheckerClient

async def main():
    async with A11yCheckerClient(api_key="your-api-key") as client:
        results = await asyncio.gather(
            client.audit(uuid="uuid1"),
            client.audit(uuid="uuid2"),
            client.audit(uuid="uuid3"),
        )
        print(results)

asyncio.run(main())

🤝 Contributing Contributions are welcome! If you find a bug or want to improve the library, please open an issue or pull request on 👉 GitHub

Metadata

Release files for a11y-checker 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a11y-checker 1.0.4
File Size Uploaded Provenance
a11y_checker-1.0.4.tar.gz 5.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for a11y-checker 1.0.4
File Interpreter ABI Platform
a11y_checker-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 kB

Release files / a11y_checker-1.0.4.tar.gz

Download URL a11y_checker-1.0.4.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c083f40887b49fff68ee7c0297029b5968c0516756e1ad3e2f5c630e1d41f1de
BLAKE2b-256 checksum
How to use checksums
79309f856d6fd392c389d25d756e4f6d82f45a72a0db8a9bd876f51954bdaee1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / a11y_checker-1.0.4-py3-none-any.whl

Download URL a11y_checker-1.0.4-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84edab162603d69a6db783ca2a0fb2d12930176d0f49fbee3abf1d9974c66eb6
BLAKE2b-256 checksum
How to use checksums
d1c44701f058fb3211c4eb4d482d79369fb4b3caffcd52638429e3076ff84e3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for a11y-checker 1.0.4

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files No provenance

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