Exporting Data

Link to Exporting Data copied to clipboard
Free Trial

After running a scan you will be brought to the "Overview" tab with your scan results. There, you will find an "Export" button. When clicked, a dialog will appear allowing you to configure which type of export you would like along with the export format.

tip

Did you know that you can share an entire saved test record and all of its issues? Read more about sharing saved test records

Export types

Issue export

The issue export is supported in CSV, JSON and JUnit XML formats. This export will contain information pertaining to each accessibility violation found from both automatic testing as well as Intelligent Guided Testing.

Supported CSV Schemas

axe DevTools Pro CSV (default)
column name description
Rule ID The identifier for the accessibility rule
Description A description of the accessibility rule
Help Helpful information regarding the rule violated leading to issue
Help URL A URL with help for the given rule
Impact The impact or severity of the issue
Manual Whether the issue was found manually (IGT) or not
Needs Review Whether or not the potential issue needs manual review
IGT Which specific IGT was run to find issue (blank if not found by IGT)
Selector The CSS selector for the issue element
Summary Summary of issue
Source Code The HTML source code snippet of the issue element
Tags Metadata for the issue (categories, wcag checkpoint identifiers, etc.)
Found By User who peformed test in which issue was raised
Test Title The name of the saved test
Test URL The url of the page tested
Share URL The shared issue URL (only populated when issue or saved test explicitly shared)
Created At When the issue was first created
axe Reporter CSV

This schema is compatible with the "axe Reporter" CSV generated from axe DevTools API integrations. This schema is especially useful if you are aggregating data from both the axe DevTools browser extension and APIs/CLI.

column name description
Page URL The url of the page tested
Page Title The document title of the page tested
Outcome The outcome of the issue (will be blank for axe DevTools Extension)
Impact The impact or severity of the issue
Code Snippet The HTML source snippet of the issue element
Selector The CSS selector for the issue element
Remediation Issue remediation info
Manual Whether the issue was found manually (IGT) or not
Rule ID The identifier for the accessibility rule associated with the issue
Help Helpful information regarding the rule violated leading to issue
Description A description of the accessibility rule
Help URL A URL with help for the given rule
Standard Which WCAG standard/checkpoint the issue falls within
WCAG 2 Success Criteria The WCAG success criteria for the issue
Section 508 Paragraph Applicable Section 508 information for the issue
Tags Metadata for the issue (categories, wcag checkpoint identifiers, etc.)
Date Date the issue was found
axe-core Version of axe-core used in test which raised issue
Needs Review Whether or not the potential issue needs manual review
IGT Which specific IGT was run to find issue (blank if not found by IGT)
Found By User who peformed test in which issue was raised
Test Title The title name of the test
Share URL The shared issue URL (only populated when issue or saved test explicitly shared)

Supported JSON Schema

The JSON issue export is an array of issue data with the following properties for each issue:

Property name Type Description
axeVersion string The version of axe-core used for the test in which the issue was raised.
createdAt string The date/time in which the issue was raised.
description string A description of the issue.
foundBy string User who performed the test in which the issue was raised.
help string Helpful information regarding the rule violated leading to issue.
helpUrl string A URL with help for the given rule.
igt string The name of the IGT in which the issue was rased (null if not found in IGT).
impact string The impact or severity of the issue.
isManual boolean Whether the issue was found manually (IGT) or not.
needsReview boolean Whether or not the potential issue needs manual review.
ruleId string The identifier for the accessibility rule associated with the issue.
selector array An array of CSS-Selectors to target the node associated with the violation. Read axe-core's documentation on selectors.
shareURL string The shared issue URL (only populated when issue or saved test explicitly shared).
source string The HTML source snippet of the issue element.
summary string Summary of issue.
tags array Array of string tags of metadata for the issue (categories, wcag checkpoint identifiers, etc.).
testName string The name of the saved test in which the issue was found.
testPageTitle string The title of the document in which the issue was found.
testUrl string The url of the page tested.

JUnit XML Schema

All the issue data is wrapped in a <testsuites /> element. This element will contain the following attributes:

Attribute Description Example
id The WCAG level selected at the time of export. "wcag21AA"
name The name of the saved test or, for exports done before saving the results, the title of the document being tested "Recipe Dashboard"
package The name of the software in which the testing was performed. "axe DevTools Browser Extension"
timestamp The date/time of export. "2023-04-04T00:08:10.772Z" (result of new Date().toISOString())

Within the <testsuites /> there are <testcase /> elements. Each <testcase /> represents a "rule" failure. This element will contain the following attributes:

Attribute Description Example
name The rule ID. "aria-role-missing"
id Which IGT the issue was found in (will be omitted for auto issues). "igt:keyboard"

Within each <testcase /> element is a <failure /> element. This element represents a failure of the rule defined in the <testcase />. The <failure /> contains the following attributes:

Attribute Description Example
message The description of the issue (failure) followed by the rule help URL "The element's role is missing or is not appropriate for the element's function. https://docs.deque.com/issue-help/1.0.0/en/aria-role-missing"
impact The impact of the issue. "critical"

Within each <failure /> element each instance of the failure's selector ("CSS Path") and source code ("HTML") will be printed out. Each instance will be separated by --------. An example of this text is as follows:

CSS Path: body.Page--no-sidebar > #btn-1
HTML: &lt;div id=&quot;btn-1&quot; tabindex=&quot;0&quot;&gt;&lt;img src=&quot;https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png&quot; class=&quot;edit&quot; alt=&quot;Edit&quot;&gt;&lt;/div&gt;

--------

CSS Path: body.Page--no-sidebar > #btn-2
HTML: &lt;div id=&quot;btn-2&quot; tabindex=&quot;0&quot;&gt;&lt;img src=&quot;https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png&quot; class=&quot;edit&quot; alt=&quot;Edit&quot;&gt;&lt;/div&gt;
Example JUnit XML file

