API API Accessibility Audit
Lancez un audit WCAG automatisé avec violations, éléments concernés et un score. Utilisez cette référence pour choisir une opération et intégrer son contrat de réponse documenté.
Opérations
GET /v1/accessibility
GET
/v1/accessibility
Crédits: 8
Paramètres de requête
| Paramètre | Type | requis |
|---|---|---|
| url | string | requis |
| standard |
string
Valeurs autorisées
wcag2awcag2aawcag21aawcag22aa
|
optionnel |
Champs de réponse
| Champ | Type |
|---|---|
url |
string |
final_url |
string |
status |
string |
reason |
string | null |
checked_at |
string |
http_status |
integer | null |
redirect_count |
integer |
duration_ms |
integer |
resource_limit_reached |
boolean |
standard |
string | null |
score |
integer | null |
engine |
object |
engine.name |
string |
engine.version |
string | null |
summary |
object |
summary.violations |
integer |
summary.affected_elements |
integer |
summary.by_impact |
object |
summary.by_impact.critical |
integer |
summary.by_impact.serious |
integer |
summary.by_impact.moderate |
integer |
summary.by_impact.minor |
integer |
summary.passes |
integer |
summary.incomplete |
integer |
summary.inapplicable |
integer |
violations[] |
object[] |
violations[] |
object |
violations[].id |
string |
violations[].impact |
string |
violations[].help |
string |
violations[].help_url |
string | null |
violations[].wcag_level |
string | null |
violations[].tags[] |
string[] |
violations[].node_count |
integer |
violations[].nodes[] |
object[] |
violations[].nodes[] |
object |
violations[].nodes[].target |
string |
violations[].nodes[].html |
string |
violations[].nodes[].failure_summary |
string |
violations_truncated |
boolean |
incomplete[] |
object[] |
incomplete[] |
object |
incomplete[].id |
string |
incomplete[].impact |
string | null |
incomplete[].help |
string |
incomplete[].node_count |
integer |
Exemple de requête
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a"const response = await fetch("https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/accessibility?url=https%3A%2F%2Fexample.com&standard=wcag2a")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))Exemple de réponse
{
"url": "https://example.com/",
"final_url": "https://example.com/",
"status": "ok",
"reason": null,
"checked_at": "2026-10-13T12:00:00.000Z",
"http_status": 200,
"redirect_count": 0,
"duration_ms": 4210,
"resource_limit_reached": false,
"score": 84,
"engine": {
"name": "axe-core",
"version": "4.10.3"
},
"summary": {
"violations": 2,
"affected_elements": 8,
"by_impact": {
"critical": 1,
"serious": 1,
"moderate": 0,
"minor": 0
},
"passes": 38,
"incomplete": 1,
"inapplicable": 41
},
"violations": [
{
"id": "image-alt",
"impact": "critical",
"help": "Images must have alternative text",
"help_url": "https://dequeuniversity.com/rules/axe/4.10/image-alt",
"wcag_level": "A",
"tags": [
"wcag2a",
"wcag111"
],
"node_count": 2,
"nodes": [
{
"target": "main > img.hero",
"html": "<img src=\"/hero.jpg\">",
"failure_summary": "Element does not have an alt attribute"
}
]
}
],
"incomplete": [
{
"id": "color-contrast",
"impact": "serious",
"help": "Elements must meet minimum color contrast ratio thresholds",
"node_count": 3
}
]
}
Codes de statut HTTP
200OK400Requête incorrecte401Non autorisé402Paiement requis429Trop de requêtes