Dopo aver eseguito una scansione, verrete indirizzati alla scheda "Panoramica" con i risultati della scansione. Lì troverai un pulsante "Esporta". Cliccandoci sopra, apparirà una finestra di dialogo che ti consentirà di configurare il tipo di esportazione che desideri, insieme al formato di esportazione.
Sapevi che puoi condividere l'intero record di un test salvato e tutti i relativi problemi? Per saperne di più sulla condivisione dei record dei test salvati
Tipi di esportazione
Esportazione dei problemi
L'esportazione dei problemi è supportata nei formati CSV, JSON e JUnit XML. Questa esportazione conterrà informazioni relative a ciascuna violazione dell'accessibilità rilevata sia dai test automatici sia dai test guidati intelligenti.
Schemi CSV supportati
axe DevTools Pro CSV (default)
Nome della colonna | descrizione |
---|---|
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: <div id="btn-1" tabindex="0"><img src="https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png" class="edit" alt="Edit"></div>
--------
Percorso CSS: body.Page--no-sidebar > #btn-2
HTML: <div id="btn-2" tabindex="0"><img src="https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png" class="edit" alt="Edit"></div>
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"
pacchetto="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="intestazioni-tabella-dati-semantici"
id="igt:tabella"
>
<failure
message="La tabella dati presenta un markup delle celle di intestazione mancante o incompleto. https://docs.deque.com/issue-help/1.0.0/it/semantic-data-table-headers"
impatto="critico"
>
Percorso CSS: 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:<td class="TableCell THead"> Tempo di cottura</td>
--------
Percorso CSS: 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:<td class="TableCell THead"> Delizioso</td>
</failure>
</testcase>
<testcase
name="tastiera-inaccessibile"
id="igt:tastiera"
>
<failure
message="Non è possibile eseguire la funzione utilizzando solo la tastiera sullo stesso schermo o su una versione alternativa conforme qualificata. https://docs.deque.com/issue-help/1.0.0/en/keyboard-inaccessible"
impact="critico"
>
Percorso CSS: 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:<div class="Button--primary"><span class="BracketLeft" aria-hidden="true">[</span><span>Cuocere i quadrotti di limone</span><span class="BracketRight" aria-hidden="true">]</span></div>
--------
Percorso CSS: 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:<div class="Button--primary"><span class="BracketLeft" aria-hidden="true">[</span><span>Cucinare la torta al cioccolato</span><span class="BracketRight" aria-hidden="true">]</span></div>
--------
Percorso CSS: 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: <div class="Button--primary"><span class="BracketLeft" aria-hidden="true">[</span><span>Cuocere l'insalata di cavolo nero</span><span class="BracketRight" aria-hidden="true">]</span></div>
</failure>
</testcase>
<testcase
name="aria-ruolo-mancante"
id="igt:tastiera"
>
<errore
message="Il ruolo dell'elemento è mancante o non è appropriato per la funzione dell'elemento. https://docs.deque.com/issue-help/1.0.0/en/aria-role-missing"
impatto="critica"
>
Percorso CSS: 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: <div class="Recipes__card-edit" tabindex="0"><img src="https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png" class="edit" alt="Edit"></div>
--------
Percorso CSS: 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: <div class="Recipes__card-edit" tabindex="0"><img src="https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png" class="edit" alt="Edit"></div>
</failure>
</testcase>
</testsuites>
Esportazione del test salvato
Le nuove righe vengono sottoposte a escape, quindi tutte le stringhe saranno su un'unica riga.
L'esportazione "Test e problemi salvati" segue lo schema axe Export format