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), HTL (.htl) en Markdown (.md en .markdown) bestanden controleren.

De REST-eindpunten

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

De REST-eindpunten zijn als volgt:

Eindpunt Verzoektype Opmerkingen
/lint-source POST
/status GET Verouderd: Zal in een toekomstige versie van Axe DevTools Linter worden verwijderd
/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

De Lint Endpoint (/lint-source)

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

Verzoek

Om dit endpoint te gebruiken, maakt u een POST verzoek naar het lint endpoint van de server, zoals is weergegeven in het onderstaande voorbeeld:

POST /lint-source

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

Content-Type: application/json

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

Authorization: <YOUR API KEY>

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

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-voorbeeld heeft een toegankelijkheidsfout: de kopniveaus hebben een gat tussen de eerste kop (kopniveau 1) en de tweede kop (kopniveau 3). Om de reactie van de server op deze fout te zien, zie het Respons gedeelte hieronder.

Het JSON-verzoekobject

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

Naam Type Beschrijving
source tekenreeks De code die u wilt laten controleren. U moet aanhalingstekens en regelafbrekingen ontsnappen.
filename tekenreeks De bestandsnaam van de code. De server gebruikt de extensie van de bestandsnaam om het type code in source te bepalen en daarmee welke linter moet worden gebruikt.
config LinterConfig Een optioneel configuratieobject voor het instellen van linting. Zie Het config Object voor meer informatie.
language tekenreeks Een optionele string die aangeeft welke linter te gebruiken voor het controleren van de code.
properties string array Een optionele lijst van bijkomende eigenschappen die in elk error object in de respons moeten worden opgenomen. 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 aanhalingstekens 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 Syntax Extensie (zoals jsx)
angular Angular
htl HTL (Adobe Experience Manager)

De server gebruikt de filename en language eigenschappen om te bepalen welke linter moet worden gebruikt. Meestal zal Axe DevTools Linter de bestandsextensie op de filename eigenschap gebruiken om de linter te kiezen. Als u liever de linter zelf wilt specificeren, kunt u de language eigenschap en de waarden die in de bovenstaande tabel zijn gespecificeerd gebruiken. In dit geval moet u nog steeds een filename als verplicht parameter specificeren, maar language heeft voorrang op de extensie van de bestandsnaam. Bijvoorbeeld, als u een filename van "somefile.html" en een language van md opgeeft, zal de server de Markdown-linter gebruiken.

Respons

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 respons JSON-object voor een bron die een fout heeft (merk op dat errors een lijst 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 getal 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 getal Beginkolom in regel lineNumber met de fout.
endColumn getal 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 opgenomen in de properties lijst van het verzoek en de overtreding afkomstig is van een op maat aangepaste component. Zie Analyseren van Overtredingen van Aangepaste Componenten voor een voorbeeld van deze eigenschap in het responsobject.

Het config Object

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

{
  "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 ontbrekende lang attribuut op het html element), er geen fouten worden geretourneerd omdat die regel is uitgeschakeld.

Het global-components Object

Het global-components object mapt aangepaste componenten en hun attributen naar bestaande HTML-elementen en attributen. Voor inleidende informatie over het linten 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 map naar de tekstinhoud van het uitvoer HTML-element. 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 verwijderd moet worden uit de output-DOM-boom, wat Angular en JavaScript-op-maat-componenten bevatten. De standaard is hetzelfde als de standaard voor de gebruikte technologie. Dat wil zeggen, true voor Angular en HTML, false voor JSX, TSX, en Vue.

note

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

Als de aangepaste component geen attribuutmapping vereist, kunt u dit verkorte formaat gebruiken dat custom-component naar html-element map.

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

De rules eigenschap verwijst naar een LinterRuleset object, waarmee u regels kunt in- of uitschakelen op basis van hun regel-ID. Voor meer informatie over de toegankelijkheidsregels, zie Axe DevTools Linter Accessibility Rules.

Het volgende configuratievoorbeeld schakelt de image-alt regel in en schakelt de tabindex regel uit:

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

Voor een lijst met 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 lijst van strings of *tags*. Elke tag is verbonden met een of meer toegankelijkheidsregels, dus door hier meerdere tags op te geven, kunt u veel verschillende toegankelijkheidsregels inschakelen (en alle regels uitschakelen die niet zijn getagd met de opgegeven tags). De tags komen doorgaans overeen met verschillende toegankelijkheidsnormen, 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.

De Status Endpoint (/status)

important

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

De Health Check Endpoint (/healthcheck)

Om te controleren of de server draait en om het versienummer te retourneren, stuurt u een GET verzoek naar het health check endpoint. Een voorbeeldverzoek is hieronder weergegeven:

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

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.

Het facturatie-eindpunt voor ondernemingen stelt u in staat om totale gebruiksinformatie voor uw onderneming te verkrijgen, en het gebruik uitgesplitst per individuele API-sleutels. Het eindpunt reageert op een GET-aanvraag en vereist dat u een jaar en maand specificeert (hier mei 2022), zoals hieronder weergegeven:

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

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

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

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

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

Respons

De SaaS-linterserver reageert met een JSON-object dat twee objecten bevat. Het eerste is een summary-object, en het tweede, api_keys, is een verzameling objecten met informatie 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 gelinte lijnen en hoeveel scans door gebruikers binnen de onderneming werden gestart.

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

De api_keys-array bevat objecten samengesteld uit de volgende eigenschappen:

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 De Keycloak-ID van de gebruiker
user_email tekenreeks 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

Het gebruikersfacturatie-eindpunt (/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 aanvraag 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 die variëren van 0 tot 11, met 0 voor januari en 11 voor december. Echter, de month-waarde in het serverantwoord varieert van 1 tot 12, met 1 voor januari en 12 voor december.

Net als de andere facturatie-eindpunten, kunt u een optionele months-query-string specificeren zoals hieronder weergegeven:

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 antwoordobject bevat twee objecten, summary en api_keys, die tot de gebruiker behoren. Voor meer informatie, zie Het summary-object en De api_keys-array hierboven.

Het API-sleutelfacturatie-eindpunt (/billing/key)

note

Het eindpunt wordt ondersteund voor Axe DevTools Linter SaaS- en private-cloudinstallaties. Voor private-cloudinstallaties vervangt u de server-URL's (https://axe-linter.deque.com) in de onderstaande voorbeelden door uw eigen private-cloudserver-URL's.

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 die variëren van 0 tot 11, met 0 voor januari en 11 voor december. Echter, de month-waarde in het serverantwoord varieert van 1 tot 12, met 1 voor januari en 12 voor december.

Net als de andere facturatie-eindpunten, kunt u een optionele months-query-string specificeren zoals hieronder weergegeven:

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 lijnen werden gelint gedurende de gespecificeerde periode met de API-sleutel die in de Authorization-header is opgegeven, ontvangt u een antwoord zoals het volgende:

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

De name-waarde is de naam die aan de API-sleutel is toegekend toen deze werd aangemaakt. De andere waarden, total_lines_linted en total_scans, specificeren het aantal gelinte lijnen in de gespecificeerde periode en het totale aantal scans dat door deze API-sleutel in de gespecificeerde 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 stappen die nodig zijn om een API-sleutel te verkrijgen.