feat: 접근성 검사 표준 선택 기능 — WCAG/KWCAG 버전별 선택 지원
3가지 검사 모드(한 페이지, 사이트 크롤링, 목록 업로드) 모두에서 접근성 표준을 선택할 수 있도록 추가. WCAG 2.0 A/AA, 2.1 AA, 2.2 AA와 KWCAG 2.1, 2.2를 지원하며, KWCAG 선택 시 axe-core 결과를 KWCAG 검사항목으로 자동 매핑. - KWCAG 2.2 (33항목) / 2.1 (24항목) ↔ WCAG 매핑 테이블 (kwcag_mapping.py) - AccessibilityChecker에 표준 파싱 및 KWCAG 변환 로직 추가 - 전체 API 파이프라인에 accessibility_standard 파라미터 전파 - 프론트엔드 3개 폼에 공용 표준 선택 드롭다운 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@ -34,6 +34,10 @@ class CategoryName(str, Enum):
|
||||
|
||||
class StartInspectionRequest(BaseModel):
|
||||
url: HttpUrl
|
||||
accessibility_standard: str = Field(
|
||||
default="wcag_2.1_aa",
|
||||
description="접근성 검사 표준 (wcag_2.0_a, wcag_2.0_aa, wcag_2.1_aa, wcag_2.2_aa, kwcag_2.1, kwcag_2.2)",
|
||||
)
|
||||
|
||||
|
||||
# --- Core Data Models ---
|
||||
@ -47,6 +51,11 @@ class Issue(BaseModel):
|
||||
line: Optional[int] = None
|
||||
suggestion: str
|
||||
wcag_criterion: Optional[str] = None
|
||||
# KWCAG mapping fields (populated when standard is kwcag_2.1 or kwcag_2.2)
|
||||
kwcag_criterion: Optional[str] = None
|
||||
kwcag_name: Optional[str] = None
|
||||
kwcag_principle: Optional[str] = None
|
||||
kwcag_criteria_all: Optional[list[str]] = None
|
||||
|
||||
|
||||
class CategoryResult(BaseModel):
|
||||
@ -93,6 +102,7 @@ class InspectionResult(BaseModel):
|
||||
grade: str
|
||||
categories: dict[str, CategoryResult]
|
||||
summary: IssueSummary
|
||||
accessibility_standard: Optional[str] = None
|
||||
|
||||
|
||||
class InspectionResultResponse(BaseModel):
|
||||
@ -107,6 +117,7 @@ class InspectionResultResponse(BaseModel):
|
||||
grade: str
|
||||
categories: dict[str, CategoryResult]
|
||||
summary: IssueSummary
|
||||
accessibility_standard: Optional[str] = None
|
||||
|
||||
|
||||
class IssueListResponse(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user