Vibe Coding Starter · UI Pattern Glossary

바이브코딩 UI/UX 요청 가이드

초보자는 아래 3분 가이드로 패턴을 고른 뒤, 디자인 요청 명세 → 상태·반응형·접근성 QA → 같은 주제 프롬프트 순서로 사용하면 됩니다.

1. 상황 고르기 2. 디자인 명세 채우기 3. 프롬프트 복사 4. QA 기준 확인 모르는 단어는 검색

⭐ 3분 시작 가이드

전체를 읽지 마세요. 내 상황에 맞는 카드 하나만 눌러 명령어로 이동하면 됩니다.

1상황 고르기

아래 질문 카드 중 “지금 만들려는 것”과 가장 비슷한 것을 고릅니다.

2명세 채우기

사용자·목표·상태·반응형 등 디자인 요청 명세 10칸을 필요한 만큼 채웁니다.

3명령어 복사

선택한 패턴의 복사 버튼을 누릅니다. 영어 패턴명은 그대로 두세요.

4[대괄호]만 수정

[기능명] 같은 부분만 실제 이름으로 바꾼 뒤 AI 채팅에 붙여넣습니다.

처음엔 이 5개 단어만 기억하세요

  • Bottom Sheet = 아래에서 올라오는 임시 창 (메모지)
  • Dialog = 가운데 확인/입력 창
  • Drawer = 옆에서 나오는 메뉴 패널
  • Popover = 버튼 옆 작은 메뉴
  • Toast / Snackbar = 잠깐 뜨는 알림 (화면 안 막음)

대괄호 채우기가 어렵다면 → 용어 섹션 안 작업 예시 (이미지 기준 완성본)을 복사하세요.

디자인 요청 명세 10칸

패턴 이름만 말하지 말고 사용자 목표부터 완료 기준까지 지정하면 결과가 훨씬 안정적입니다. 모르는 항목은 비워 두고 AI에게 대안을 제안하게 하세요.

01
Context · User누가, 어떤 기기와 상황에서 사용하는가
02
Goal · Success사용자가 끝내야 할 일과 성공한 상태
03
Flow · IA진입 → 핵심 행동 → 완료·취소 후 돌아갈 위치
04
Pattern · ModalityPage, Sheet, Dialog, Drawer, Popover와 modal 여부
05
Content · Data실제 제목·설명·필드·목록·데이터 우선순위
06
Actions · States주요·보조·위험 액션과 loading·empty·error·success
07
Responsive모바일·태블릿·데스크톱의 재배치와 숨김 규칙
08
Visual Tokens색·타이포·간격·radius·elevation·density
09
A11y · Motion키보드·포커스·스크린 리더·reduced motion
10
Constraints · Acceptance기술 제약, 하지 않을 것, 검수 가능한 완료 조건

패턴 선택 기준

같아 보이는 UI라도 사용자의 과업 길이와 돌아갈 위치가 다릅니다.

PatternUse whenAvoid when
Page내용이 길고 탐색·공유·직접 진입이 필요함잠깐 고치고 즉시 원래 화면으로 돌아오는 보조 작업
Bottom Sheet모바일에서 짧은 선택·편집을 현재 맥락 위에서 처리함긴 폼, 깊은 탐색, 키보드가 화면 대부분을 가리는 작업
Dialog삭제·로그아웃처럼 짧고 명확한 결정이 필요함많은 설명, 복수 단계, 탐색이 필요한 콘텐츠
Drawer / Side Sheet메뉴·필터·속성을 옆에서 보조적으로 조정함모바일의 핵심 완료 과업을 좁은 패널에 넣는 경우
Popover / Menu트리거 주변에서 짧은 옵션이나 컨텍스트 액션을 고름필수 결정, 긴 설명, 모바일 전체 폭이 필요한 입력
Toast / Snackbar / Banner결과 알림, Undo, 지속 안내를 흐름을 막지 않고 제공함사용자가 반드시 읽고 응답해야 하는 중대한 결정

마스터 디자인 요청 프롬프트

아래 템플릿을 먼저 채운 뒤, 각 용어 섹션의 패턴별 프롬프트를 이어 붙이세요.

Design brief · 10 fields
[기능명]의 UI/UX를 설계하고 구현해줘.

1. Context · User: [사용자와 사용 상황]
2. Goal · Success: [완료해야 할 일과 성공 상태]
3. Flow · IA: [진입 → 핵심 행동 → 완료/취소 후 이동]
4. Pattern · Modality: [Page/Sheet/Dialog/Drawer/Popover], [modal/non-modal]
5. Content · Data: [실제 제목, 설명, 필드, 목록, 우선순위]
6. Actions · States: [primary/secondary/destructive], default·loading·empty·error·success·disabled 포함
7. Responsive: [mobile/tablet/desktop의 열 수, 순서, 숨김, sticky 규칙]
8. Visual Tokens: [color, type scale, spacing, radius, elevation, density]
9. A11y · Motion: semantic HTML, keyboard path, visible focus, accessible name, reduced motion
10. Constraints · Acceptance: [기술 제약과 하지 않을 것], 각 상태를 검수 가능한 체크리스트로 제시

