WYSIWYG: a11y 라이브 리전 안내 추가\n- 선택 개수/좌표 및 가이드 좌표 안내(useMemo 기반)\n- a11y 테스트 추가(guides/nudge)\n- 메인플랜 업데이트\n- 전체 테스트 그린
This commit is contained in:
@@ -64,6 +64,19 @@
|
||||
- 멀티선택 혼합/최근접 보강 케이스 수평축/복합 시나리오 추가 점검
|
||||
- 접근성 보강: 선택/스냅/가이드 상태에 대한 라이브 리전 안내 및 ARIA 속성 방안 설계
|
||||
|
||||
### 접근성 라이브 리전(2025-11-17)
|
||||
- 목표: 캔버스에서 선택 개수 변화와 가이드(스냅 라인) 좌표 변화를 스크린리더에 폴라이트로 안내
|
||||
- TDD
|
||||
- `components/wysiwyg/Canvas.a11y.guides.test.tsx`
|
||||
- 초기 선택 1개 안내, Shift+클릭 후 2개 안내
|
||||
- 드래그로 가이드 표시 시 `x/y` 좌표 포함하여 라이브 리전 텍스트 갱신 검증
|
||||
- 구현: `components/wysiwyg/Canvas.tsx`
|
||||
- `role="status" aria-live="polite"` 라이브 리전 요소 추가(`data-testid="aria-live"`)
|
||||
- 텍스트는 `useMemo`로 파생 계산(선택 수, 가이드 표시 여부, 가이드 좌표)
|
||||
- 상태(setState) 기반 이펙트 대신 파생 텍스트로 전환하여 렌더 루프/린트 경고 회피
|
||||
- 결과: 테스트 그린(전체 232/232)
|
||||
- 디버깅 메모: useEffect 내 setState 경고 발생 → useMemo로 파생 텍스트 계산으로 해결
|
||||
|
||||
## 목표
|
||||
- 비개발자도 사용 가능한 단일 페이지 랜딩 페이지 빌더.
|
||||
- 결과물: 정적 ZIP(HTML/CSS/JS) 다운로드. 이미지: 외부 URL 또는 로컬 업로드(서버 저장 없음, ZIP에 패키징). 폰트는 외부 CDN 허용.
|
||||
|
||||
Reference in New Issue
Block a user