De Axe DevTools Linter REST API-referentie

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Referentiegids voor de REST-eindpunten van de Axe DevTools Linter

Free Trial
Not for use with personal data

Met Axe DevTools Linter kunt u code controleren op toegankelijkheidsproblemen via een REST API. U maakt een HTTP-verzoekobject dat de bronregels bevat die u wilt laten controleren (in de body van het verzoek als een JSON-object), en de server retourneert een JSON-reactieobject dat aangeeft welke toegankelijkheidsproblemen de server vindt.

De server kan React (.js, .jsx, .ts en .tsx), Vue (.vue), Angular (.component.html), HTML (.html, .htm en .xhtml), LiquidJS (.liquid) en Markdown (.md en .markdown) bestanden controleren.

De REST-eindpunten

De server biedt zes REST-eindpunten. Het eerste eindpunt, (/lint-source), reageert op POST verzoeken en controleert uw code op toegankelijkheidsproblemen. Het tweede eindpunt, (/status), reageert op GET verzoeken en toont of de server beschikbaar is met een 200-responscode die aangeeft dat de server klaarstaat. Het derde eindpunt, (/healthcheck), reageert op GET verzoeken, geeft aan of de server draait en retourneert het versienummer van de draaiende server. De overige drie eindpunten stellen gebruikers van de SaaS-editie in staat om gebruiksinformatie voor hun gehele onderneming te verkrijgen (/billing/enterprise), hun gebruikers (/billing/user), en hun API-sleutels (/billing/key).

De REST-eindpunten zijn als volgt:

Eindpunt Verzoektype Opmerkingen
/lint-source POST
/status GET Verouderd: Wordt verwijderd in een toekomstige versie van Axe DevTools Linter
/healthcheck GET
/billing/enterprise/:year/:month GET Alleen geldig met de SaaS-server
/billing/user/:year/:month GET Alleen geldig met de SaaS-server
/billing/key/:year/:month GET Alleen geldig met de SaaS-server

Het Lint-eindpunt (/lint-source)

Het lint-eindpunt is het primaire service-eindpunt. U kunt het gebruiken om code naar Axe DevTools Linter te sturen om te controleren op toegankelijkheidsproblemen. Het accepteert POST verzoeken met een JSON-body die de te controleren code bevat.

Verzoek

Om dit eindpunt te gebruiken, maakt u een POST verzoek aan het lint-eindpunt van de server, zoals in het onderstaande voorbeeld:

POST /lint-source

U moet ook een Content-Type header opnemen om de server te vertellen dat de body van het verzoek een JSON-object bevat.

Content-Type: application/json

Als u Axe DevTools Linter SaaS gebruikt, moet u een Authorization header opnemen met uw API-sleutel, zoals hieronder getoond:

Authorization: <YOUR API KEY>

U kunt meer leren over het verkrijgen van een API-sleutel in Het verkrijgen van een Axe DevTools Linter SaaS API-sleutel.

De body van het verzoek moet de code bevatten (in een JSON-object) die u wilt controleren. Bijvoorbeeld, het volgende JSON-object controleert een markdown-sample:

{
  "source": "# heading\n### Another heading\n",
  "filename": "file.md"
}

Het bovenstaande Markdown-sample heeft een toegankelijkheidsfout: er is een verschil in de kopniveau's tussen de eerste kop (kopniveau 1) en de tweede kop (kopniveau 3). Om de reactie van de server op deze fout te zien, zie de Reactie sectie hieronder.

Het JSON-verzoekobject

De volgende tabel toont de eigenschappen die gebruikt worden met het JSON-verzoekobject:

Naam Type Beschrijving
source string De code die u wilt laten controleren. U moet aanhalingstekens en regelafbrekingen ontsnappen.
filename string De bestandsnaam van de code. De server gebruikt de extensie van de bestandsnaam om het type code te bepalen dat is opgenomen in source en dus welke linter te gebruiken.
config LinterConfig Een optioneel configuratieobject voor het configureren van linting. Zie Het config Object voor meer informatie.
language string Een optionele string die aangeeft welke linter te gebruiken voor het controleren van de code.
properties string array Een optionele array van extra eigenschappen om op te nemen in elk error object in de response. De enige momenteel ondersteunde waarde is "customName". Zie customName in de error objectbeschrijving voor meer informatie.

