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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| a11y_checker-1.0.4.tar.gz | 5.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.