API API аудита доступности
Автоматический аудит WCAG: нарушения, затронутые элементы и оценка. Используйте этот справочник, чтобы выбрать операцию и встроить её документированный контракт ответа.
Операции
GET /v1/accessibility
GET
/v1/accessibility
Кредиты: 8
Параметры запроса
| Параметр | Тип | обязателен |
|---|---|---|
| url | string | обязателен |
| standard |
string
Допустимые значения
wcag2awcag2aawcag21aawcag22aa
|
опционально |
Поля ответа
| Поле | Тип |
|---|---|
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 |
Пример запроса
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))Пример ответа
{
"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
}
]
}
Коды состояния HTTP
200OK400Неверный запрос401Не авторизован402Требуется оплата429Слишком много запросов