Skip to main content

Robot Framework resources for automating accessibility tools

Project description

Robot Framework Accessibility Testing Libraries

This package bundles various Firefox-extensions for web site accessibility checking with some glue and pre-baked Robot Framework keyword libraries to enable automated accessibility regression testing with Selenium.

This package will not replace human made accessibility auditions. Nor will passing automated accessibility checks mean that your site is accessible.

Once your site has been audited on accessibility, however, these tools could help you to detect regression in accessibility with automated and continuously integrated accessibility tests.

(This package includes a Firefox profile with unmodified WAVE Toolbar and unmodified WCAG Contrast checker extensions pre-installed. WAVE toolbar, its interface elements, design elements, functionality, and underlying code are (c) WebAIM.)

Installation

$ pip install robotframework-selenium2accessibility

Example test

*** Settings ***

Resource  Accessibility/wavetoolbar.robot
Resource  Accessibility/contrastchecker.robot

Suite setup  Run keywords
...  Open accessibility test browser  Maximize Browser Window
Suite teardown  Close all browsers

*** Test Cases ***

Test single page
     [Documentation]  Single page test could interact with the target
     ...              app as much as required and end with triggering
     ...              the accessibility scan.
     Go to  http://www.plone.org/
     Check WAVE accessibility errors

Test multiple pages
    [Documentation]  Template based test can, for example, take a list
    ...              of URLs and perform accessibility scan for all
    ...              of them. While regular test would stop for the
    ...              first failure, template based test will just jump
    ...              to the next URL (but all failures will be reported).
    [Template]  Check both WAVE and color contrast
    http://www.plone.org/  wave=0  contrast=6
    http://www.drupal.org/  wave=0  contrast=5
    http://www.joomla.org/  wave=0  contrast=9
    http://www.wordpress.org/  wave=1  contrast=5

*** Keywords ***

Check both WAVE and color contrast
    [Arguments]  ${url}  ${wave}=0  ${contrast}=0
    Should not exceed maximum WAVE errors  ${url}  ${wave}
    Should not exceed maximum color contrast issues  ${url}  ${contrast}

Should not exceed maximum WAVE errors
    [Arguments]  ${url}  ${max}
    ${errors} =  Count WAVE accessibility errors  ${url}
    Should be true  ${errors} <= ${max}
    ...  WAVE Toolbar reported ${errors} errors for ${url}

Should not exceed maximum color contrast issues
    [Arguments]  ${url}  ${max}
    ${errors} =  Count color contrast issues  ${url}
    Should be true  ${errors} <= ${max}
    ...  WCAG Contrast checker reported ${errors} issue for ${url}

Running

$ pybot demo.robot

Read the docs for more detailed information.

Changelog

0.2.1 (2013-09-28)

  • Updated changelog.

0.2.0 (2013-09-28)

  • Renamed to robotframework-selenium2accessibility. Some WAVE-related keywords were renamed to avoid future namespace collision in keyword names. See docs for current keywords.

  • Added WCAG Contrast checker, integration and keywords.

0.1.3 (2013-05-26)

  • Fix to take page screenshot only when WAVE Toolbar reports errors

0.1.2 (2013-05-26)

  • Updated documentation.

0.1.1 (2013-05-25)

  • Fix packaging (removed non-ascii character from README)

0.1.0 (2013-05-25)

  • First pre-release

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

robotframework-selenium2accessibility-0.2.1.zip (387.8 kB view hashes)

Uploaded Source

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