Dopo aver eseguito una scansione, accederai alla scheda "Panoramica" con i risultati. Lì troverai un pulsante "Esporta". Facendo clic su di esso, apparirà una finestra di dialogo che ti permetterà di configurare il tipo di esportazione desiderato insieme al formato di esportazione.
Sapevi che puoi condividere un'intera registrazione di test salvata e tutte le sue problematiche? Leggi di più su condivisione delle registrazioni di test salvate
Tipi di esportazione
Esportazione delle problematiche
L'esportazione delle problematiche è supportata nei formati CSV, JSON e JUnit XML. Questa esportazione conterrà informazioni relative a ciascuna violazione dell'accessibilità trovata sia tramite test automatico sia Test guidato intelligente.
Schemi CSV supportati
CSV di axe DevTools Pro (predefinito)
| nome della colonna | descrizione |
|---|---|
| ID regola | L'identificatore della regola di accessibilità |
| Descrizione | Una descrizione della regola di accessibilità |
| Aiuto | Informazioni utili riguardo la regola violata che ha portato al problema |
| URL di aiuto | Un URL con aiuto per la regola data |
| Impatto | L'impatto o la gravità del problema |
| Manuale | Se il problema è stato trovato manualmente (IGT) o meno |
| Necessita revisione | Se il potenziale problema necessita di una revisione manuale |
| IGT | Quale specifico IGT è stato eseguito per trovare il problema (vuoto se non trovato da IGT) |
| Selettore | Il selettore CSS per l'elemento del problema |
| Riepilogo | Riepilogo del problema |
| Codice sorgente | Il frammento di codice sorgente HTML dell'elemento del problema |
| Tag | Metadati per il problema (categorie, identificatori dei punti di controllo WCAG, ecc.) |
| Trovato da | Utente che ha eseguito il test in cui è stato sollevato il problema |
| Titolo del test | Il nome del test salvato |
| URL del test | L'URL della pagina testata |
| URL da condividere | L'URL del problema condiviso (popolato solo quando il problema o il test salvato viene esplicitamente condiviso) |
| Creato il | Quando il problema è stato creato la prima volta |
CSV di axe Reporter
Questo schema è compatibile con il CSV "axe Reporter" generato dalle integrazioni API di axe DevTools. Questo schema è particolarmente utile se stai aggregando dati sia dall'estensione del browser axe DevTools che da API/CLI.
| nome della colonna | descrizione |
|---|---|
| URL della pagina | L'url della pagina testata |
| Titolo della pagina | Il titolo del documento della pagina testata |
| Esito | L'esito del problema (sarà vuoto per l'estensione axe DevTools) |
| Impatto | L'impatto o la gravità del problema |
| Frammento di codice | Il frammento di sorgente HTML dell'elemento problematico |
| Selettore | Il selettore CSS per l'elemento problematico |
| Correzione | Informazioni sulla correzione del problema |
| Manuale | Se il problema è stato trovato manualmente (IGT) o meno |
| ID Regola | L'identificatore per la regola di accessibilità associata al problema |
| Aiuto | Informazioni utili riguardanti la regola violata che ha generato il problema |
| Descrizione | Una descrizione della regola di accessibilità |
| URL di aiuto | Un URL con aiuto per la regola indicata |
| Standard | In quale standard/controllo WCAG rientra il problema |
| Criteri di Successo WCAG 2 | I criteri di successo WCAG per il problema |
| Paragrafo Sezione 508 | Informazioni pertinenti della Sezione 508 per il problema |
| Tag | Metadati per il problema (categorie, identificatori dei checkpoint WCAG, ecc.) |
| Data | Data in cui è stato trovato il problema |
| axe-core | Versione di axe-core utilizzata nel test che ha generato il problema |
| Richiede Revisione | Se il problema potenziale necessita o meno di una revisione manuale |
| IGT | Quale specifico IGT è stato eseguito per trovare il problema (vuoto se non trovato da IGT) |
| Trovato da | Utente che ha eseguito il test in cui il problema è stato generato |
| Titolo del Test | Il nome del titolo del test |
| URL Condiviso | L'URL del problema condiviso (viene popolato solo quando il problema o il test salvato sono esplicitamente condivisi) |
Schema JSON Supportato
L'esportazione dei problemi JSON è un array di dati dei problemi con le seguenti proprietà per ciascun problema:
| Nome della proprietà | Tipo | Descrizione |
|---|---|---|
axeVersion |
stringa | La versione di axe-core utilizzata per il test in cui è stato sollevato il problema. |
createdAt |
stringa | La data/ora in cui è stato sollevato il problema. |
description |
stringa | Una descrizione del problema. |
foundBy |
stringa | Utente che ha eseguito il test in cui è stato sollevato il problema. |
help |
stringa | Informazioni utili riguardo alla regola violata che ha portato al problema. |
helpUrl |
stringa | Un URL con aiuti per la regola data. |
igt |
stringa | Il nome dell'IGT in cui è stato sollevato il problema (null se non trovato in IGT). |
impact |
stringa | L'impatto o la gravità del problema. |
isManual |
booleano | Se il problema è stato trovato manualmente (IGT) oppure no. |
needsReview |
booleano | Se il problema potenziale necessita di revisione manuale. |
ruleId |
stringa | L'identificatore per la regola di accessibilità associata al problema. |
selector |
array | Un array di selettori CSS per individuare il nodo associato alla violazione. Leggi documentazione di axe-core sui selettori. |
shareURL |
stringa | L'URL condiviso del problema (riempito solo quando il problema o il test salvato viene condiviso esplicitamente). |
source |
stringa | Il frammento del codice sorgente HTML dell'elemento del problema. |
summary |
stringa | Sommario del problema. |
tags |
array | Array di tag stringa di metadati per il problema (categorie, identificatori di checkpoint WCAG, ecc.). |
testName |
stringa | Il nome del test salvato in cui è stato trovato il problema. |
testPageTitle |
stringa | Il titolo del documento in cui è stato trovato il problema. |
testUrl |
stringa | L'URL della pagina testata. |
Schema XML JUnit
Tutti i dati del problema sono racchiusi in un elemento <testsuites />. Questo elemento conterrà i seguenti attributi:
| Attributo | Descrizione | Esempio |
|---|---|---|
id |
Il livello WCAG selezionato al momento dell'esportazione. | "wcag21AA" |
name |
Il nome del test salvato o, per le esportazioni eseguite prima di salvare i risultati, il titolo del documento sottoposto a test. | "Recipe Dashboard" |
package |
Il nome del software in cui è stato eseguito il test. | "axe DevTools Browser Extension" |
timestamp |
La data/ora dell'esportazione. | "2023-04-04T00:08:10.772Z" (risultato di new Date().toISOString()) |
All'interno del <testsuites /> ci sono <testcase /> elementi. Ogni <testcase /> rappresenta un fallimento della „regola“. Questo elemento conterrà i seguenti attributi:
| Attributo | Descrizione | Esempio |
|---|---|---|
name |
L'ID della regola. | "aria-role-missing" |
id |
In quale IGT è stato trovato il problema (verrà omesso per problemi automatici). | "igt:keyboard" |
All'interno di ogni elemento <testcase /> si trova un elemento <failure />. Questo elemento rappresenta un fallimento della regola definita nel <testcase />. Il <failure /> contiene i seguenti attributi:
| Attributo | Descrizione | Esempio |
|---|---|---|
message |
La descrizione del problema (fallimento) seguita dall'URL di aiuto della regola | "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 |
L'impatto del problema. | "critical" |
All'interno di ciascun elemento <failure />, ogni istanza del selettore del fallimento („Percorso CSS“) e del codice sorgente („HTML“) verrà stampata. Ogni istanza sarà separata da --------. Un esempio di questo testo è il seguente:
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>
--------
CSS Path: 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>Esempio di file JUnit XML
Di seguito è riportato un esempio di esportazione XML JUnit. In questo esempio abbiamo:
- Selezionato livello AA di WCAG 2.1
- Nome del test salvato "Recipe Dashboard"
- 2 problemi
semantic-data-table-headerssollevati nel Tabella IGT - 3 problemi
keyboard-inaccessiblesollevati nel Tastiera IGT - 2 problemi
aria-role-missingsollevati nel Tastiera 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: <td class="TableCell THead">Cook Time</td>
--------
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: <td class="TableCell THead">Yumminess</td>
</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: <div class="Button--primary"><span class="BracketLeft" aria-hidden="true">[</span><span>Cook Lemon Squares</span><span class="BracketRight" aria-hidden="true">]</span></div>
--------
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: <div class="Button--primary"><span class="BracketLeft" aria-hidden="true">[</span><span>Cook Chocolate Cake</span><span class="BracketRight" aria-hidden="true">]</span></div>
--------
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: <div class="Button--primary"><span class="BracketLeft" aria-hidden="true">[</span><span>Cook Kale Salad</span><span class="BracketRight" aria-hidden="true">]</span></div>
</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: <div class="Recipes__card-edit" tabindex="0"><img src="https://workshop2.dequelabs.com/46c642c98aecd147b905d063efb8a97d.png" class="edit" alt="Edit"></div>
--------
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: <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 interruzioni di riga sono scappate, quindi tutte le stringhe saranno su una sola riga.
L'esportazione "Test e Problemi Salvati" segue lo schema Formato di esportazione axe.