먼저 화면 구조와 선택 근거를 요약하고, 그다음 구현해줘. 실제 서비스용 문구와 데이터 예시를 사용하고 lorem ipsum은 쓰지 마.

상태 · 반응형 · 접근성 QA

“예쁘게 만들어줘” 다음에 빠지기 쉬운 조건입니다. 디자인과 구현 완료 전에 최소 한 번씩 확인하세요.

상태 매트릭스

핵심 컴포넌트마다 필요한 상태만 골라 지정합니다.

  • default · hover · pressed · selected · focus-visible
  • disabled · read-only · loading · skeleton
  • empty · zero · validation · error · success · offline
  • 저장 중 이탈, 실패 후 retry, 낙관적 반영 후 rollback

반응형 규칙

“responsive” 한 단어 대신 바뀌는 규칙을 적습니다.

  • container 최대 폭, grid 열 수, gutter와 page margin
  • 요소 순서, 숨김·축약, sticky·fixed 전환
  • 긴 텍스트, 키보드, 세로·가로 방향, safe area
  • touch와 mouse/keyboard에서 달라지는 상호작용

접근성 완료 조건

ARIA 이름보다 먼저 의미 구조와 키보드 흐름을 확인합니다.

  • 제목·랜드마크·label·button 등 semantic HTML
  • 논리적인 focus order, visible focus, 열고 닫을 때 focus 이동
  • 색 대비, 확대·reflow, 충분한 hit target, 색상 외 단서
  • 동적 메시지 announcement와 reduced-motion 대체

콘텐츠 · 엣지 케이스

실제 문구와 데이터 길이로 레이아웃을 검증합니다.

  • 필드 label, helper, validation, destructive 문구
  • 0건·1건·대량 데이터, 긴 이름, 이미지 없음
  • 권한 없음, 세션 만료, 네트워크 지연·실패
  • 다국어, 날짜·시간·통화, 줄바꿈·말줄임 규칙
완료 기준 예시: 모바일 360px부터 데스크톱까지 가로 스크롤이 없고, 키보드만으로 모든 액션을 수행하며, loading·empty·error·success 상태를 각각 확인할 수 있어야 합니다. 기존 UI가 있다면 CSS/JS 구현 체크 프롬프트로 마무리 검수를 요청하세요.

Sheet vs Page — 뭐가 다른가?

짧게 말하면: Sheet는 “지금 화면 위에 잠깐 덮는 종이”, Page는 “다음 장으로 넘어가는 화면”입니다.

Sheet temporary layer versus Page stack navigation

한 줄 비유

Sheet = 책상 위에 올려둔 메모지 (치우면 책상이 그대로)
Page = 책의 다음 페이지 (뒤로 가면 이전 페이지로 돌아감)

Sheet (임시 레이어)

  • 현재 화면 위에 겹침
  • 닫으면 같은 자리로 복귀
  • 보통 URL이 안 바뀌거나 얕게만 바뀜
  • 예: 프로필 편집 바텀시트, 필터 시트, 공유 시트
  • 뒤로가기/닫기 = Dismiss (덮개를 치움)

Page (스택 네비 화면)

  • 새 화면을 스택에 Push
  • 뒤로 가면 이전 페이지로 Pop
  • 보통 라우트/URL이 바뀜
  • 예: 마이 → 즐겨찾기 목록 → 장소 상세
  • 뒤로가기 = Back (이전 장으로 이동)

실무에서 고르는 질문

  • 닫은 뒤에도 “그 화면이 목적 화면”이면 → Page
  • 잠깐 고치거나 고르고 바로 돌아오면 → Sheet
  • 내용이 길고 탐색이 필요하면 → 대체로 Page
  • 모바일에서 폼이 짧고 보조적이면 → 대체로 Sheet

AI에게 이렇게 말하면 명확합니다

❌ 애매: "프로필 편집 화면 만들어줘" ✅ Sheet: "프로필 편집은 modal bottom sheet로. 닫으면 마이 허브 그대로." ✅ Page: "즐겨찾기 목록은 새 Page로 push. 뒤로가면 마이로 pop."

이 영역 프롬프트 (복사)

F) Sheet로 할지 Page로 할지 지정

이미지: Sheet vs Page

짧은 보조 작업인지, 독립된 목적 화면인지 먼저 판단하게 하는 프롬프트입니다.

Sheet vs Page decision
[기능명]을 Sheet로 만들지 Page로 만들지 먼저 판단해줘.

사용자 목표: [사용자가 끝내야 할 일]
콘텐츠 길이와 단계: [짧은 편집/긴 탐색/다단계]
직접 URL 진입·공유 필요: [있음/없음]
완료·취소 후 돌아갈 위치: [현재 화면/이전 목록/새 목적 화면]

현재 맥락 위에서 잠깐 처리하고 돌아오면 modal Sheet를, 독립적인 탐색·공유·긴 작업이면 새 Page를 선택해줘. 선택 근거와 반대 패턴을 쓰지 않는 이유를 3줄 이내로 설명한 뒤 모바일·데스크톱 구조를 제안해줘.

