axe DevTools for Web API/CLI 4.0

Link to axe DevTools for Web API/CLI 4.0 copied to clipboard

Release Date: September 14, 2020

Overview

Each integration package (JavaScript, Java, Ruby, C#) is rebranded from top to bottom to reflect the new axe DevTools branding. Rebranding affects classes, methods, file names and paths, and examples across the board.

With this release, Attest APIs are deprecated. We will continue to release security updates to the latest patch version of the Attest packages until September 2021.

What's New with axe DevTools JavaScript

New Features

  • axe DevTools npm includes integration with axe-core 4.0.1.
  • Add a new @axe-devtools/logger package to write axe results out to disk

Breaking features from Attest HTML Suite 2.12

  • Renamed all packages and changed the package scope
    • @deque/aget to @axe-devtools/cli
    • @deque/attest-webdriverjs to @axe-devtools/webdriverjs
    • @deque/attest-webdriverio to @axe-devtools/webdriverio
    • @deque/attest-puppeteer to @axe-devtools/puppeteer
    • @dque/karma-attest-reporter to @axe-devtools/karma-json-reporter
    • @deque/attest to @axe-devtools/browser
    • @deque/attest-node to @axe-devtools/script-builder
    • @deque/attest-reporter moved to axe-devtools/cli
    • @deque/attest-standards moved to axe-devtools/cli
  • Integrate reporter and standards into axe DevTools CLI
  • Removed all unscoped packages
  • Removed the deprecated “devmin” ruleset
  • Remove deprecated worldspace-mapping
  • Removed --timeout flag
  • CLI: compat mode is now default and not optional
  • Browser: Global Attest is not created when using CommonJS, ESM or RJS
  • CLI ruleset: Remove deprecate ver property
  • Script-builder: Remove deprecate CLI from attest-node/script-builder
  • CLI Reporter: remove deprecated init api users must now use the constructor instead
  • CLI Ruleset: use as a grunt action is no longer supported
  • Browser: remove a11yhelper.js, use it as an example instead

What's New with axe DevTools Java

New Features

Axe DevTools Java includes integration with axe-core 4.0.2.

Rebranding

Axe DevTools Java contains the following packages:

  • axe-core:selenium
  • com.deque.html.axecore.results
  • com.deque.html.axecore.axeargs
  • com.deque.html.axecore.selenium
  • com.deque.html.axecore.selenium.extensions
  • com.deque.html.axecore.selenium.providers
  • axe-devtools:selenium
  • com.deque.html.axedevtools.reporter
  • com.deque.html.axedevtools.selenium
  • com.deque.html.axedevtools.selenium.results
  • com.deque.html.axedevtools.selenium.reporter
  • axe-devtools:hamcrest
  • com.deque.html.axedevtools.matchers
  • com.deque.html.axedevtools.matchers.selectors
  • axe-devtools:cucumber
  • Com.deque.html.axedevtools.cucumber

Class name updates

All classes with the word Attest in the name will have it replaced with axe. The renamed Attest class is AxeSelenium.

Specific changes include:

Before After
Attest AxeSelenium
AttestConfiguration AxeConfiguration
AttestDriver AxeDriver
AttestReportingOptions AxeReportingOptions
AttestWorld AxeWorld
AttestMatcher AxeMatcher
AttestReporter AxeReporter

axe DevTools Selenium

Lots of internal changes to switch over from depending on axe-core-java and attest-java-reporter to axe-core:selenium.

Most changes call the equivalent method on axe-core:selenium::AxeBuilder instead of axe-core-java::Axe.

Functionality formerly provided by the AxeDriver class is available via the axe-core:selenium::Axe class instead.

Attest Java Reporter

The com.deque.html.axe-core.results package moved into axe-core:selenium and the com.deque.reporter package move into axe-devtools:selenium.

axe DevTools Selenium Hamcrest

  • Dependent on the axe-devtools:selenium package.
  • New package names and the matchers folder moved accordingly.

axe DevTools Selenium Cucumber

Dependent on the axe-devtools:selenium-hamcrest package.
New package names. The cucumber folder moved accordingly.

Breaking features from Attest Java v3.7

  • No longer depends on com.deque:axe-core. Now depends on our open-source com.deque.html.axe-core:selenium
  • Group ID changed from com.deque to com.deque.html.axe-devtols
  • com.deque.html.axedevtools.selenium.AxeDriver (used to be AttestDriver) no longer has a constructor that takes a com.deque.axe.AxeDriver
  • Removed the devmin ruleset
  • Default ruleset is now wcag2
  • Result json files will be saved with the test suite name axe-run rather than attest-run
  • Default output directory for reports is now axe-reports rather than attest-reports
  • type property of json output is now axe-devtools-result rather than attest-result
  • Name of config file that will be loaded by default is config/axe-ruleset.json rather than config/attest.json
  • Environmental variable that points to your config file is now AXE_RULESET_PATH rather than ATTEST_PATH
  • Renamed the isAccesible method of the IsAccessible matcher to isAxeClean
  • Rename the cucumber directive to be accessible to axe clean (e.g. usage is now "Then the page should be axe clean").

What's New with axe DevTools Gems

New Features

Axe DevTools Ruby includes integration with axe-core 4.0.1.

Package names on RubyGems

The following namespaces on RubyGems:

  • axe-devtools-selenium
  • axe-devtools-cucumber

Rebranding

Attest Ruby components are renamed throughout the package to reflect the new axe DevTools branding.

Package reorganization

Ruby packages are now split similarly to the approach as the npm integration. Someone using RSpec may not be using cucumber-ruby or vice versa. cucumber-ruby is the full name because cucumber-ruby is the name of the package interface.

Current Name New Name
attest-ruby axe-devtools-selenium
axe-devtools-rspec
axe-devtools-capybara
axe-devtools-cucumber
axe-devtools-watir

Breaking features from Attest Ruby v2.6

The Attest-ruby package is completely replaced with the following new packages:

  • axe-devtools-selenium
  • axe-devtools-rspec
  • axe-devtools-capybara
  • axe-devtools-cucumber
  • axe-devtools-watir

What's New with axe DevTools C#

New Features

  • axe DevTools C# includes integration with axe-core 4.0.1.
  • Sandboxed iframe testing is enabled.

Rebranding

The axe DevTools rebranding effort resulted in renaming the following classes and namespaces:

  • Deque.AxeDevtools.Selenium
    • AxeSelenium
    • AxeDriver
    • ReportConfiguration
  • Deque.AxeDevtools.Results
    • Classes unchanged
  • Deque.AxeDevtools.RunOptions
    • Classes unchanged
  • Deque.AxeDevtools.Spec
    • Classes unchanged

Breaking features from Attest C# v1.1.0

  • Attest-csharp is renamed to axe-devtools-selenium
  • Change the default ruleset to wcag2
  • Removed the devmin ruleset

What's New with axe DevTools CLI (AGet)

Axe DevTools CLI includes integration with axe-core 4.0.1

The axe DevTools CLI unifies axe DevTools CLI tools. Attest included four CLI tools before 4.0 and the rebranding effort:

  • axe-cli
  • aget
  • attest-reporter
  • attest-standards

Users should have a global axe command that can initiate from either @axe-core/cli or @axe-devtools/cli. The @axe-core/cli installs globally, and @axe-devtools/cli install locally. Running axe makes @axe-devtools/cli options available in projects, including @axe-devtools/cli installation.

The command line output of both URI mode and Spec mode follow the current format used in axe-cli.

@axe-devtools/cli includes the following URI commands:

  • spec
  • reporter
  • ruleset

@axe-core/cli includes one URI command only.

New Features

All Selenium configuration options are available as CLI flags All Selenium configuration options are available as flags in the CLI. Currently, in AGet, Selenium configuration does the work for us. The new CLI treats whatever is set up that way as the default, and the Selenium flags are available in the CLI to override these defaults. This feature is available in both spec and URI mode.

The new CLI tools provide the following flags:

  • browser
  • headless
  • page-timeout
  • script-timeout
  • accept-untrusted
  • post-get-pause
  • post-script-pause
  • post-analyze-pause

Breaking features from Attest HTML Suite 2.12

  • CLI name has changed from aget to axe.
  • Uri mode is no longer available, call axe with your URLs as axe https://deque.com instead of attest uri https://deque.com.