Erste Schritte bei der Entwicklung mit Axe DevTools Linter

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

Ein Leitfaden für den Einstieg in die Nutzung der REST-API-Dienste, die von Axe DevTools Linter bereitgestellt werden

Free Trial
Not for use with personal data

Dieser Artikel beschreibt, wie man beginnt, die REST-API-Dienste der On-Premises-Edition von Axe DevTools Linter oder Axe DevTools Linter SaaS zu nutzen. Die Dienste werden von REST-Endpunkten bereitgestellt, daher benötigen Sie Erfahrung mit einem REST-Tool wie Postman, CocoaRestClient oder der VS Code REST Client-Erweiterung. Sie können die Dienste auch mit einer Programmiersprache wie Python nutzen.

Die Unterschiede zwischen den beiden Editionen von Axe DevTools Linter (Axe DevTools Linter Saas vs. der On-Premises-Server) bestehen darin, dass das SaaS-Angebot bei jeder Linter-Anfrage eine Autorisierung über eine API erfordert (der /lint-source Endpunkt).

tip

Allgemeinere Informationen über die Endpunkte, die vom REST-Dienst von Axe DevTools Linter bereitgestellt werden, finden Sie in der REST-APIs Referenz.

Erste Schritte

Wenn Sie die SaaS-Edition des Axe DevTools Linter Servers verwenden, müssen Sie zunächst einen API-Schlüssel erhalten. Die notwendigen Schritte zum Erhalt des Schlüssels finden Sie in Erhalt eines API-Schlüssels für Axe DevTools Linter SaaS.

note

Wenn Sie die Konnektivität mit Axe DevTools Linter SaaS überprüfen möchten, können Sie einige der REST-Endpunkte ohne API-Schlüssel aufrufen. Dieser Fall wird im nächsten Abschnitt behandelt.

Für die On-Premises-Version des Axe DevTools Linter Servers müssen Sie ihn einrichten (wie in Installation des On-Premises Axe DevTools Linter Servers beschrieben) und dann die IP-Adresse des Servers erhalten. Sie benötigen auch den Port, auf dem der Server lauscht (standardmäßig Port 3000).

Testen Ihrer Verbindung mit curl

Zwei der REST-Endpunkte von Axe DevTools Linter SaaS erfordern keine Authentifizierung, sodass Sie Ihre Verbindung testen können, bevor Sie einen API-Schlüssel erhalten.

Wenn Sie einen einfachen Test durchführen möchten, ob Sie auf den Server zugreifen können, können Sie curl (oder einen Webbrowser) verwenden. Das folgende curl-Beispiel zeigt, wie man den status Endpunkt von Axe DevTools Linter SaaS verwendet:

curl https://axe-linter.deque.com/status
note

Sie müssen https anstelle von http angeben, wenn Sie eine Verbindung zu Axe DevTools Linter SaaS herstellen.

Für die On-Premises-Version würden Sie Folgendes eingeben:

curl http://<server IP address>:<server port>/status

Sie müssen die <Server-IP-Adresse> und <Server-Port> im obigen Befehl ersetzen.

Wenn der Server verfügbar ist, wird er mit folgendem antworten:

Ok

Sie können auch die gleiche URL (zum Beispiel https://axe-linter.deque.com/status) mit einem Webbrowser besuchen und sollten das gleiche Ergebnis sehen.

Das folgende Beispiel zeigt, wie man auf den healthcheck Endpunkt zugreift:

curl https://axe-linter.deque.com/healthcheck

Der Server sollte mit folgendem antworten:

{
  "version": "4.4.0"
}

Wie mit dem status Endpunkt, können Sie auch https://axe-linter.deque.com/healthcheck mit einem Webbrowser besuchen und das gleiche Ergebnis wie mit curl erhalten.

Um den Quellcode auf Barrierefreiheitsfehler zu überprüfen, müssen Sie eine POST Anfrage erstellen. Sie können curl oder ein Tool wie Postman verwenden.

In Postman oder einem anderen REST-Tool müssen Sie einen Header erstellen, wie der unten gezeigte:

POST https://axe-linter.deque.com/lint-source
content-type: application/json
authorization: <YOUR API KEY>

Wenn Sie Axe DevTools Linter SaaS verwenden, müssen Sie durch Ihren API-Schlüssel ersetzen. Wenn Sie den On-Premises-Server verwenden, brauchen Sie den authorization Header nicht, aber Sie müssen die URL zur IP- und Port-Adresse Ihres On-Premises-Servers ändern.

Mit curl wäre der entsprechende Header wie der oben gezeigte:

curl --request POST --url https://axe-linter.deque.com/lint-source \
  --header 'content-type: application/json' \
  --header 'authorization: <YOUR API KEY>'

Sie müssen auch einen Anfragekörper als JSON-Objekt angeben, bevor die Anfrage abgeschlossen ist:

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

Der vollständige curl Befehl lautet:

curl --request POST --url https://axe-linter.deque.com/lint-source \
  --header 'content-type: application/json' \
  --header 'authorization: <YOUR API KEY>'
  --data '{ "source": "# Heading\n### Another Heading\n",
    "filename": "file.md" }'

Für den On-Premises-Server müssen Sie das --url Argument ändern und die --header 'authorization: <YOUR API KEY>' Zeile entfernen.

Das folgende zeigt ein Beispiel für eine Antwort auf die obenstehende Anfrage:

HTTP/1.1 200 OK
Date: Mon, 14 Mar 2022 14:04:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 419
Connection: close
X-Powered-By: Express
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
ETag: W/"1a3-cfgZ30xjvW815mLDpbjoGXreu2o"

{
  "report": {
    "errors": [
      {
        "ruleId": "heading-order",
        "helpURL": "https://dequeuniversity.com/rules/axe/4.4/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
      }
    ]
  }
}

Da dieses Beispiel ein Barrierefreiheitsproblem hat, haben Sie eine Antwort erhalten, die ein report-Objekt enthält, das ein Fehler-Array von Fehler-Objekten enthält. Siehe Antwort für weitere Informationen über dieses Antwortobjekt.

Wenn Ihr API-Schlüssel nicht existiert, wenn Sie Axe DevTools Linter SaaS verwenden, erhalten Sie eine Antwort wie diese:

HTTP/1.1 404 Not Found
Date: Fri, 11 Mar 2022 22:38:51 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 33
Connection: close
X-Powered-By: Express
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
ETag: W/"21-HAVNeHb+a8RfOcMl419aKM67S20"

{
  "error": "No API key found"
}

In diesem Fall können Sie versuchen, Ihren API-Schlüssel neu zu erstellen oder den Deque Helpdesk zu kontaktieren, um Hilfe zu erhalten.

Siehe auch