1. Overlay · Modal

현재 흐름 위에 얹는 레이어와 “뒤를 막는지”에 대한 속성.

1 Overlay Modal 예시: Scrim 위 Modal Dialog
TermAliasesMeaning
ModalModal window, Modal dialog현재 작업을 가로막고 보통 뒤 조작을 막는 UI
Non-modalModeless떠 있어도 뒤 화면 조작이 가능한 UI
DialogDialogue정보·선택·입력을 요구하는 대화형 창
AlertAlert dialog짧은 중요 메시지 + 확인
ConfirmConfirmation dialog예/아니오형 결정
PromptPrompt dialog텍스트 입력까지 요구
LightboxMedia lightbox미디어 확대용 어두운 오버레이
OverlayLayer overlay기존 UI 위 레이어 총칭
ScrimDimmer, Mask, Curtain뒤를 어둡게/흐리게 하는 막
BackdropModal backdrop모달/시트 뒤 배경 레이어
Dismissible바깥 탭·Esc·닫기로 닫을 수 있음
Focus trapFocus scopeTab 포커스를 내부에 가둠
Focus restore닫힌 뒤 트리거로 포커스 복귀
Inert backgroundinert뒤 콘텐츠 비활성 처리
Scroll lock뒤 페이지 스크롤 잠금
Nested modalStacking모달/시트를 여러 겹 쌓음

이 영역 프롬프트 (복사)

2) Centered Modal Dialog — 확인

삭제/로그아웃 등 결정형

중요한 결정을 짧게 확인하고, 배경 작업은 잠시 막는 패턴입니다.

Centered modal dialog
[기능명]의 [확인할 행동]을 centered modal dialog로 설계하고 구현해줘.

- 목적: 사용자가 [결과]를 이해하고 [계속/취소]를 결정
- Content: 명확한 제목, 되돌릴 수 있는지 설명, 필요한 경우 대상 이름 표시
- Layout: content-fit, max-width 440px, scrim, primary/secondary action
- Dismiss: [Escape 허용/명시 버튼만], 중요한 destructive 결정은 outside press로 닫지 않음
- States: default, submitting, server error, success 후 닫힘
- A11y: semantic dialog, aria-modal, accessible title/description, open 시 안전한 초기 focus, focus trap, close 후 trigger로 focus restore
- Responsive: 모바일에서는 좌우 16px 여백을 유지하고 버튼 라벨이 잘리지 않게 재배치
- Motion: 짧은 fade+scale, prefers-reduced-motion에서는 transform 제거

완료 조건을 체크리스트로 제시하고 실제 서비스 문구를 사용해줘.

B) 삭제 확인 — Centered Modal Dialog

이미지: Modal / Dialog

01-modal-dialog.png완성 예시destructive action
Filled example · delete account
계정 삭제 확인 UI를 centered modal dialog로 만들어줘.

제목은 “계정을 삭제할까요?”, 설명은 “예약 내역과 저장한 여행 정보가 모두 삭제되며 되돌릴 수 없습니다.”로 작성해줘. 취소를 안전한 초기 focus로 두고, 오른쪽에 빨간색 destructive button “계정 삭제”를 배치해줘. 중복 제출을 막는 submitting 상태와 서버 실패 시 dialog 안 inline error를 포함해줘.

scrim과 focus trap을 적용하고 배경은 inert 처리해줘. Escape는 취소로 동작하지만 scrim click으로는 닫지 않게 해줘. 닫힌 뒤 원래 삭제 버튼으로 focus를 복원하고 모바일 360px에서는 버튼을 세로로 쌓아줘.

2. Sheet · Drawer · Panel

가장자리에서 들어오는 표면형 컨테이너와 측면 패널.

2 Sheet Drawer Panel 예시
TermMeaning
Sheet가장자리 진입형 표면 컨테이너 총칭
Bottom sheet하단에서 올라오는 시트
Top sheet상단에서 내려오는 시트
Side sheet좌/우 시트
Modal bottom sheet뒤를 막는 하단 시트
Persistent bottom sheet항상 일부 높이가 남는 하단 시트
Expanding sheet접힘→중간→전체로 확장
Action sheet행동 선택지 위주 짧은 시트/목록
Form sheet / Page sheet폼·페이지형 시트 프레젠테이션
Detent / Snap point시트가 멈추는 높이 단계
Peek / Collapsed / Half-expanded / Expanded시트 상태명
Drag handle / Grabber시트를 끄는 손잡이
Swipe to dismiss스와이프로 닫기
Drawer측면(또는 하단)에서 밀려 나오는 패널
Navigation drawer앱 탐색용 측면 드로어
Temporary / Permanent / Mini drawer임시 / 상시 / 아이콘 레일형
Side panel / Inspector / Details pane필터·속성·상세 패널
Flyout컨트롤에서 펼쳐지는 일시 패널
Split view / Master–detail목록+상세 분할

