PatternsP4 본문

Settings

섹션 내비 + 폼 섹션(프로필·알림·환경)으로 구성한 설정 화면. 저장 상태 매트릭스와 메시지 위계 3-tier(필드·폼)를 갖춥니다.

마지막 업데이트 2026-06-14

데모#

상단 상태 컨트롤로 기본·저장 중·저장됨·오류를 전환해 폼의 저장 매트릭스를 검수합니다. 오류에선 메시지 위계가 함께 나타납니다 — 이메일 필드의 Tier 1 오류 + CTA 옆 Tier 2 폼 메시지. 실제 저장은 없습니다(UI Reference).

상태

프로필

워크스페이스에 표시되는 정보입니다.

알림

받을 알림을 선택하세요.
이메일 알림멘션·승인 요청을 메일로 받기
데스크톱 알림브라우저 푸시 알림
주간 요약매주 월요일 활동 요약

환경

테마와 언어를 설정합니다.
Settings — 섹션 내비 + 프로필·알림·환경 폼 + 저장 상태 매트릭스(좁아지면 적층)

구성#

영역역할
섹션 내비설정 그룹 이동 — 넓으면 좌측 sticky, 좁으면 가로 스크롤 탭
프로필FormField + Input — 라벨·접근성 자동 배선, 검증 시 필드 오류(Tier 1)
알림라벨/설명 + Switch 토글 행
환경RadioGroup 테마 · Select 언어
푸터좌측 저장 결과 메시지(Tier 2) + 우측 취소 · 저장(저장 중 로딩)

폼 규약 — 비제어 우선#

WDS 폼 컴포넌트는 비제어(uncontrolled)를 기본으로 합니다 — defaultValue/defaultChecked로 초기값을 주고 변경은 onChange로 받습니다. 화면이 모든 입력 상태를 직접 들고 있을 필요가 없어 폼이 단순해집니다.

상태#

폼은 행복 경로 하나가 아니라 저장 매트릭스로 다룹니다. 데모의 상태 컨트롤로 전환합니다.

상태트리거표현
기본편집 중폼 + 취소·저장(활성)
저장 중저장 제출저장 버튼 로딩 스피너 + 컨테이너 aria-busy + 취소 비활성
저장됨저장 성공FormMessage(success)(Tier 2) — CTA 옆
오류검증·저장 실패이메일 필드 오류(Tier 1) + FormMessage(error)(Tier 2)

메시지 위계 — 3-tier#

폼은 메시지 위계의 세 계층이 모두 나타나는 표면입니다.

Tier범위컴포넌트이 패턴에서
1 필드단일 입력FormFielderror이메일 도메인 검증 실패 — 필드 아래 role="alert"
2 폼폼 전체·제출FormMessage저장 결과 — CTA 옆 success/error
3 페이지화면·세션Alert·Toast흐름과 무관한 전역 알림(여기선 미사용)

오류는 필드(Tier 1)에서 무엇을, 폼(Tier 2)에서 결과를 알려 사용자가 어디를 고칠지 바로 압니다.

적응형 동작#

컨테이너 폭레이아웃
≥ 640px좌 섹션 내비(sticky) + 우 폼
< 640px내비 가로 스크롤 + 폼 단독 적층

접근성#

계약구현
라벨 배선FormField가 label·control을 htmlFor/id로 연결하고 단일 자식에 자동 주입
필드 오류errorrole="alert" 메시지 + 컨트롤 aria-invalid="true" + aria-describedby 연결
저장 결과FormMessage(error)role="alert"(즉시 낭독), success는 role="status"
저장 중컨테이너 aria-busy="true" + 저장 버튼 로딩(스피너 aria-hidden, 버튼 aria-busy)
토글Switcharia-label — 시각 라벨과 별개로 보조기술에 의미 전달

사용 컴포넌트#

FormField · Input · Switch · RadioGroup · Select · Button(로딩) · FormMessage(저장 결과, Tier 2) · SegmentedButton(데모 컨트롤). 저장 결과는 메시지 위계(Tier 1 필드 + Tier 2 폼)로 전달합니다. 실제 저장은 없습니다 — UI Reference입니다.