De source string in het verzoek JSON-object is de code die u wilt controleren. U moet alle aanhalingen en nieuwe regels escapen (voorafgaan met een backslash).

De language string kan een van de volgende waarden aannemen:

taal Beschrijving
md Markdown
jsx JavaScript Syntaxtoevoeging (staat HTML gemengd met JavaScript toe)
html HTML
vue Vue.js
tsx TypeScript Syntaxtoevoeging (zoals jsx)
angular Angular

De server gebruikt de filename en language eigenschappen om te bepalen welke linter te gebruiken. Meestal zal Axe DevTools Linter de bestandsextensie op het filename eigenschap gebruiken om de linter te kiezen. Als u liever zelf de linter specificeert, kunt u de language eigenschap en de waarden gespecificeerd in de bovenstaande tabel gebruiken. In dit geval moet u nog steeds een filename als vereiste parameter opgeven, maar language heeft voorrang op de extensie van de bestandsnaam. Als u bijvoorbeeld een filename van „somefile.html“ en een language van md, zal de server de Markdown linter gebruiken.

Antwoord

De server reageert met een antwoordcode van 200 ongeacht of er toegankelijkheidsfouten zijn. U moet de JSON in de body van het antwoord onderzoeken om te zien of er fouten zijn.

Als de code geen fouten heeft, ziet het JSON-antwoordsobject er als volgt uit:

{
  "report": {
    "errors": []
  }
}

Het volgende voorbeeld toont het JSON-antwoordsobject voor code die een fout heeft (merk op dat errors een array van error objecten is).

{
  "report": {
    "errors": [
      {
        "ruleId": "heading-order",
        "helpURL": "https://dequeuniversity.com/rules/axe/4.3/heading-order?application=axe-linter",
        "description": "Ensures the order of headings is semantically correct",
        "lineContent": "### Another heading",
        "lineNumber": 2,
        "linterType": "md",
        "column": 1,
        "endColumn": 20
      }
    ]
  }
}
Het error Object

De errors array bevat error objecten, die de volgende eigenschappen hebben:

Naam Type Beschrijving
ruleId tekenreeks De regel-ID van de toegankelijkheidsregel die door deze code werd overtreden.
helpURL tekenreeks De URL van de webpagina die de fout uitlegt.
description tekenreeks De beschrijving van de fout.
lineContent tekenreeks De broncode van de fout.
lineNumber nummer Regelnummer in de bron van de fout.
linterType tekenreeks De linter die is gebruikt om de fout te vinden. Er zijn verschillende linters die worden gebruikt om toegankelijkheidsproblemen te vinden.
column nummer Beginkolom in regel lineNumber met de fout.
endColumn nummer Eindkolom in regel lineNumber van de fout.
customName tekenreeks De tagnaam van de aangepaste gemapte component die de overtreding veroorzaakte. Alleen aanwezig wanneer "customName" is inbegrepen in de aanvraag properties en de overtreding is van een aangepaste gemapte component. Zie Analyseren van Overtredingen van Aangepaste Componenten voor een voorbeeld van deze eigenschap in het antwoordobject.

Het config Object

Je kunt een config eigenschap specificeren als je meer controle wilt over de regels die Axe DevTools Linter gebruikt om je bron te controleren op toegankelijkheidsfouten.

{
  "source": "<html></html>",
  "filename": "file.html",
  "config": {
    "rules": {
      "html-has-lang": false
    },
    "exclude": [],
    "tags": []
  }
}

Het vorige voorbeeld laat zien dat, hoewel de bron een toegankelijkheidsfout heeft (een ontbrekend lang attribuut op het html element), er geen fouten worden geretourneerd omdat die regel is uitgeschakeld.

Het global-components Object

