UI 복잡 버전 234 RED→GREEN 완료(docs/UI_USECASES.md §A~§J): 라이브 테마 전환(DynamicResource 전환+ThemeResolver+HighContrast 테마, 재시작 없음), 디자인 토큰 체계·WCAG 대비 결함 5건 수정, 설정창 카테고리 내비/검색 재구성+AppConfig 40여 속성, 다운로드 관리자(속도/ETA/세그먼트맵/전체 일시정지-이어받기/CSV 내보내기/예약 게이트/중복 확인), 라이브러리·아카이브·작업공간·재생목록·즐겨찾기 편집 뷰, 접근성(자동화 속성 30여 개·커스텀 피어·docs/ACCESSIBILITY.md), 인터랙션(휠 클릭 새 탭·XButton 탐색·F12·영역 캡처·프로필 전환), 상태/알림(토스트·알림센터·온보딩·CrashReportDialog). 보강 테스트 35건+실창 E2E 4건(StaDispatcher 기반 — 프록시 설정이 기시작 핸들러를 건드리는 크래시 실결함 수정 포함) — 453/453 GREEN. 이전 미커밋 작업(CI 워크플로·Mdns·QueueHub·UpdateChecker·AGENTS/CLAUDE·빌드 스크립트) 일괄 포함
This commit is contained in:
parent
5a0ce730b2
commit
17f2f91152
88 changed files with 9463 additions and 1127 deletions
40
docs/ACCESSIBILITY.md
Normal file
40
docs/ACCESSIBILITY.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# 접근성 지원 범위 (UC-A01~A20)
|
||||
|
||||
작성: 2026-08-17. UI 복잡 버전(docs/UI_USECASES.md §G) GREEN 구현과 함께 정의한
|
||||
접근성 지원 선언 문서. 무엇을 지원하고 어떻게 검증하는지 적는다.
|
||||
|
||||
## 지원 범위
|
||||
|
||||
| 영역 | 지원 내용 | 구현 위치 |
|
||||
|---|---|---|
|
||||
| 화면 낭독기(UIA) | 주요 컨트롤 30여 개에 `AutomationProperties.Name`/`HelpText` 부여 | `MainWindow.xaml` 툴바·카드·팝업 |
|
||||
| 라이브 영역 | 상태바 텍스트·다운로드 상태·대기 현황 `LiveSetting="Polite"`, 오류는 `Assertive` | 상태바, 카드 템플릿 |
|
||||
| 커스텀 자동화 피어 | `MainWindowAutomationPeer` 로 창 이름 노출 | `MainWindow.xaml.cs` |
|
||||
| 키보드 | Tab 이동(`TabIndex` 지정), 포커스 링(`FocusVisual` 공용 스타일), Esc 팝업 일괄 닫기 | `Shared.xaml`, `MainWindow` |
|
||||
| 접근 키 | `AccessText`(이동(_G)) 등 Alt 접근 키 | 툴바 이동 버튼 |
|
||||
| 툴팁 | `ToolTipService` 표시 지연/지속 설정 + 그림자 | `MainWindow`(Window 속성), `Shared.xaml` |
|
||||
| 고대비 | `Themes/HighContrast.xaml` + OS 고대비 자동 감지(`SystemParameters.HighContrast`, `UserPreferenceChanged`) | `App.xaml.cs`, `MainWindow` |
|
||||
| 색 무의존 상태 | 완료 ✓ 아이콘(`SuccessIcon`), 미디어 종류 배지 텍스트 | 카드 템플릿 |
|
||||
| 저시력 | 글자 확대 배율 최대 200%(`AppConfig.UiFontScale`), UI 배율(`UiScale`) | 설정 > 외관/접근성 |
|
||||
| 동작 민감 | 애니메이션 감소(`ReduceMotion` → Duration 토큰 0화) | 설정 > 접근성 |
|
||||
| 자막 | 영상 자막 표시 옵션(`ShowCaptions`) | 설정 > 접근성 |
|
||||
| 콘텐츠 언어 | 리더 모드 HTML `lang="ko"` 선언 | `ReaderMode.cs` |
|
||||
| 명도 대비 | WCAG AA 텍스트 4.5:1, 비텍스트 3:1 — 자동 검증 | 테스트 `UiUsecaseAccessibilityRedTests`, `UiUsecaseThemeRedTests` |
|
||||
|
||||
## 대비 기준과 검증
|
||||
|
||||
- 텍스트(본문·보조·강조): 다크·라이트 모두 **4.5:1 이상** (UC-T14~T18)
|
||||
- 진행 트랙·버튼 테두리 등 비텍스트 구성요소: **3:1 이상** (UC-A19~A20)
|
||||
- 대비율은 WCAG 2.x 상대 휘도식으로 테스트에서 실제 색값(`#RRGGBB`)을 파싱해 계산한다.
|
||||
테마 색을 바꿀 때마다 자동으로 재검증된다.
|
||||
|
||||
## 팝업 키보드 탐색
|
||||
|
||||
모든 플라이아웃(즐겨찾기·기록·다운로드·라이브러리·아카이브·단축키 도움말)에
|
||||
`KeyboardNavigation.TabNavigation="Cycle"` 를 적용해 팝업 안에서 포커스가 순환하며,
|
||||
Esc 한 번으로 열린 모든 팝업이 닫힌다(`CloseAllPopups`).
|
||||
|
||||
## 제약(현재 미지원)
|
||||
|
||||
- 완전한 UI 언어 전환(한/영)은 설정값 저장 + 일부 텍스트 적용 수준이다.
|
||||
- 터치 스크린 전용 제스처(스와이프 등)는 지원하지 않는다.
|
||||
Loading…
Add table
Add a link
Reference in a new issue