이 영역 프롬프트 (복사)

1) Modal Bottom Sheet — 편집 폼

프로필/설정 편집처럼 하단 시트 + 저장 액션

현재 화면 맥락을 유지하면서 모바일에서 짧은 선택·편집을 처리합니다.

Modal bottom sheet
[기능명]을 modal bottom sheet로 설계하고 구현해줘.

- User goal: [짧은 선택/편집을 완료하고 현재 화면으로 복귀]
- Anatomy: scrim, drag handle, title, content area, sticky footer의 [취소/저장]
- Size: content-fit을 기본으로 하고 콘텐츠가 길면 max-height와 내부 scroll 적용
- Dismiss: [scrim tap/Escape/swipe/닫기 버튼], 변경 내용이 있으면 unsaved changes 확인
- Keyboard: 입력 시 virtual keyboard가 active field와 CTA를 가리지 않게 처리
- States: pristine, dirty, saving, validation error, server error, success
- A11y: semantic dialog, accessible title, initial focus, focus trap/restore, background scroll lock
- Responsive: 모바일은 bottom sheet, 넓은 화면에서는 [center dialog/side sheet]로 adaptive 전환
- Motion: bottom enter/exit, reduced motion 대응

실제 문구와 데이터로 화면을 채우고 완료 조건을 체크리스트로 제시해줘.

A) 프로필 편집 — Modal Bottom Sheet

이미지: Bottom Sheet Anatomy / Modal Bottom Sheet

02-bottom-sheet.png08-sheet-anatomy.png완성 예시
Filled example · profile edit
마이 화면의 “프로필 편집”을 modal bottom sheet로 만들어줘.

상단에 drag handle, “프로필 편집” 제목과 닫기 버튼을 두고 이름·소개·여행 관심사 필드를 배치해줘. 하단에는 Cancel과 primary Save를 sticky footer로 제공해줘. 이름은 필수이며 30자 제한과 inline validation을 표시해줘.

초기에는 content-fit, 키보드가 열리면 active field가 보이도록 내부만 scroll해줘. 변경 전에는 swipe/scrim/Escape로 닫을 수 있지만 dirty 상태에서는 “변경사항을 버릴까요?” 확인을 거치게 해줘. saving 중 중복 제출을 막고 성공 후 sheet를 닫은 뒤 마이 화면의 프로필 내용을 즉시 갱신해줘. 데스크톱에서는 max-width 560px center dialog로 adaptive 전환해줘.

3) Navigation Drawer / Side Sheet

필터·메뉴·설정 측면 패널

탐색 메뉴인지, 현재 콘텐츠를 조정하는 필터·속성 패널인지 역할부터 구분합니다.

Drawer · side sheet
[기능명]을 [navigation drawer/side sheet]로 설계하고 구현해줘.

- 역할: [전역 탐색/현재 목록 필터/상세 속성 편집]
- Placement: [left/right], width [320px/400px], content 영역과의 관계 [overlay/push]
- Anatomy: header, scrollable body, 선택 상태, footer action
- Dismiss: close button, Escape, [outside press 허용 여부]
- States: default, selected, disabled, loading, empty, validation/error
- Responsive: mobile에서는 modal drawer 또는 full-screen sheet, desktop에서는 temporary/permanent 패턴 중 근거를 제시
- A11y: nav 또는 dialog 의미에 맞는 semantic, visible focus, 논리적 Tab 순서, 열고 닫을 때 focus restore
- Scroll: body와 panel의 scroll 책임을 분리하고 이중 스크롤을 피함

사용할 패턴과 반대 패턴을 쓰지 않는 이유를 먼저 설명해줘.

C) 필터 메뉴 — Navigation Drawer

이미지: Navigation Drawer / Side Sheet

03-drawer.png완성 예시filter state
Filled example · place filters
주변 장소 목록의 필터를 오른쪽 temporary side sheet로 만들어줘.

필터는 카테고리, 영업 중, 거리 반경, 평점으로 구성하고 상단에 “필터” 제목과 전체 초기화를 배치해줘. 하단 sticky footer에는 현재 결과 수를 포함한 primary CTA “24개 장소 보기”를 제공해줘. 적용 전 임시 선택값과 적용된 필터값을 분리하고 Cancel 시 이전 값으로 복원해줘.

모바일에서는 화면 하단에서 올라오는 full-height modal sheet로 전환하고, 데스크톱에서는 400px side sheet가 목록 위에 overlay되게 해줘. focus trap, Escape, scroll lock, close 후 필터 버튼으로 focus restore를 포함하고 로딩·0건·네트워크 실패 상태도 설계해줘.

3. Popover · Menu · Dropdown

트리거 근처에 붙는 작은 레이어와 메뉴.

