49 lines
1.8 KiB
JSON
49 lines
1.8 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "ca-skeleton-frontend/a11y-report.schema.json",
|
|
"title": "artifacts/tests/a11y.json",
|
|
"description": "pnpm test:a11y 산출물. accessibility-baseline 이 생산하고 test-taxonomy 가 FE-GATE-009 blocking 판정에 소비한다. impact 어휘는 axe-core 의 4단계를 그대로 쓴다(minor/moderate/serious/critical).",
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"required": ["ranAt", "routes", "blockingCount", "nonBlockingCount"],
|
|
"properties": {
|
|
"ranAt": { "type": "string", "format": "date-time" },
|
|
"routes": {
|
|
"type": "array",
|
|
"description": "측정 대상은 sample route 다(FE-NFR-009 context). 제품 route 가 아니다.",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["routeId", "violations"],
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"routeId": { "type": "string" },
|
|
"violations": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["ruleId", "impact", "nodeCount"],
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"ruleId": { "type": "string" },
|
|
"impact": { "enum": ["minor", "moderate", "serious", "critical"] },
|
|
"nodeCount": { "type": "integer", "minimum": 1 },
|
|
"helpUrl": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"blockingCount": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "impact 가 serious 또는 critical 인 violation 수. 0 이 아니면 FE-GATE-009 FAIL."
|
|
},
|
|
"nonBlockingCount": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "impact 가 moderate 또는 minor 인 violation 수. report-only backlog."
|
|
}
|
|
}
|
|
}
|