Skip to main content

Automate Web Accessibility Testing using AXE/HTMLCS with Playwright Python

Project description

Accessibility Automation for Web Apps with Python and Playwright.

This project uses HTML CodeSniffer and Deque Axe

HTML CodeSniffer : checks HTML source code and detects any Accessibility violations. Comes with standards that cover the three (A, AA & AAA) conformance levels of the W3C's Web Content Accessibility Guidelines (WCAG) 2.1 and the U.S. Section 508 legislation.

Deque Axe : World’s leading digital accessibility toolkit. Powerful and accurate accessibility toolkit can get you to 80% issue coverage, or more, during development.

Features

  1. Simple & Easy to use
  2. No need of prior knowledge on Accessibility
  3. Works with Python Playwright
  4. Rich Reporting
  5. Open source

Installation

For maven based project add the below dependency

pip install python-a11y-playwright

Getting Started

Using HTML CodeSniffer

Below is the example usage using HTML CodeSniffer.

from pathlib import Path

from automateda11y.pw.settings import Settings
from playwright.sync_api import sync_playwright
from automateda11y.pw.htmlcsrunner import HtmlCsRunner


def json_reports_dir():
    return Path(__file__).parent.parent.__str__()


with sync_playwright() as p:
    Settings.report_dir = json_reports_dir() + '/reports'
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("http://playwright.dev")
    data = HtmlCsRunner(page).execute()
    browser.close()

Using Deque Axe

Below is the example usage using Deque Axe.

from pathlib import Path

from automateda11y.pw.settings import Settings
from playwright.sync_api import sync_playwright
from automateda11y.pw.axerunner import AxeRunner


def json_reports_dir():
    return Path(__file__).parent.parent.__str__()


with sync_playwright() as p:
    Settings.report_dir = json_reports_dir() + '/reports'
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("http://playwright.dev")
    data = AxeRunner(page).execute()
    browser.close()

Project details


Download files

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

Source Distribution

python-a11y-playwright-1.0.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

python_a11y_playwright-1.0.1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file python-a11y-playwright-1.0.1.tar.gz.

File metadata

  • Download URL: python-a11y-playwright-1.0.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for python-a11y-playwright-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ac0a6e87db1626f06fb31532d20462ada73b2a7e3cf191f837f00319f1474be8
MD5 1ecf14d61f4c864c6cd048eb404817c2
BLAKE2b-256 5f6546f79be7d70eb22525c015cf8662ed697a053fef6bb7d2cc0bd9428dd09c

See more details on using hashes here.

File details

Details for the file python_a11y_playwright-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for python_a11y_playwright-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f564d12201cdf33766ca3b16ac5469c97f38dd4af10f2aa6b574bc739871899d
MD5 6236933e46132e6f752fdf740a0b23a5
BLAKE2b-256 d6a5bc4b98e874d6425e1e5c07153c22357b6f5d3fd61e30dee575013f45aa13

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page