3 Popover Menu Dropdown 예시
TermMeaning
Popover트리거 근처의 작은 떠 있는 레이어
Dropdown선택지를 펼치는 드롭다운
Select / Combobox / Autocomplete폼 선택·입력+제안
Menu / Context menu / Overflow menu명령 목록 / 우클릭·롱프레스 / ⋯ 메뉴
Tooltip / Callout짧은 설명 / 말풍선형 안내
Anchored overlay / Anchor특정 요소에 붙는 오버레이와 기준점
Caret / Arrow앵커를 가리키는 꼬리
Flip / Shift / Collision detection화면 밖 보정
Portal다른 DOM 위치(보통 body)에 렌더

이 영역 프롬프트 (복사)

4) Popover / Anchored Menu

버튼 옆 작은 메뉴

트리거 주변에서 짧은 옵션을 제공하며 화면 전체 흐름은 막지 않습니다.

Popover · anchored menu
[기능명]을 [트리거]에 anchored된 popover/menu로 설계하고 구현해줘.

- Content: [메뉴 항목 3~7개], 아이콘은 의미가 있을 때만 사용
- Position: trigger 기준 [bottom-end], viewport 충돌 시 flip/shift
- Interaction: click 또는 keyboard로 열고, outside press/Escape/항목 선택 시 닫기
- Keyboard: Arrow key 이동, Home/End, Enter/Space 선택, 열 때 첫 항목 또는 선택 항목에 focus
- Focus: 닫힌 뒤 trigger로 restore, visible focus 제공
- States: default, hover, focus, selected, disabled, destructive, loading
- Responsive: 모바일에서 공간이 부족하면 bottom sheet 또는 action sheet로 adaptive 전환
- Layering: portal/top layer와 z-index 책임을 명확히 하고 scroll/resize 시 위치 갱신

Tooltip과 Dialog로 만들지 않는 이유도 짧게 설명해줘.

D) 더보기 메뉴 — Popover

이미지: Popover / Menu / Tooltip

04-popover-menu.png완성 예시keyboard menu
Filled example · more menu
장소 카드의 “더보기” 아이콘 버튼 옆에 anchored menu를 만들어줘.

메뉴 항목은 “공유”, “목록에 저장”, “문제 신고”이며 구분선 아래 “기록에서 삭제”를 destructive item으로 배치해줘. desktop에서는 trigger의 bottom-end에 220px popover로 열고 viewport 밖으로 나가면 자동 flip해줘. 모바일 480px 이하에서는 같은 액션을 modal action sheet로 전환해줘.

버튼에는 accessible name “장소 옵션 열기”를 제공하고 aria-expanded 상태를 연결해줘. ArrowUp/Down, Home/End, Enter/Space, Escape를 지원하며 닫힌 후 trigger로 focus를 돌려줘. disabled·hover·focus·destructive 상태와 outside press 동작을 포함해줘.

4. Feedback

알림·로딩·빈 상태 등 사용자 피드백 UI.

4 Feedback 예시: Banner Snackbar Toast Skeleton
TermMeaning
Toast짧게 나타났다 사라지는 알림
Snackbar하단 알림 + 선택적 액션(Undo 등)
Banner상단/인라인 고정 안내
Inline / Validation message필드·흐름 속 메시지
Empty state / Zero state데이터 없음 UI
Skeleton / Shimmer로딩 뼈대/반짝임
Spinner / Progress대기·진행 표시
Determinate / Indeterminate진행률 알 수 있음/없음
Pull to refresh당겨서 새로고침
Optimistic UI서버 전 UI 선반영
Undo / Retry취소 / 재시도

이 영역 프롬프트 (복사)

5) Toast / Snackbar / Banner

피드백 알림 3종 구분 요청

정보의 중요도, 지속 시간, 사용자 액션 필요 여부로 세 패턴을 구분합니다.

Feedback pattern
[이벤트]의 결과 피드백을 Toast, Snackbar, Banner 중 적절한 패턴으로 설계하고 구현해줘.

- Toast: 액션이 필요 없는 짧은 성공·정보 메시지
- Snackbar: Undo/Retry처럼 짧은 후속 액션이 있는 결과 메시지
- Banner: 사용자가 해결하기 전까지 유지해야 하는 페이지 수준 안내

메시지는 결과와 다음 행동이 분명한 실제 문구로 작성해줘. success·warning·error를 색상만으로 구분하지 말고 아이콘·텍스트를 함께 사용해줘. 동일 메시지 중복, 여러 메시지 queue, 자동 닫힘 중 hover/focus, 화면 확대와 모바일 safe area를 처리해줘.

동적 메시지는 적절한 live region으로 알리고, 사용자가 읽거나 액션하기 전에 사라지지 않게 해줘. 선택 근거와 duration·placement·dismiss·action 규칙을 표로 제시해줘.

E) 저장 완료 알림 — Toast / Snackbar

이미지: Banner · Snackbar · Toast

05-toast-snackbar-banner.png완성 예시Undo
Filled example · save and undo
즐겨찾기 저장·해제 결과 피드백을 설계해줘.

저장 성공은 “즐겨찾기에 저장했어요” Toast로 4초간 표시하고 액션은 넣지 마. 해제는 되돌릴 수 있으므로 “즐겨찾기에서 삭제했어요” Snackbar와 “실행 취소” 버튼을 제공해줘. 네트워크 실패는 자동으로 사라지는 Toast 대신 목록 상단 inline Banner “변경사항을 저장하지 못했어요”와 “다시 시도” 액션을 사용해줘.

