본문 바로가기
명함 만들기 캐릭터 모음 16가지 디자인 · PNG / SVG / PDF

진행 막대

2초보다 오래 걸리는 일에서, 얼마나 남았는지 보여 줘야 사람이 기다려 주는 자리에 쓰는 조각.

피드백

실제 미리보기

출처

<div class="dc-prog">
  <div class="dc-prog__head">
    <span class="dc-prog__label" id="dc-prog-label">서류 업로드</span>
    <span class="dc-prog__value">68%</span>
  </div>
  <div class="dc-prog__track" role="progressbar" aria-labelledby="dc-prog-label" aria-describedby="dc-prog-hint" aria-valuemin="0" aria-valuemax="100" aria-valuenow="68">
    <div class="dc-prog__bar" style="width:68%"></div>
  </div>
  <p class="dc-prog__hint" id="dc-prog-hint">3개 중 2개 올렸습니다 — 남은 파일 1개</p>
</div>
.dc-prog {
  display: flex; flex-direction: column; gap: var(--dc-2);
  max-width: 420px;
  font-family: var(--dc-font);
}
.dc-prog__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--dc-3); }
.dc-prog__label { font-size: 13px; font-weight: 600; color: var(--dc-text); }
.dc-prog__value { font-size: 13px; font-variant-numeric: tabular-nums; color: var(--dc-text-sub); }
.dc-prog__track {
  position: relative; overflow: hidden;
  height: 10px; border-radius: var(--dc-r-full);
  background: var(--dc-sunken);
  box-shadow: inset 0 0 0 1px var(--dc-line);
}
.dc-prog__bar {
  height: 100%; border-radius: inherit;
  background: var(--dc-brand);
  transition: width var(--dc-slow);
}
.dc-prog__hint { margin: 0; font-size: 12px; line-height: 1.5; color: var(--dc-text-mute); }
.dc-prog--wait .dc-prog__bar { width: 38%; animation: dc-prog-run 1300ms ease-in-out infinite; }
.dc-prog--slim .dc-prog__track { height: 6px; }
@keyframes dc-prog-run {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(264%); }
}
@media (prefers-reduced-motion: reduce) {
  .dc-prog--wait .dc-prog__bar { width: 100%; transform: none; animation: none !important; opacity: .5; }
}

이렇게 씁니다

  • 끝을 셀 수 있을 때만 퍼센트를 쓴다 — 못 세면 알 수 없는 진행으로 둔다
  • 숫자 옆에 '3개 중 2개' 처럼 무엇이 남았는지도 적는다
  • 막대만 두지 말고 이름표로 무엇이 진행 중인지 밝힌다

주의할 점

  • role=progressbar 에 aria-valuenow 가 없으면 스크린 리더는 진행률을 읽지 못한다
  • 한 번 올라간 퍼센트를 되돌리지 마라 — 내려가는 막대는 멈춘 것으로 읽힌다

다음에 볼 것