FieldMessage
입력 아래 규칙과 오류를 아이콘과 문장으로 표시.
- 출시 화면에서 사용
개요
미리보기
입력 후 다른 곳을 누르면 형식을 확인해요.
예시
상태
도움말
입력 후 다른 곳을 누르면 형식을 확인해요.오류
이메일 형식을 확인해 주세요. 예: name@example.com비활성
입력 후 다른 곳을 누르면 형식을 확인해요.여러 줄
이 주소로는 가입할 수 없어요. 회사 관리자가 외부 앱 연결을 막아 두었을 수 있어요. 다른 주소를 쓰거나 관리자에게 문의해 주세요.
이렇게 · 이렇게 하지 않기
- 이렇게 규칙은 입력 전부터 보이고 aria-describedby로 연결한다. 오류는 사용자를 탓하지 않고 고치는 방법과 현재 상태를 말한다(“지금 {n}자예요”). 색만으로 오류를 나타내지 않는다.
- 이렇게 오류 문장은 무엇을 어떻게 고칠지 말한다. 예시 형식을 함께 쓴다.
- 이렇게 하지 않기 “형식이 맞음”을 초록 체크로 표시하지 않는다. 형식 검사는 사실 확인이 아니다.
- 이렇게 하지 않기 오류를 색만으로 표시하지 않는다. 아이콘과 문장이 함께 있다.
토큰과 속성
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
status? | 'hint' | 'error' | hint | hint = 상시 도움말, error = 고칠 것. success는 없다(형식 확인을 사실 확인처럼 보이게 하지 않는다). |
disabled? | boolean | false | 필드가 disabled일 때 흐리게. |
children? | ReactNode | 입력 후 다른 곳을 누르면 형식을 확인해요. | 문장. 비우면 보이지 않지만 노드는 남는다(describedby 대상 유지). |
| 그 밖의 속성 | — | — | id(필드의 aria-describedby가 가리킴), aria-live(비동기 검증 결과에만, 노드를 미리 마운트) 등 네이티브 div 속성은 그대로 전달된다. className·style은 받지 않는다. |
접근성
키보드: 해당 없음(비대화형).
- 기본은 aria-live가 없다. 필드가 aria-describedby로 읽는다.
- 오류 아이콘은 aria-hidden. forced-colors에서도 아이콘 + 텍스트로 구분된다.