axe-playwright-python
Automated web accessibility testing using axe-core engine and Playwright.
What it is and what it does
axe-playwright-python wraps the axe-core accessibility testing engine for use with Playwright's Python client. It lets you programmatically scan web pages for accessibility violations—missing alt text, contrast issues, keyboard navigation problems, and other WCAG failures—by launching a browser, navigating to a page, and running the audit. The package returns structured results listing violations and their severity.
You integrate it into test suites, CI/CD pipelines, or standalone scripts to catch accessibility regressions before deployment. It depends only on playwright, making installation straightforward. The maintainer actively develops it and supports modern Python versions.
Use it for:
- Run accessibility audits in CI/CD pipelines to gate deployments on WCAG compliance.
- Build automated test suites that verify accessibility across multiple pages or user flows.
- Generate accessibility audit reports for stakeholder review or compliance documentation.
- Detect regressions in accessibility during development by running audits on staging environments.
- Integrate accessibility checks into test frameworks alongside functional and performance tests.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Runs automated accessibility audits on web pages using the axe-core engine through Playwright, identifying WCAG violations and accessibility issues.
Yes. The package is actively maintained, has low install friction, and solves a real problem—automating accessibility testing with a mature engine (axe-core) and a widely-used browser automation tool (Playwright). The only caveat is the unclear license status; verify the actual license before using in proprietary or commercial projects.
Install
axe-playwright-python on PyPI
pip
pip install axe-playwright-pythonuv
uv add axe-playwright-pythonpoetry
poetry add axe-playwright-pythonInstalling axe-playwright-python
Before you install
Low friction: single runtime dependency (playwright) with a wheel distribution available. Actively maintained—last commit 2026-07-24, released 21 days ago. Supports Python 3.8 through 3.14.
License in practice
License status is unclear; neither SPDX nor raw license metadata is present in the package metadata. Verify the actual license terms before adopting in a commercial or proprietary context.
Quickstart
pip install axe-playwright-python
python3 -m playwright install --with-deps
from playwright.sync_api import sync_playwright
from axe_playwright_python.sync_playwright import Axe
axe = Axe()
with sync_playwright() as playwright:
browser = playwright.chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
results = axe.run(page)
print(f"Violations: {results.violations_count}")
Requires Python >= 3.8 and playwright >= 1.25.0; playwright install --with-deps must be run to download browser binaries.
Verify before relying
- Whether the package's license is compatible with your use case (license metadata is absent from the package record).
- Whether async/await patterns are supported in addition to the sync_playwright API shown in the excerpt.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — playwright |
| Maintenance | actively maintained — 21 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 411,398/month — #6,857 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: axe_playwright_python-0.1.8-py3-none-any.whl
Keywords: accessibility, axe, axe-core, playwright
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
axe-selenium-pythonIntegrates aXe accessibility testing with…
copyleft · top 15,000 on PyPI
playwrightAutomate Chromium, Firefox, and WebKit browsers…
permissive · top 1,000 on PyPI
rebrowser-playwrightA patched version of Playwright that automates…
permissive · top 15,000 on PyPI
tf-playwright-stealthPatches Playwright to evade bot-detection…
permissive · top 15,000 on PyPI
eyes-commonBase SDK package for Applitools Eyes that…
unclear · top 15,000 on PyPI
patchrightPatchright is an undetected fork of Playwright…
permissive · top 5,000 on PyPI
scrapy-playwrightIntegrates Playwright browser automation into…
permissive · top 5,000 on PyPI
pytest-playwrightA pytest plugin that integrates Playwright…
permissive · top 5,000 on PyPI
install-playwrightProvides a Python function to execute the…
permissive · top 15,000 on PyPI
pytest-playwright-asyncioA pytest plugin that integrates Playwright…
permissive · top 15,000 on PyPI