모바일에서는 bottom navigation과 safe area 위에, 데스크톱에서는 우측 하단에 배치해줘. 중복 메시지는 합치고 focus 또는 hover 중에는 자동 닫힘을 멈춰줘. 스크린 리더가 메시지를 한 번만 알리도록 live region 우선순위를 구분해줘.

6. Motion · Gesture

제스처와 등장/퇴장 모션 관련 용어.

6 Motion Gesture 예시
TermMeaning
Gesture스와이프·핀치·롱프레스 등
Tap / Long press / Swipe / Drag / Pan / Pinch기본 제스처들
Velocity / Threshold속도·인정 기준
Rubber-banding / Overscroll끝 저항·오버스크롤
Enter / Exit animation등장·퇴장
Easing / Spring / Duration / Stagger곡선·탄성·시간·순차
Shared element / Hero / Cross-fade / Parallax전환 스타일
Reduced motion모션 감소 접근성 대응
Haptics촉각 피드백

7. Layout · Responsive · Mobile chrome

반응형 배치, safe area, 터치 영역 등.

7 Layout Responsive 예시
TermMeaning
Grid / Flex / Stack배치 방식
Breakpoint레이아웃 분기 폭
Mobile-first / Desktop-first설계 시작점
Responsive / Adaptive / Fluid반응·전환·유체 레이아웃
Fixed / Sticky / Affix고정 위치
Full-bleed / Inset가장자리까지 / 안쪽 여백
Safe area / Home indicator / Status bar시스템 UI 회피 영역
Viewport / vh / svh / dvh / lvh뷰포트와 높이 단위
Touch target / Hit area / Thumb zone터치 영역·엄지 존
Above the fold / Content-fit첫 화면 / 내용 높이 맞춤

8. Common Components

자주 같이 등장하는 UI 컨트롤 이름.

8 Common Components 예시
TermMeaning
Button / Icon button / FAB버튼·아이콘 버튼·떠 있는 액션 버튼
Chip / Tag / Pill / Badge작은 선택·라벨·배지
Avatar / Card / List / Tile프로필·카드·목록·타일
Tab / Segmented control탭·세그먼트
Toggle·Switch / Checkbox / Radio선택 컨트롤
Slider / Stepper / Text field / Text area입력 컨트롤
Form / Field group / Fieldset폼과 관련 필드 묶음
Label / Helper / Placeholder / Error text필드 이름·도움말·예시·오류 문구
Combobox / Autocomplete / Date picker추천·자동완성·날짜 선택
Search / Filter / Sort검색·필터·정렬
Pagination / Infinite scroll / Carousel페이지·무한스크롤·캐러셀
Data table / Bulk action / Selection데이터 표·일괄 작업·행 선택
Accordion / Disclosure / Divider접기·펼침·구분선

9. Design Tokens · Visual language

색·간격·그림자·타이포 등 디자인 토큰.

9 Design Tokens 예시
TermMeaning
Design token색·간격·타이포 등 변수
Surface / On-surface면과 그 위 콘텐츠 색
Elevation / Shadow떠 있는 정도
Radius / Border / Opacity / Blur형태·테두리·투명·블러
Typography scale / Leading / Tracking활자 체계·줄간·자간
Spacing scale / Sizing scale간격·컴포넌트 크기 단계
Grid / Gutter / Container / Breakpoint열·간격·최대 폭·반응형 분기
Icon size / Stroke / Optical alignment아이콘 크기·선·시각 보정
Motion token / Duration / Easing모션 시간·가속 곡선 변수
Layer / z-index scale기본·sticky·overlay·toast 층 순서
Hierarchy / Contrast / Affordance위계·대비·조작 단서
Density (Compact/Comfortable/Spacious)여백 밀도
State / Variant / Theme상태·변형·테마
Semantic colorsuccess/warning/error/info
Dark mode / High contrast / Forced colors어두운 테마·고대비·시스템 강제색

10. Actions · UX writing

CTA와 액션 위계, 게이트 표현.

10 Actions UX Writing 예시
TermMeaning
CTACall To Action
Primary / Secondary / Tertiary action행동 위계
Destructive action삭제·해제 등 위험 행동
Save / Submit / Apply / Cancel / Close공통 액션 라벨
Label / Helper / Placeholder / Validation copy필드명·도움말·예시·검증 문구
Empty / Error / Success message빈·실패·완료 상태 문구
Plain language / Action-first label쉬운 문장·동사 중심 버튼명
Soft gate / Hard gate약한/강한 진입 장벽
Progressive disclosure필요할 때만 단계적으로 노출
Feedback / Latency compensation결과 응답·대기 완화
Localization / Truncation / Wrapping다국어·말줄임·줄바꿈

11. Accessibility (a11y)

접근성·키보드·스크린 리더 관련 용어.

