Browser JavaScript API-referentie voor Axe DevTools voor Web
Bespreekt de Browser JavaScript API's voor Axe DevTools voor Web en hun gebruik
Inleiding
De Axe DevTools API is ontworpen als een verbetering ten opzichte van de vorige generatie toegankelijkheids-API's. Het biedt de volgende voordelen:
- Werkt in elke moderne browser
- Ontworpen om te werken met bestaande testinfrastructuur
- Werkt lokaal; er is geen verbinding met een externe server nodig
- Voert schendingcontroles uit op meerdere niveaus van geneste iframes
- Biedt een lijst van regels en elementen die de toegankelijkheidscontrole hebben doorstaan, waarmee wordt gewaarborgd dat regels op het gehele document zijn toegepast
Aan de slag
Dit gedeelte beschrijft kort hoe de Axe DevTools API's kunnen worden gebruikt om de inhoud van webpagina's te analyseren en een JSON-object terug te geven dat eventuele gevonden toegankelijkheidsschendingen opsomt.
De Axe DevTools API kan worden gebruikt als onderdeel van een breder proces dat op veel, zo niet alle, pagina's van een website wordt uitgevoerd. De API analyseert de inhoud van webpagina's en geeft een JSON-object terug dat eventuele gevonden toegankelijkheidsschendingen opsomt. Zo kun je beginnen:
- Laad pagina in het testsysteem
- Stel optioneel configuratie-opties in voor de JavaScript-API (
AxeDevTools.configure) - Roep de analyse JavaScript-API aan (
AxeDevTools.run) - Voer een check uit tegen de resultaten of bewaar ze voor latere verwerking
API-referentie
Overzicht
De Axe DevTools API's worden geleverd in het JavaScript-bestand axe-devtools.js. Het moet in de webpagina onder test worden opgenomen. Parameters worden verzonden als parameters van de JavaScript-functie. Resultaten worden geretourneerd in JSON-formaat.
API-opmerkingen
- Een regeltest bestaat uit subtests. Elke subtest wordt geretourneerd in een array van 'checks'
- De
"helpUrl"in het resultatenobject leidt naar een bredere beschrijving van het toegankelijkheidsprobleem en de voorgestelde oplossing. Alle links verwijzen naar de help-pagina's van Deque University.
AxeDevTools.init
Deze API is niet beschikbaar via taal-specifieke bindings zoals @axe-devtools/script-builder, omdat die bindings hun eigen API's hebben voor hetzelfde doel.
Doel
Initialiseer de Axe DevTools API om een van de ingebouwde standaardregelsets te gebruiken.
Beschrijving
Initialiseert de Axe DevTools-engine, overschrijft de standaardregelset en stelt een van de standaardregelsubsets in.
Je moet ofwel AxeDevTools.configure of AxeDevTools.init gebruiken, maar niet beide, omdat ze elkaar zullen overschrijven.
Samenvatting
AxeDevTools.init(ruleSetID);
Parameters
-
ruleSetID- optioneel String die de regelset identificeert. Huidige geldige waarden zijn:- 508
- en301549
- rgaav4
- ttv5
- wcag2
- wcag21
- wcag22
- wcag2aaa
- wcag21aaa
- wcag22aaa
Retourneert: undefined
AxeDevTools.ruleSets
Deze API is niet beschikbaar via taal-specifieke bindings zoals @axe-devtools/script-builder, omdat die bindings hun eigen API's hebben voor hetzelfde doel.
Doel
Een reeks van de standaardregelsetdefinities
Beschrijving
Geeft directe toegang tot de array met standaardregelsetdefinities. De array bestaat uit JavaScript-objecten met de volgende structuur:
{
id: String identifier for the rule set,
defn: Object containing the rule set definition
}Voorbeeld Een
Hoe het array te filteren om de definitie van WCAG 2 niveau A en AA regelset te vinden.
var rsets = AxeDevTools.ruleSets;
var wcag2 = rsets.filter(function (item) {
return item.id === 'wcag2';
})[0].defn;AxeDevTools.getRules
Doel
Om informatie te verkrijgen over alle regels in het systeem
Beschrijving
Geeft een lijst terug van alle regels met hun ID en beschrijving.
Samenvatting
AxeDevTools.getRules([Tag Name 1, Tag Name 2...]);
Parameters
tags- optioneel Array van tags die worden gebruikt om de geretourneerde regels te filteren. Indien weggelaten, worden alle regels teruggestuurd.
Retourneert: Array van regels die overeenkomen met de invoerfilter waarbij elke invoer het formaat heeft van {ruleId: <id>, description: <desc>}
De huidige set ondersteunde tags staat in de volgende tabel:
| Tagnaam | Toegankelijkheidsstandaard |
|---|---|
| wcag2a | WCAG 2.0 Niveau A |
| wcag2aa | WCAG 2.0 Niveau AA |
| wcag2aaa | WCAG 2.0 Niveau AAA |
| wcag21a | WCAG 2.1 Niveau A |
| wcag21aa | WCAG 2.1 Niveau AA |
| wcag21aaa | WCAG 2.1 Niveau AAA |
| wcag22a | WCAG 2.2 Niveau A |
| wcag22aa | WCAG 2.2 Niveau AA |
| wcag22aaa | WCAG 2.2 Niveau AAA |
| section508 | Sectie 508 |
| EN-301-549 | EN 301 549 |
| RGAAv4 | RGAA Versie 4 |
| TTv5 | Trusted Tester v5 |
| best-practice | Best practices goedgekeurd door Deque |
Voorbeeld 1
In dit voorbeeld geven we de WCAG 2 A en AA tags door aan AxeDevTools.getRules om alleen die regels op te halen. De functieaanroep retourneert een array van regels.
Oproep: AxeDevTools.getRules(['wcag2aa', 'wcag2a']);
Geretourneerde gegevens:
[
{ ruleId: "area-alt", description: "Checks the <area> elements of image…" },
{ ruleId: "aria-allowed-attr", description: "Checks all attributes that start…" },
{ ruleId: "aria-required-attr", description: "Checks all elements that contain…" },
…
]AxeDevTools.configure
Doel
Om het formaat van de gegevens die door Axe DevTools worden gebruikt te configureren. Dit kan worden gebruikt om nieuwe regels toe te voegen, die moeten worden geregistreerd in de bibliotheek om te worden uitgevoerd.
Beschrijving
De gebruiker specificeert het formaat van de JSON-structuur die wordt doorgegeven aan de callback van AxeDevTools.run.
Samenvatting
AxeDevTools.configure({
branding: {
brand: String,
application: String
},
reporter: 'option',
checks: [Object],
rules: [Object]
});Parameters
configurationOptions- Opties-object waarin de geldige naam/waarde-paren zijn:branding- gemengd (optioneel) Gebruikt om de branding van dehelpUrlsin te stellen.brand- string (optioneel) stelt de merknaam in--standaard: „worldspace“application- string (optioneel) stelt de applicatiestring in--standaard: „AxeDevToolsAPI“
reporter- Gebruikt om het uitvoerformaat in te stellen dat deAxeDevTools.runfunctie zal doorgeven aan de callback-functiev1om het formaat van de vorige versie te gebruiken:AxeDevTools.configure({ reporter: "v1" });v2om het formaat van de huidige versie te gebruiken:AxeDevTools.configure({ reporter: "v2" });
checks- Gebruikt om controles toe te voegen aan de lijst van controles die door regels worden gebruikt of om de eigenschappen van bestaande controles te overschrijven.- De controles-attribuut is een array van controle-objecten.
- Elk controle-object kan de volgende attributen bevatten:
id- string (vereist). Dit identificeert de controle uniek. Als de controle al bestaat, zullen alle verstrekte controle-eigenschappen worden overschreven. De onderstaande eigenschappen gemarkeerd vereist als nieuw zijn optioneel wanneer de controle wordt overschreven.evaluate- functie (vereist als nieuw). Dit is de functie die de functionaliteit van de controle implementeert.after- functie (optioneel). Deze functie wordt aangeroepen voor controles die op pagina-niveau opereren om de resultaten van de iframes te verwerken.options- gemengd (optioneel). Ditoptionsobject wordt doorgegeven aan deevaluatefunctie en is bedoeld om te gebruiken bij het configureren van controles. Het is de meest gebruikelijke eigenschap die wordt overschreven voor bestaande controles.matches- string (optioneel). Deze CSS-selectorstring zal de knooppunten filteren die aan deevaluatefunctie worden doorgegeven.enabled- boolean (optioneel, standaardtrue). Dit geeft aan of de controle standaard aan of uit staat. Controles die uit staan, worden niet geëvalueerd, zelfs niet als ze in een regel zijn opgenomen. Het overschrijven hiervan is een gebruikelijke manier om een bepaalde controle uit te schakelen over meerdere regels.
rules- Gebruikt om regels toe te voegen aan de bestaande set regels of om de eigenschappen van bestaande regels te overschrijven. Hetrulesattribuut is een array vanruleobjecten. Elkruleobject kan de volgende attributen bevatten:id- string (vereist). Dit identificeert de regel uniek. Als de regel al bestaat, zal het worden overschreven met alle verstrekte attributen. De hieronder gemarkeerde attributen die als vereist zijn gemarkeerd, zijn alleen vereist voor nieuwe regels.selector- string (optioneel, standaard*). Een CSS-selector die wordt gebruikt om de elementen te identificeren die aan de regel worden doorgegeven voor evaluatie.excludeHidden- boolean (optioneel, standaardtrue). Dit geeft aan of verborgen elementen aan de regel moeten worden doorgegeven voor evaluatie.enabled- boolean (optioneel, standaardtrue). Of de regel aan staat (een veelvoorkomend attribuut voor overschrijving).pageLevel- boolean (optioneel, standaardfalse). Dit geeft aan of de pagina alleen werkt wanneer de scope de hele pagina is. Een voorbeeld van zo'n regel is de link overslaan regel. Het wordt niet aanbevolen om deze eigenschap te overschrijven, tenzij de implementatie ook wordt gewijzigd.any- array (optioneel, standaard[]). Dit is de lijst van controles die allemaal moeten slagen, anders is er een overtreding.all- array (optioneel, standaard[]). Dit is de lijst van controles die, als er een mislukt, een overtreding zullen genereren.none- array (optioneel, standaard[]). Dit is een lijst van de controles die, als er geen slagen, een overtreding zullen genereren.tags- array (optioneel, standaard[]). Een lijst van de tags die classificeren de regel. In de praktijk moet u enkele geldige tags opgeven, anders zal de standaard evaluatie de regel niet aanroepen. De conventie is om de standaard (WCAG 2 en/of sectie 508), het WCAG 2-niveau, de paragraaf van Sectie 508, en de succescriteria van WCAG 2 op te nemen. Tags worden geconstrueerd door alle letters naar kleine letters om te zetten, spaties en punten te verwijderen, en het resultaat samen te voegen. Bijvoorbeeld, WCAG 2 A succescriteria 1.1.1 wordt [„wcag2a“, „wcag111“]matches- string (optioneel, standaard*). Een CSS-selector die elementen uitsluit die er niet mee overeenkomen.
Geeft terug: Niets
AxeDevTools.reset
Doel
Herstel de configuratie naar de standaardconfiguratie.
Beschrijving
Overschrijf alle eerdere aanroepen van AxeDevTools.configure of AxeDevTools.reset en herstel de configuratie naar de standaardconfiguratie.
Dit zal niet eventuele nieuwe regels of controles die waren geregistreerd uitschrijven, maar zal de configuratie terugzetten naar de standaardconfiguratie voor al het andere.
Samenvatting
AxeDevTools.reset();
Parameters
Geen
Geeft terug: ongedefinieerd
AxeDevTools.run
Doel
Analyseer de huidige geladen pagina.
Beschrijving
Voert verschillende regels uit tegen de verstrekte HTML-pagina en retourneert de resulterende lijst van problemen.
Samenvatting
AxeDevTools.run(context, options, callback);Parameters voor AxeDevTools.run
context: (optioneel) Definieert de reikwijdte van de analyse—het deel van de DOM dat u wilt analyseren. Dit zal doorgaans dedocumentof een specifieke selector zoals klasse naam, ID, selector, etc. zijn.options: (optioneel) Set aan opties die worden doorgegeven aan regels of controles, die deze tijdelijk wijzigen. Dit staat in contrast metAxeDevTools.configure, dat permanenter is. Zie hierboven voor meer informatiecallback: (optioneel) De terugroepfunctie die ofwelnullof een foutresultaat als eerste parameter ontvangt, en de resultatenobject wanneer de analyse succesvol is voltooid ofundefinedals dat niet het geval was.
context Parameter
Standaard zal AxeDevTools.run het gehele document testen. Het context object is een optionele parameter die specificeert welk element wel en welk niet moet worden getest. Het kan een van de volgende ontvangen:
- Een elementreferentie die het deel van het document vertegenwoordigt dat moet worden geanalyseerd
- Voorbeeld: Om de analyse te beperken tot het
<div id="content">element:document.getElementById("content")
- Voorbeeld: Om de analyse te beperken tot het
- Een NodeList zoals geretourneerd door
document.querySelectorAll. - Een CSS-selector die het deel van het document selecteert dat moet worden geanalyseerd. Dit omvat:
- Een CSS-selector als een klasse naam (bijv.
.classname) - Een CSS-selector als een nodenaam (bijv.
div) - Een CSS-selector van een element-ID (bijv.
#tag)
- Een CSS-selector als een klasse naam (bijv.
- Een include-exclude object (zie hieronder)
include en exclude Objecten
Het include-exclude object is een JSON-object met twee attributen: include en exclude. Ofwel include of exclude is vereist. Als alleen exclude is gespecificeerd, zal include standaard het gehele document zijn.
- Een node, of
- Een array van arrays van CSS-selectors
In de meeste gevallen zullen de arrays slechts één CSS-selector bevatten. Meerdere CSS-selectors zijn alleen nodig als u regio's van een pagina wilt opnemen of uitsluiten die zich binnen iframes bevinden (of iframes binnen iframes binnen iframes). In dit geval selecteren de eerste n-1 selectors de iframe(s), en de n-de selector selecteert de regio('s) binnen de iframe.
context Parameter Voorbeelden
-
Neem het eerste item in de
$fixtureNodeList op, maar sluit het eerste kind uit{ include: $fixture[0], exclude: $fixture[0].firstChild } -
Neem het element met de ID van
fixop, maar sluit alledivs binnenin uit{ include: [['#fix']], exclude: [['#fix div']] } -
Neem het hele document op, behalve structuren waarvan de ouder de klasse
exclude1ofexclude2bevat{ exclude: [['.exclude1'], ['.exclude2']]; }
options Parameter
De options-parameter is een flexibele manier om te configureren hoe AxeDevTools.run functioneert. De verschillende modi van werking zijn:
- Voer alle regels uit die overeenkomen met een van de toegankelijkheidsnormen.
- Voer alle regels uit die in het systeem zijn gedefinieerd behalve de lijst met gespecificeerde regels.
- Voer een specifieke set regels uit die wordt verstrekt als een lijst van regel-ID's.
options Parameter Voorbeelden
-
Voer alleen Regels voor een toegankelijkheidsnorm uit
Er zijn bepaalde normen gedefinieerd die kunnen worden gebruikt om een set regels te selecteren. De gedefinieerde normen en tagstrings worden als volgt gedefinieerd:
Tagnaam Toegankelijkheidsnorm wcag2a WCAG 2.0 Niveau A wcag2aa WCAG 2.0 Niveau AA wcag2aaa WCAG 2.0 Niveau AAA wcag21a WCAG 2.1 Niveau A wcag21aa WCAG 2.1 Niveau AA wcag21aaa WCAG 2.1 Niveau AAA wcag22a WCAG 2.2 Niveau A wcag22aa WCAG 2.2 Niveau AA wcag22aaa WCAG 2.2 Niveau AAA section508 Sectie 508 EN-301-549 EN 301 549 TTv5 Trusted Tester v5 beste-praktijken Beste praktijken ondersteund door Deque Om alleen WCAG 2.0 Niveau A-regels uit te voeren, specificeer
optionsals:{ runOnly: { type: "tag", values: ["wcag2a"] } }Om zowel WCAG 2.0 Niveau A als Niveau AA-regels uit te voeren, moet je zowel
wcag2aalswcag2aaspecificeren:{ runOnly: { type: "tag", values: ["wcag2a", "wcag2aa"] } } -
Voer alleen een opgegeven lijst met regels uit
Als je alleen bepaalde regels wilt uitvoeren, specificeer dan opties als:
{ runOnly: { type: "rule", values: [ "ruleId1", "ruleId2", "ruleId3" ] } }Dit voorbeeld zal alleen de regels uitvoeren met de id van
ruleId1,ruleId2enruleId3. Geen enkele andere regel wordt uitgevoerd. -
Voer alle ingeschakelde regels uit behalve een lijst met regels
De standaardoperatie voor
AxeDevTools.runis om alle WCAG 2.0 Niveau A en Niveau AA-regels uit te voeren. Als bepaalde regels niet moeten worden uitgevoerd, specificeer danoptionsals:{ "rules": { "color-contrast": { enabled: false }, "valid-lang": { enabled: false } } }Dit voorbeeld schakelt de regels met de
color-contrastofvalid-langID uit. Alle andere regels worden uitgevoerd. De lijst van geldige regel-ID's is gespecificeerd in de onderstaande sectie. -
Voer een gewijzigde set regels uit met behulp van tags en regel inschakelen
Een gewijzigde set kan worden gedefinieerd door
runOnlyte combineren mettypeingesteld op de gewenste tags en gebruikmakend van derulesoptie. Hiermee kun je regels met niet-gespecificeerde tags opnemen en regels met de gespecificeerde tag of tags uitsluiten.{ runOnly: { type: "tag", values: ["wcag2a"] }, "rules": { "color-contrast": { enabled: true }, "valid-lang": { enabled: false } } }Dit voorbeeld omvat alle Niveau A-regels behalve voor
valid-lang, en het zal ook de Niveau AA kleurcontrastregel omvatten. -
Voer alleen enkele tags uit, maar sluit andere uit
De
runOnlyoptie kan een object accepteren met eenincludeenexcludeeigenschap. Alleen die controles die overeenkomen met een opgenomen tag worden uitgevoerd, behalve die die een tag delen uit de uitsluitlijst.{ runOnly: { type: 'tags', value: { include: ['wcag2a', 'wcag2aa'], exclude: ['experimental'] } } }Dit voorbeeld omvat eerst alle
wcag2aenwcag2aaregels. Alle regels die getagd zijn alsexperimentalworden vervolgens verwijderd uit de uit te voeren regels.
callback Parameter
De callback parameter is een functie die wordt aangeroepen wanneer de asynchrone AxeDevTools.run functie voltooid is. De callback functie krijgt twee parameters mee. De eerste parameter zal een fout zijn die binnen Axe DevTools wordt gegooid als AxeDevTools.run niet kan worden voltooid. Als Axe DevTools correct is voltooid, zal de eerste parameter null zijn, en de tweede parameter zal het resultatenobject zijn.
Retourneer Promise
Als de callback niet was gedefinieerd, zal Axe DevTools in plaats daarvan een belofte teruggeven. Axe DevTools vult echter niet de beloftebibliotheek aan. Dus, op systemen zonder ondersteuning voor beloftes, is deze functie niet beschikbaar. Als je niet zeker weet of de systemen waarop je Axe DevTools nodig hebt belofteondersteuning hebben, raden we je aan om in plaats daarvan de callback te gebruiken die door AxeDevTools.run wordt geboden.
error Resultaat
Dit zal ofwel null zijn of een object dat een instantie van Error is. Als je consequent fouten ontvangt, rapporteer dit probleem dan aan Deque Systems.
results Object
De callbackfunctie die wordt doorgegeven als de derde parameter van AxeDevTools.a11yCheck draait op het results object. Dit object heeft twee componenten: een passes array en een violations array. De passes array houdt bij van alle geslaagde tests en gedetailleerde informatie over elke test. Dit leidt tot efficiënter testen, vooral bij handmatige tests, omdat de gebruiker eenvoudig kan bepalen welke tests al geslaagd zijn. Op dezelfde manier houdt de violations array bij van alle mislukte tests en gedetailleerde informatie over elk daarvan.
url
De URL van de pagina die werd getest.
timestamp
De datum en tijd waarop de analyse is voltooid.
passes en violations array
description- Een tekststring die beschrijft wat de regel doethelp- Hulpetekst die de test beschrijft die werd uitgevoerdhelpUrl- Een URL die meer informatie geeft over de details van de overtreding. Linkt naar een pagina op de Deque University-site.id- Een unieke identifier voor de regel; zie de lijst met regelsimpact- De ernst van de overtreding. Kan een van klein, matig, ernstig of kritisch zijn als de regel gefaald heeft ofnullals de controle geslaagd is.tags- Een array van tags die aan deze regel zijn toegewezen. De tags kunnen in hetoptionobject worden gebruikt om te selecteren welke regels worden uitgevoerd (zie Opties Parameter hierboven).nodes- Een array van alle elementen die de regel heeft getesthtml- Een fragment van HTML van het elementimpact- De ernst van de overtreding. Kan een van klein, gematigd, ernstig of kritiek zijn als de test is mislukt ofnullals de controle is geslaagd.target- Een array van selectors waarbij elk element overeenkomt met één niveau van een iframe of frame. Als er één iframe of frame is, moeten er twee items intargetzijn. Als er drie iframe-niveaus zijn, moeten er vier items intargetzijn.any- Een array van controles waarbij er ten minste één geslaagd moet zijn. Elk item in de array bevat:id- Unieke identificatie voor deze controle. Controle-ID's kunnen hetzelfde zijn als regel-ID's.impact- De ernst van de controle. Kan een van klein, gematigd, ernstig of kritiek zijn. Elke controle die deel uitmaakt van een regel kan verschillende impacts hebben. De hoogste impact van alle mislukte controles wordt gerapporteerd voor de regel.message- De beschrijving waarom deze controle is geslaagd of mislukt.data- Aanvullende, optionele informatie specifiek voor het type controle. Bijvoorbeeld, een kleurcontrastcontrole zou de voorgrondkleur, achtergrondkleur, contrastratio, etc. bevatten.relatedNodes- Een optionele array van informatie over andere knooppunten die betrekking hebben op deze controle. Bijvoorbeeld, een overtreding van de controle op dubbele ID zou de andere selectors met dezelfde dubbele ID opsommen. Elk item in de array bevat de volgende informatie:target- Een array van selectors voor het gerelateerde knooppunthtml- De HTML-bron van het gerelateerde knooppunt
all- Een array van controles die zijn uitgevoerd waarbij allemaal geslaagd moeten zijn. Elk item in de array bevat dezelfde informatie als deanyarray.none- Een array van controles die zijn uitgevoerd waarbij allemaal niet geslaagd moeten zijn. Elk item in de array bevat dezelfde informatie als deanyarray.
Voorbeeld Twee
In dit voorbeeld zullen we de selector voor het hele document doorgeven, geen opties doorgeven, wat betekent dat alle ingeschakelde regels worden uitgevoerd, en een eenvoudige callback-functie hebben die het volledige resultaatobject naar de console logt:
AxeDevTools.run(document, function (err, results) {
if (err) throw err;
console.log(results);
});passes array
-
passes[0]...help-"Elements must have sufficient color contrast"helpURL-"https://dequeuniversity.com/courses/html-css/visual-layout/color-contrast"id-"color-contrast"nodestarget[0]-"#js_off-canvas-wrap > .inner-wrap >.kinja-title.proxima.js_kinja-title-desktop"
-
passes[1]...
In het bovenstaande voorbeeld bevat de passes array twee items die overeenkomen met de twee geteste regels. Het eerste element in de array beschrijft een kleurcontrastcontrole. De velden help, helpUrl en id worden geretourneerd voor elk item in de passes array. De target array heeft één element met een waarde van:
#js_off-canvas-wrap > .inner-wrap >.kinja-title.proxima.js_kinja-title-desktopHet door target[0] geselecteerde element is gecontroleerd voor de kleurcontrastregel en is geslaagd.
Elk volgend item in de geslaagde array heeft hetzelfde formaat, maar beschrijft de verschillende regels die zijn uitgevoerd.
violations array
-
violations[0]help-"<button> elements must have alternate text"helpURL-"https://dequeuniversity.com/courses/html-css/forms/form-labels#id84_example_button"id-"button-name"nodestarget[0]"post_5919997 > .row.content-wrapper > .column > span > iframe"*target[1]"#u_0_1 > .pluginConnectButton > .pluginButtonImage > button"
-
violations[1]...
De violations array bevat één item voor een test die controleert of knoppen geldige alternatieve teksten hebben (de button-name regel). Dit eerste item in de array heeft de velden help, helpUrl en id.
De target array demonstreert hoe we de selectors specificeren wanneer het gespecificeerde knooppunt zich binnen een iframe of frame bevindt. Het eerste element in de target array (target[0]) specificeert de selector naar de iframe die de knop bevat. Het tweede element in de target array (target[1]) specificeert de selector naar de daadwerkelijke knop, maar start van binnen de in target[0] geselecteerde iframe.
Elk volgend item in de overtredingen array heeft hetzelfde formaat, maar beschrijft de regels die toegankelijkheidsovertredingen genereerden.
Voorbeeld Drie
In dit voorbeeld geven we de selector voor het hele document door, inschakelen van twee extra best practice-regels, en hebben een eenvoudige callback-functie die het volledige resultaatobject naar de console logt:
AxeDevTools.run(
document,
{
rules: {
'heading-order': { enabled: true },
'label-title-only': { enabled: true }
}
},
function (err, results) {
if (err) throw err;
console.log(results);
}
);