axe DevTools for Web API/CLI 4.0
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-sourcecom.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 acom.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 thanattest-run
- Default output directory for reports is now
axe-reports
rather thanattest-reports
type
property of json output is nowaxe-devtools-result
rather thanattest-result
- Name of config file that will be loaded by default is
config/axe-ruleset.json
rather thanconfig/attest.json
- Environmental variable that points to your config file is now AXE_RULESET_PATH rather than ATTEST_PATH
- Renamed the
isAccesible
method of theIsAccessible
matcher toisAxeClean
- 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
toaxe
. Uri
mode is no longer available, call axe with your URLs asaxe https://deque.com
instead ofattest uri https://deque.com
.