11 Accessibility 예시
TermMeaning
Semantic HTML / ARIA / Role의미 마크업과 역할
aria-modal / aria-label / labelledby / describedby모달·이름·설명 연결
Screen reader / Keyboard navigation스크린 리더·키보드 조작
Focus order / Visible / Trap / Restore포커스 순서·표시·가두기·복귀
Color contrast / Hit target size대비·터치 크기
Live region / Announcement동적 변화 읽기
Landmark / Alt text / Accessible name랜드마크·대체텍스트·접근 이름
Skip link / Bypass block반복 영역을 건너뛰는 링크
Zoom / Reflow / Text spacing확대·재배치·텍스트 간격 대응
Reduced motion / Forced colors모션 축소·시스템 고대비 대응
Error identification / Suggestion오류 식별과 수정 방법 안내

12. Web · CSS / JS keywords

웹 구현에서 반복되는 HTML/CSS/JS 키워드.

12 Web CSS JS 예시

HTML / API

브라우저 네이티브와 관찰자

<dialog> / showModal()네이티브 모달
::backdropdialog 배경
Popover APIpopover 오버레이
Top layer브라우저 최상위 층
Portal프레임워크 포탈 렌더
View Transitions API화면/요소 전환
CSS Anchor Positioning앵커 기준 배치
Container / Media queries반응형 질의
Intersection / Resize Observer가시성·크기 관찰

CSS / Interaction

구현에서 반복되는 키워드

position: fixed/absolute/sticky위치 지정
stacking context / z-index겹침 순서
backdrop-filter스크림 블러
overscroll-behavior스크롤 연쇄 차단
touch-action터치 제스처 제어
env(safe-area-inset-*)안전영역
transform / will-change모션·합성 힌트
Open state / Trigger / Outside press열림 상태·트리거·바깥 클릭
Headless UI / Primitive스타일 없는 행동 컴포넌트

13. Platform naming map

같은 개념을 플랫폼마다 다르게 부릅니다.

13 Platform Naming Map 예시
ConceptCommonApple-ishMaterial-ish
하단 시트Bottom sheetSheetBottom sheet
모달 창Modal, DialogModal, Alert, SheetDialog
측면 패널Drawer, Side sheetSidebar / SheetNavigation drawer, Side sheet
액션 목록Action sheet / MenuAction sheet, MenuMenus, Bottom sheets
짧은 알림ToastBanner/Alert (역할 상이)Snackbar
하단 탭Bottom navigationTab barBottom navigation
떠 있는 버튼FAB덜 강조FAB

14. Spec modifiers

요청 문장을 수식할 때 자주 쓰는 형용사/부사적 용어.

14 Spec Modifiers 예시
TermMeaning
Content-fit / Full-height내용 높이 / 전체 높이
Centered / Edge-to-edge / Flush / Inset중앙 / 풀블리드 / 붙임 / 안쪽
Chromeless / Elevated / Floating / Anchored크롬 최소 / 떠 있음 / 앵커 고정
Transient / Persistent / Ephemeral일시 / 지속 / 금방 사라짐
Explicit dismiss only / Scrim dismiss명시 닫기만 / 배경 탭 닫기
Large · Medium · Small크기 프리셋

이 영역 프롬프트 (복사)

6) Full request — 디자인+코딩 한 번에

디자인 요청 명세 10칸을 포함한 풀 프롬프트

패턴을 이미 골랐고 디자인 근거부터 구현·검수까지 한 번에 요청할 때 사용합니다.

Full design + build request
[기능명]의 UI/UX를 설계하고 실제 동작까지 구현해줘.

Context · User: [사용자/기기/사용 상황]
Goal · Success: [사용자 목표/완료 상태]
Flow · IA: [진입 → 핵심 행동 → 완료·취소 후 이동]
Pattern · Modality: [패턴], [modal/non-modal], [선택 근거]
Content · Data: [실제 제목·설명·필드·목록·데이터 우선순위]
Actions · States: [primary/secondary/destructive], default·loading·empty·error·success·disabled
Responsive: [mobile/tablet/desktop의 container·grid·순서·sticky·숨김 규칙]
Visual Tokens: [palette/type scale/spacing/radius/elevation/density/icon style]
A11y · Motion: semantic HTML, keyboard, focus, accessible name, contrast, target, reduced motion
Constraints · Acceptance: [기술/브랜드 제약], [하지 않을 것], 검수 가능한 완료 조건

진행 순서:
1) 사용자 흐름과 패턴 선택 근거
2) 화면 anatomy와 content hierarchy
3) desktop/mobile 상태별 설계
4) 구현
5) 접근성·반응형·edge case 자체 검수

실제 서비스용 한국어 문구와 현실적인 데이터를 사용하고, 핵심 결정은 주석 또는 짧은 설명으로 남겨줘.

G) Full request 완성본 — 대괄호 채운 예시

이미지: 4대 패턴 비교 + Anatomy

09-four-patterns-compare.png08-sheet-anatomy.png완성 예시
Filled full request · travel filters
한국 여행지 탐색 서비스의 “장소 필터” UI/UX를 설계하고 실제 동작까지 구현해줘.