Het global-components object kaart aangepaste componenten en hun attributen aan bestaande HTML-elementen en -attributen. Voor inleidende informatie over linting van aangepaste componenten, zie Linting van Aangepaste Componenten.

Het volgende voorbeeld toont een complete mapping van een aangepaste component:

{
  "config": {
    "global-components": {
      "custom-component": {
        "element": "html-element",
        "attributes": [
          { "custom-attribute-1": "html-element-attribute-1" },
          { "custom-attribute-2": "<text>" },
          "aria-*"
        ],
        "replace": true
    }
  }
}

Het voorbeeld toont de mapping van de aangepaste component custom-component naar html-element met attributen custom-attribute-1 gemapt naar html-element-attribute1 en custom-attribute-2 gemapt naar <text>, wat een speciale attribuutwaarde is die custom-attribute-2 naar de tekstinhoud van het uitvoer-HTML-element kaart. Voor meer informatie, zie De Speciale <text> Waarde.

De speciale aria-* waarde geeft aan dat alle ARIA-attributen op het aangepaste element moeten worden gekopieerd naar het uitvoer-HTML-element. Zie Gebruik van aria-* voor meer informatie.

De replace eigenschap geeft aan of custom-component moet worden verwijderd uit de uitvoer-DOM-boom, waar Angular en JavaScript aangepaste elementen deel van uitmaken. De standaardwaarde is hetzelfde als de standaard voor de gebruikte technologie. Dat wil zeggen, true voor Angular en HTML, false voor JSX, TSX en Vue.

note

Je kunt de eigenschappen element en attributes afkorten als el en attrs respectievelijk, maar je kunt niet element en el samen gebruiken, noch attributes en attrs.

Als de aangepaste component geen attributen-mapping vereist, kun je dit verkorte formaat gebruiken dat custom-component naar html-elementmapt:

{
  "config": {
    "global-components": {
      "custom-component": "html-element"
    }
  }
}
De rules Eigenschap

De rules eigenschap verwijst naar een LinterRuleset object, dat je toestaat om regels in of uit te schakelen op basis van hun regel-ID. Voor meer informatie over de toegankelijkheidsregels, zie Axe DevTools Linter Accessibility Rules.

Bijvoorbeeld, de volgende configuratie schakelt de image-alt regel in en schakelt de tabindex regel uit:

{
  "config": {
    "rules": {
      "image-alt": true,
      "tabindex": false
    }
  }
}

Voor een lijst van regels waartegen de server controleert, zie Axe DevTools Linter Accessibility Rules

De exclude Eigenschap

De exclude eigenschap kan worden gebruikt om Axe Linter te vertellen bepaalde bestanden over te slaan bij het linten. Zie Configuratiebestand in de documentatie voor Axe DevTools Linter Connector voor meer informatie.

De tags Eigenschap

De tags eigenschap is een array van strings of *tags*. Elke tag is gekoppeld aan een of meer toegankelijkheidsregels, dus door hier meerdere tags op te geven, kun je veel verschillende toegankelijkheidsregels inschakelen (en alle regels uitschakelen die niet zijn getagd met de gespecificeerde tags). De tags komen meestal overeen met verschillende toegankelijkheidsstandaarden en elke regel kan lid zijn van veel verschillende tags.

note

Als je meer dan één tag opgeeft, worden alle regels in alle tags ingeschakeld in plaats van alleen die welke tot alle tags behoren. Met andere woorden, het is een vereniging van regels in plaats van een snijpunt van regels.

Het Status Eindpunt (/status)

important

De /status endpoint is verouderd en moet niet langer gebruikt worden. Gebruik in plaats daarvan de /healthcheck endpoint.

De Health Check Endpoint (/healthcheck)

Om te controleren of de server draait en om het versienummer op te vragen, stuur een GET verzoek naar de health check endpoint. Een voorbeeldverzoek wordt hieronder getoond:

GET /healthcheck

Als de server draait, zal deze reageren met het versienummer van de server, zoals in het onderstaande voorbeeld:

{
  "version": "4.10.3"
}

De Enterprise Billing Endpoint (/billing/enterprise)

note

De endpoint wordt ondersteund voor Axe DevTools Linter SaaS en private cloud-producten. Voor implementaties in een private cloud vervangt u de SaaS-server-URL's in de voorbeelden met uw private cloud-server-URL's.

De enterprise billing endpoint stelt u in staat om totale gebruiksinformatie voor uw onderneming te verkrijgen, evenals het gebruik uitgesplitst per individuele API-sleutel. De endpoint reageert op een GET verzoek en vereist dat u een jaar en maand (hier, mei 2022) specificeert, zoals hieronder wordt getoond:

GET https://axe-linter.deque.com/billing/enterprise/2022/4
authorization: <YOUR-API-KEY>
important

Het JavaScript- Date object gebruikt maanden variërend van 0 tot 11, met 0 voor januari en 11 voor december. Echter, de month waarde in de serverrespons varieert van 1 tot 12, met 1 voor januari en 12 voor december.

Het verzoek vereist een authorization header met uw API-sleutel. Zie Een API-sleutel verkrijgen voor meer informatie.

Standaard retourneert de server gegevens voor één maand, maar u kunt de optionele months=<number-of-months-data> querystring gebruiken om meer op te geven. De months parameter kan variëren van 1 tot 12 (inclusief). Het onderstaande voorbeeld toont hoe u gegevens voor drie maanden kunt verkrijgen, te beginnen vanaf mei 2022:

GET https://axe-linter.deque.com/billing/enterprise/2022/4?months=3
authorization: <YOUR-API-KEY>

Respons

De SaaS linter-server reageert met een JSON-object dat twee objecten bevat. Het eerste is een summary object, en het tweede, api_keys, is een verzameling objecten die informatie bevat over het gebruik van de linterservice door elke API-sleutel.

Een voorbeeld van een responsobject wordt hieronder getoond:

{
  "summary": {
    "year": 2022,
    "month": 5,
    "total_lines_linted": 500,
    "total_scans": 40
  },
  "api_keys": [{
    "id": "a2fd58d0-4810-4fbb-b928-7befa01bf89c",
    "name": "My Project",
    "keycloak_id": "d117bb33-1308-41b0-8960-06301eefb169",
    "user_email": "someone@example.com",
    "total_lines_linted": 500,
    "total_scans": 40
  }]
}

Als er geen gegevens zijn voor de opgegeven periode, ziet de respons er zo uit:

{
  "summary": {
    "year": 2022,
    "month": 5
  },
  "api_keys": []
}
Het summary Object

Het summary object geeft u informatie over het totale aantal regels dat is gecheckt en hoeveel scans zijn geïnitieerd door gebruikers binnen de onderneming.

Naam Type Beschrijving
year nummer Het startjaar van de resultaten
month nummer De startmaand (1-12) van de resultaten
total_lines_linted nummer Totaal aantal regels dat door de onderneming naar de linterservice is verstuurd
total_scans nummer Totaal aantal scans uitgevoerd door de onderneming
De api_keys Array

De api_keys array bevat objecten die uit de volgende eigenschappen bestaan:

Naam Type Beschrijving
id tekenreeks Een UUID die de gebruiker identificeert
name tekenreeks De naam die aan de API-sleutel is gegeven bij het aanmaken
keycloak_id tekenreeks tekenreeks Keycloak ID
user_email string Het e-mailadres van de gebruiker
total_lines_linted getal Totaal aantal regels verzonden naar de linter-service
total_scans getal Totaal aantal scans dat deze gebruiker heeft geïnitieerd

De Gebruikersfactureringsendpoint (/billing/user)

note

Het endpoint wordt ondersteund voor Axe DevTools Linter SaaS en private cloud producten. Voor private cloud implementaties, vervang de SaaS server URLs in de voorbeelden met je private cloud server URLs.

Dit endpoint, het gebruiksfactureringsendpoint, stelt je in staat factureringsinformatie voor een gebruiker te verkrijgen voor alle API-sleutels die zijn gebruikt om toegang te krijgen tot de SaaS-server. De standaard is om gegevens van één maand te retourneren.

Het volgende voorbeeld toont een verzoek voor mei 2022 voor de gebruiker vertegenwoordigd door de verstrekte API-sleutel (in de authorization header):

GET https://axe-linter.deque.com/billing/user/2022/4
authorization: <YOUR-API-KEY>
important

Het JavaScript Date object gebruikt maanden variërend van 0 tot 11, met 0 voor januari en 11 voor december. Echter, de month waarde in de serverrespons varieert van 1 tot 12, met 1 voor januari en 12 voor december.

Net als de andere factureringsendpoints, kun je een optionele months querytekenreeks specificeren zoals hieronder getoond:

GET https://axe-linter.deque.com/billing/user/2022/4?months=2
authorization: <YOUR-API-KEY>

Het volgende toont een voorbeeld van een responsobject:

{
  "summary": {
    "year": 2022,
    "month": 5,
    "total_lines_linted": 500,
    "total_scans": 40
  },
  "api_keys": [{
    "id": "a2fd58d0-4810-4fbb-b928-7befa01bf89c",
    "name": "My Project",
    "keycloak_id": "d117bb33-1308-41b0-8960-06301eefb169",
    "user_email": "someone@example.com",
    "total_lines_linted": 500,
    "total_scans": 40
  }]
}

Als de gebruiker geen gebruik had tijdens de opgegeven periode, zou je deze respons ontvangen:

{
  "summary": {
    "year": 2022,
    "month": 5
  },
  "api_keys": []
}

Het responsobject bevat twee objecten, summary en api_keys behorend tot de gebruiker. Voor meer informatie, zie Het summary Object en Het api_keys Array hierboven.

De API-sleutelfactureringsendpoint (/billing/key)

note

Het endpoint wordt ondersteund voor Axe DevTools Linter SaaS en private cloud-installaties. Voor private cloud-installaties, vervang de server URLs (https://axe-linter.deque.com) in de onderstaande voorbeelden met je private cloud server URLs.

Om gebruiksgegevens voor een API-sleutel te verkrijgen, kun je het API-sleutelfactureringsendpoint gebruiken. Je moet het jaar en de maand specificeren zoals hieronder getoond:

GET https://axe-linter.deque.com/billing/key/2022/4
authorization: <YOUR-API-KEY>
important

Het JavaScript Date object gebruikt maanden variërend van 0 tot 11, met 0 voor januari en 11 voor december. Echter, de month waarde in de serverrespons varieert van 1 tot 12, met 1 voor januari en 12 voor december.

Net als de andere factureringsendpoints, kun je een optionele months querytekenreeks specificeren zoals hieronder getoond:

GET https://axe-linter.deque.com/billing/key/2022/4?months=2
authorization: <YOUR-API-KEY>

Een voorbeeld van een responsobject wordt hieronder getoond:

{
  "name": "My Project",
  "total_lines_linted": 1000,
  "total_scans": 200
}

Als er geen regels werden gecontroleerd tijdens de opgegeven periode met de API-sleutel die is opgegeven in de Authorization header, zou je een respons zoals de volgende ontvangen:

{
  "name": "My Project",
  "total_lines_linted": 0,
  "total_scans": 0
}

De name waarde is de naam die aan de API-sleutel is toegewezen toen deze werd aangemaakt. De andere waarden, total_lines_linted en total_scans, geven het aantal regels aan dat werd gecontroleerd in de opgegeven periode en het totale aantal scans dat door deze API-sleutel in de opgegeven periode werd gestart.

Snelle URL-referentie

Belangrijke URL's voor gebruik met Axe DevTools Linter SaaS zijn als volgt:

URL Beschrijving
https://axe-linter.deque.com De publiek toegankelijke Axe DevTools Linter SaaS-server. Vereist een API-sleutel om te gebruiken.
https://axe.deque.com/settings De URL voor de webapplicatie om API-sleutels voor Axe DevTools Linter SaaS-verificatie te verkrijgen.

Zie Een API-sleutel voor Axe DevTools Linter SaaS verkrijgen voor meer informatie over de vereiste stappen om een API-sleutel te verkrijgen.