접근성
WCAG 2.1 AA는 협상 불가. 모든 컴포넌트가 다음 체크리스트를 충족합니다.
체크리스트
- 키보드만으로 모든 동작 가능 (Tab, Shift+Tab, Enter, Space, Esc, 화살표)
- :focus-visible 스타일 명확 (2px 토큰 ring)
- 적절한 ARIA role/state/property
- 스크린리더 라벨 (aria-label / aria-labelledby)
- 색대비 WCAG AA — 본문 4.5:1, UI 3:1 (axe-core 검증)
- prefers-reduced-motion 존중 (모든 애니메이션 즉시화)
- IME(한글 입력) 도중 의도치 않은 submit 방지
- 모바일 터치 타겟 최소 44×44px
키보드 단축키
| 단축키 | 동작 |
|---|---|
| ⌘K | 명령 팔레트 열기 |
| Esc | 오버레이 닫기 |
| Tab | 다음 포커스 |
| ShiftTab | 이전 포커스 |
| Space | 버튼/체크박스 활성 |
| Enter | 버튼 활성 / 옵션 선택 |
| ↑↓ | 메뉴/리스트 항목 이동 |
| ←→ | 탭/슬라이더 이동 |
| HomeEnd | 처음/끝으로 이동 |
한글 IME
Input/Textarea에서 한글 조합 중 Enter는 submit을 트리거하지 않습니다.useComposition 훅으로 자동 처리.