사용자는 모바일에서 현재 위치 주변 장소를 빠르게 좁히려는 여행자다. 목록 상단 필터 버튼으로 진입하고 카테고리·거리·영업 중·평점을 고른 뒤 결과 목록으로 돌아오는 것이 목표다.

모바일에서는 full-height modal bottom sheet, 768px 이상에서는 오른쪽 400px temporary side sheet를 사용해줘. 상단은 제목과 초기화, 본문은 scrollable filter groups, 하단은 “24개 장소 보기” sticky CTA다. 적용 전 임시 값과 적용된 값을 분리하고 Cancel 시 원래 값으로 복구해줘.

default·selected·disabled·loading·0건·API error 상태를 포함해줘. 360px에서 가로 스크롤이 없어야 하고 virtual keyboard와 safe area가 CTA를 가리지 않아야 한다. semantic dialog, focus trap/restore, Escape, visible focus, accessible labels, reduced motion을 지원해줘.

밝은 neutral surface, blue primary, 8px spacing base, radius 16px, compact하지 않은 comfortable density를 사용해줘. 필터 적용·초기화·실패·모바일/데스크톱 전환을 검수 가능한 acceptance checklist로 마무리해줘.

7) CSS/JS 구현 체크 요청

이미 UI가 있을 때 품질 점검용

기존 구현을 바꾸기 전에 문제·영향·수정 우선순위를 먼저 보고받는 검수 프롬프트입니다.

UI implementation review
현재 [파일/컴포넌트]의 UI/UX 구현을 먼저 진단한 뒤 필요한 부분만 수정해줘.

다음 항목을 검사해줘:
- HTML 구조와 component anatomy, 잘못 중첩되거나 중복된 요소
- desktop/mobile에서 overflow, reflow, safe area, keyboard 가림
- default·hover·focus·selected·disabled·loading·empty·error·success 상태
- modal/drawer/popover의 scroll lock, outside press, Escape, focus trap/restore, layering
- semantic HTML, label과 accessible name, focus order/visible, live region, reduced motion
- 색 대비, hit target, 긴 텍스트, 다국어, 이미지 없음과 느린 네트워크
- 불필요한 JS/CSS, layout shift, 과도한 이미지·animation 비용

먼저 심각도 P0/P1/P2로 문제와 사용자 영향을 표로 정리하고, 수정 범위를 설명한 뒤 구현해줘. 기존 디자인 토큰과 사용자 데이터를 보존하고, 수정 후 각 항목의 검증 결과를 알려줘.

15. 혼동되기 쉬운 쌍

AI에게 “A 말고 B”라고 명시하면 실패율이 줄어듭니다.

Modal뒤를 막는지(속성)
VS
Dialog대화형 UI 종류. modal일 수도 non-modal일 수도 있음
Bottom sheet하단 표면형 컨테이너
VS
Drawer보통 측면 탐색/패널 은유
Popover앵커 근처·작음
VS
Dialog독립적 결정/입력 창
Toast정보만, 자동 사라짐
VS
Snackbar액션(Undo 등)을 동반하는 경우가 많음
Banner고정·지속 안내
VS
Toast일시 알림
Skeleton구조 미리보기
VS
Spinner대기 표시
Responsive연속적으로 재배치
VS
Adaptive정해진 레이아웃으로 전환하는 뉘앙스
Sheet 지금 화면 위에 잠깐 덮는 레이어. 닫으면 같은 자리로 복귀 (Dismiss).
VS
Page 다음 화면으로 이동(Push). 뒤로가면 이전 화면(Pop). 자세한 설명은 Sheet vs Page.

16. Core 15 — 가장 빈도 높은 어휘

실무·AI 프롬프트·디자인 QA에서 반복 빈도가 가장 높은 세트.

Core vocabulary
1. Modal / Non-modal — 뒤를 막는지 여부
2. Dialog / Alert / Confirm — 대화·경고·확인 창
3. Bottom sheet / Side sheet / Drawer — 하단·측면 시트/드로어
4. Popover / Dropdown / Menu / Tooltip — 앵커 근처 작은 레이어
5. Scrim / Backdrop — 어두운/블러 배경막
6. Detent / Snap point / Drag handle — 시트 높이 단계·손잡이
7. Toast / Snackbar / Banner — 잠깐 알림·액션 알림·고정 안내
8. Empty state / Skeleton / Loading — 빈 상태·뼈대·로딩
9. Primary / Secondary / Destructive action — 주요·보조·위험 액션
10. Focus trap / Scroll lock / Dismissible — 포커스 가둠·스크롤 잠금·닫기 가능
11. Safe area / Touch target — 안전영역·터치 영역
12. Enter·Exit animation / Reduced motion — 등장·퇴장·모션 축소
13. Trigger / Open state / Portal — 여는 요소·열림 상태·포탈 렌더
14. Elevation / Surface / Radius — 떠 있는 정도·면·모서리
15. Progressive disclosure — 필요할 때만 단계적으로 보여주기
복사됨