Skip to main content

pypom-axe is a PyPOM extension to integrate accessibility tests using the aXe API.

Project description

pypom-axe integrates the aXe accessibility testing API with PyPOM.

License PyPI wheel Issues

Requirements

You will need the following prerequisites in order to use pypom-axe:

  • Python 2.7 or 3.6

  • PyPOM >= 1.2.0

Installation

To install pypom-axe:

$ pip install pypom-axe

Usage

pypom-axe will run the aXe accessibility checks by default whenever its wait_for_page_to_load() method is called.

If you overload wait_for_page_to_load(), you will need to call super([YOUR CLASS NAME], self).wait_for_page_to_load() within your overloaded method.

You can disable accessibility tests by setting the environment variable ACCESSIBILITY_DISABLED to true.

You can enable output of the JSON results by setting the environment variable ACCESSIBILITY_REPORTING to true. This will output files to ./results/, which must be created if it does not already exist.

base.py

from pypom_axe.axe import AxePage as Page

class Base(Page):

def wait_for_page_to_load(self, context=None, options=None, impact=None):
  super(Base, self).wait_for_page_to_load()
  self.wait.until(lambda s: self.seed_url in s.current_url)
  return self

You also have the option to customize the accessibility analysis using the parameters context, options, and impact.

context and options directly reflect the parameters used in axe-core. For more information on context and options, view the aXe documentation here.

The third parameter, impact, allows you to filter violations by their impact level.

The options are 'critical', 'serious' and 'minor', with the default value set to None.

This will filter violations for the impact level specified, and all violations with a higher impact level.

from pypom_axe.axe import AxePage as Page

class Base(Page):

def wait_for_page_to_load(self, context=None, options=None, impact=None):
  super(Base, self).wait_for_page_to_load(None, None, 'serious')
  self.wait.until(lambda s: self.seed_url in s.current_url)
  return self

Resources

CHANGELOG

version 0.1.0

  • Enabled the use of two new environment variables.

  1. ACCESSIBILITY_DISABLED=true will disable accessibility tests.

  2. ACCESSIBILITY_REPORTING=false will enable the output of JSON results.

version 0.0.7

  • Modified impact_included class method to reflect changes to the aXe API:

  • There are now only 3 impact levels: 'critical', 'serious', and 'minor'

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

pypom-axe-0.1.1.tar.gz (64.6 kB view details)

Uploaded Source

Built Distribution

pypom_axe-0.1.1-py2.py3-none-any.whl (66.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pypom-axe-0.1.1.tar.gz.

File metadata

  • Download URL: pypom-axe-0.1.1.tar.gz
  • Upload date:
  • Size: 64.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pypom-axe-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7110e60ce7d99c8006c64d478250786a8019f3ad77cb0a942644cee173fc68bc
MD5 822e8860023dacbd9d622484cf279319
BLAKE2b-256 1421e0e214749c2ce7976b7d774b5ffb3e7ec516ed8380ee24ea9c5a52934d16

See more details on using hashes here.

File details

Details for the file pypom_axe-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pypom_axe-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 745b3ec435c862783bec3df25e3f22b002743b2624f7e1d99dc339953594fb2e
MD5 91ac6a24aaeb4ad558992de4895a65f6
BLAKE2b-256 c92df6728c9fa07e3d3b97d8742bfeed7a9056775563453eb597704dc552e289

See more details on using hashes here.

Supported by

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