FNA Design System

토스트

방금 한 일의 결과를 한 줄로 알려주고 2.4초 뒤 사라지는 띠. 성공은 사라지고, 오류는 사용자가 닫을 때까지 남습니다. 토스트로 질문하지 않습니다.

리포트를 제출했습니다 · 검토 대기

정의

화면 하단 중앙에 뜨는 짧은 알림입니다. 기본(짙은 잉크)·성공·오류·안내 네 톤이 있고, 다크 테마에서는 surface-highest 위 글자로 바뀝니다. 한 번에 하나만 보이며 새 토스트가 오면 교체합니다.

언제 쓰고 언제 쓰지 않나

  • 저장·제출·승인·서명 등록처럼 사용자가 방금 한 일의 결과.
  • 답을 요구하면 모달, 계속 봐야 하면 배너, 새 사건(경보)은 배너 + 알림.
  • 같은 일을 반복할 때마다 띄우지 않는다(자동 저장은 조용히).

해부도

리포트를 제출했습니다 · 검토 대기
  1. 컨테이너라운드 12 · 패딩 .85em 1.6em · 최대 폭 min(90vw, 520) · toast 그림자
  2. 메시지 13/700한 줄, 결과 + (선택) 다음 상태. 줄바꿈은 \n 로 2줄까지

변형

네 톤 — 라이트에서는 단색 배경, 다크에서는 container 톤
서명을 등록했습니다
리포트를 승인했습니다
처리 실패 · 네트워크를 확인하고 다시 시도하세요
경보 확인 권한이 없습니다 (품질관리자 이상)
동작 보기
기록을 저장했습니다

상태

상태표현
등장불투명도 0 → 1, 250ms. 위치 이동 없음
표시성공·기본·안내 2.4초 · 오류는 닫을 때까지(닫기 ✕ 또는 탭)
교체새 토스트가 오면 즉시 내용 교체, 타이머 리셋
퇴장불투명도 1 → 0, 250ms

치수

항목값
위치하단 26 (하단 탭 있으면 탭 위 8) · 가로 중앙
최대 폭min(90vw, 520)
글자13 / 700 (큰글씨 16)
패딩.85em 1.6em
라운드12
z-index99
표시 시간2.4s (오류 무제한)

Do · Don't

리포트를 제출했습니다 · 검토 대기
Do 결과 + 다음 상태
저장할까요?
Don't 토스트로 질문 · 버튼 넣기
서명 등록 실패 · 이미지가 너무 큽니다 (2MB 이하)
Do 오류는 원인 + 조치, 닫을 때까지 유지
오류가 발생했습니다!
Don't '오류가 발생했습니다' · 성공에 느낌표

접근성

  • 성공·안내는 role="status"(polite), 오류는 role="alert"(assertive).
  • 오류 토스트는 자동으로 사라지지 않고 닫기 버튼(44px)을 갖는다 — WCAG 2.2.1 시간 제한.
  • 포커스를 뺏지 않는다. 토스트 내용은 화면의 상태 변화(배지·목록)로도 반영된다.
  • 대비: 라이트 text 배경 위 흰 글자 14.9:1, 성공 #166534 위 흰 글자 7.4:1, error #ba1a1a 위 흰 글자 6.3:1.

문구

상황문구
저장기록을 저장했습니다
제출리포트를 제출했습니다 · 검토 대기
검토·승인검토를 완료했습니다 · 리포트를 승인했습니다
반려반려했습니다
경보 처리경보를 확인하고 조치를 기록했습니다
권한처리 권한이 없습니다 (품질관리자 이상)
실패처리 실패 · 네트워크를 확인하고 다시 시도하세요

과거형 "~했습니다"로 끝내고, 마침표·느낌표 없이, 보조 정보는 가운뎃점(·) 뒤에.

코드

<div class="fna-toast fna-toast--success" role="status" id="toast">기록을 저장했습니다</div>
<script>
function toast(msg, tone){ const t=document.getElementById('toast'); t.className='fna-toast'+(tone?' fna-toast--'+tone:''); t.textContent=msg; t.classList.add('is-show');
  clearTimeout(t._h); if(tone!=='error') t._h=setTimeout(()=>t.classList.remove('is-show'),2400); }
</script>
/* RN */ Toast.show({type:'pass'|'error', text}) (src/ui/Toast)

안정마지막 갱신 담당 디자인시스템 TF · jjo831@farmzone.kr소스 components.css .fna-toastComponents · FNA 디자인 시스템 v1.0