GUIDE
타입, 네이티브 API와 ARIA를 함께 설계하기
접근성 이름이나 상태가 누락되면 조용히 깨지는 컴포넌트는 타입 유니언으로 잘못된 조합을 제한합니다. 네이티브에서는 React Native 접근성 API를, 웹에서는 대응 ARIA와 필요한 키보드 상호작용을 제공합니다.
이름과 의미를 타입으로 요구
IconButton은 accessibilityLabel이 필수이고 Avatar는 alt와 decorative 중 하나를 선택합니다. Checkbox와 Switch도 보이는 label 또는 접근성 라벨이 있어야 합니다.
- ProgressBar와 RadioGroup의 대상 라벨은 필수
- ListItem은 정적 행과 버튼 행을 타입으로 구분
- 액션 객체는 label과 handler를 함께 요구
웹 키보드와 상태
Checkbox는 Space, RadioGroup은 Space·방향키·Home·End를 지원합니다. Accordion은 헤더와 패널을 aria-controls와 aria-expanded로 연결합니다.
변화를 알리는 강도
정적인 Alert는 live off가 기본입니다. 새로 삽입된 비동기 결과에만 polite 또는 assertive를 선택하고, ProgressBar는 운영체제 모션 감소 설정에서 이동 애니메이션을 멈춥니다.
관련 컴포넌트 문서
Checkbox
보이는 라벨 또는 접근성 라벨을 필수로 요구하고 mixed 상태와 웹 Space 입력을 지원하는 크로스플랫폼 Checkbox입니다.
RadioGroup
단일 선택 값을 타입으로 제한하고 방향키·Home·End 키보드 탐색을 제공하는 Expo·React Native RadioGroup입니다.
Alert
info, success, warning, error 안내에 제목·본문·액션·닫기를 조합하고 live region을 명시적으로 제어하는 Alert입니다.
ProgressBar
value와 max 기반 진행률, 알 수 없는 진행 상태, 모션 감소와 접근성 값을 지원하는 React Native ProgressBar입니다.