{ "$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." } } }