The following is an example JUnit XML export. In this example we have:

  • WCAG 2.1 AA level selected
  • Saved test name of "Recipe Dashboard"
  • 2 semantic-data-table-headers issues raised in the Table IGT
  • 3 keyboard-inaccessible issues raised in the Keyboard IGT
  • 2 aria-role-missing issues raised in the Keyboard IGT
<?xml version="1.0" encoding="utf-8"?>
<testsuites
  id="wcag21aa"
  name="Recipe Dashboard"
  package="axe DevTools Browser Extension"
  timestamp="2023-04-04T00:08:10.772Z"
>
  <properties>
    <property name="platform.userAgent" value="" />
    <property name="platform.testMachine" value="" />
    <property name="testSubject.fileName" value="" />
    <property name="testSubject.lineNum" value="-1" />
  </properties>
  <testcase
    name="semantic-data-table-headers"
    id="igt:table"
  >
    <failure
      message="The data table has missing or incomplete header cell markup. https://docs.deque.com/issue-help/1.0.0/en/semantic-data-table-headers"
      impact="critical"
    >
      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.RecipesTable:nth-of-type(3) > table.Table:nth-of-type(1) > thead.TableHead:nth-of-type(1) > tr.TableRow:nth-of-type(1) > td.TableCell.THead:nth-of-type(4)
      HTML: &lt;td class=&quot;TableCell THead&quot;&gt;Cook Time&lt;/td&gt;

      --------

      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.RecipesTable:nth-of-type(3) > table.Table:nth-of-type(1) > thead.TableHead:nth-of-type(1) > tr.TableRow:nth-of-type(1) > td.TableCell.THead:nth-of-type(7)
      HTML: &lt;td class=&quot;TableCell THead&quot;&gt;Yumminess&lt;/td&gt;
    </failure>
  </testcase>
  <testcase
    name="keyboard-inaccessible"
    id="igt:keyboard"
  >
    <failure
      message="There is no way to perform the function using only the keyboard on the same screen or on a qualifying conforming alternate version. https://docs.deque.com/issue-help/1.0.0/en/keyboard-inaccessible"
      impact="critical"
    >
      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.Recipes:nth-of-type(2) > div.Recipes__card:nth-of-type(16) > div.Recipes__card-foot:nth-of-type(3) > div.Button--primary:nth-of-type(1)
      HTML: &lt;div class=&quot;Button--primary&quot;&gt;&lt;span class=&quot;BracketLeft&quot; aria-hidden=&quot;true&quot;&gt;[&lt;/span&gt;&lt;span&gt;Cook Lemon Squares&lt;/span&gt;&lt;span class=&quot;BracketRight&quot; aria-hidden=&quot;true&quot;&gt;]&lt;/span&gt;&lt;/div&gt;

      --------

      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.Recipes:nth-of-type(2) > div.Recipes__card:nth-of-type(1) > div.Recipes__card-foot:nth-of-type(3) > div.Button--primary:nth-of-type(1)
      HTML: &lt;div class=&quot;Button--primary&quot;&gt;&lt;span class=&quot;BracketLeft&quot; aria-hidden=&quot;true&quot;&gt;[&lt;/span&gt;&lt;span&gt;Cook Chocolate Cake&lt;/span&gt;&lt;span class=&quot;BracketRight&quot; aria-hidden=&quot;true&quot;&gt;]&lt;/span&gt;&lt;/div&gt;

      --------

      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.Recipes:nth-of-type(2) > div.Recipes__card:nth-of-type(19) > div.Recipes__card-foot:nth-of-type(3) > div.Button--primary:nth-of-type(1)
      HTML: &lt;div class=&quot;Button--primary&quot;&gt;&lt;span class=&quot;BracketLeft&quot; aria-hidden=&quot;true&quot;&gt;[&lt;/span&gt;&lt;span&gt;Cook Kale Salad&lt;/span&gt;&lt;span class=&quot;BracketRight&quot; aria-hidden=&quot;true&quot;&gt;]&lt;/span&gt;&lt;/div&gt;
    </failure>
  </testcase>
  <testcase
    name="aria-role-missing"
    id="igt:keyboard"
  >
    <failure
      message="The element's role is missing or is not appropriate for the element's function. https://docs.deque.com/issue-help/1.0.0/en/aria-role-missing"
      impact="critical"
    >
      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.Recipes:nth-of-type(2) > div.Recipes__card:nth-of-type(16) > div.Recipes__card-head:nth-of-type(1) > div.Recipes__card-edit:nth-of-type(1)
      HTML: &lt;div class=&quot;Recipes__card-edit&quot; tabindex=&quot;0&quot;&gt;&lt;img src=&quot;https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png&quot; class=&quot;edit&quot; alt=&quot;Edit&quot;&gt;&lt;/div&gt;

      --------

      CSS Path: body.Page--no-sidebar > div#root:nth-of-type(1) > div.App:nth-of-type(1) > div.Layout:nth-of-type(1) > main#main-content.Main:nth-of-type(1) > div.Recipes:nth-of-type(2) > div.Recipes__card:nth-of-type(7) > div.Recipes__card-head:nth-of-type(1) > div.Recipes__card-edit:nth-of-type(1)
      HTML: &lt;div class=&quot;Recipes__card-edit&quot; tabindex=&quot;0&quot;&gt;&lt;img src=&quot;https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png&quot; class=&quot;edit&quot; alt=&quot;Edit&quot;&gt;&lt;/div&gt;
    </failure>
  </testcase>
</testsuites>

Saved test export

note

Newlines are escaped so all strings will be on a single line.

The "Saved Test and Issues" export follows the axe Export format schema.