버튼 라벨

Button Label

"확인" 대신 "삭제하기" — 동사 + 대상으로 눌렀을 때 무슨 일이 일어나는지 미리 말해주는 버튼 문구.

다른 이름: Call-to-action copy
···
html
<div class="stage">
  <div class="pane bad"><span class="mark">✕</span><span class="label">Before</span>
    <div class="row"><button class="btn ghost" id="bt"></button></div>
    <p class="why" id="bw"></p></div>
  <div class="pane good"><span class="mark">✓</span><span class="label">After</span>
    <div class="row"><button class="btn solid" id="gt"></button></div>
    <p class="why" id="gw"></p></div>
</div>
css
.stage{width:94%;height:88%;display:flex;gap:4%}
.pane{position:relative;flex:1;border-radius:14px;border:1px solid var(--line);background:var(--surface);padding:16px 14px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}
.mark{position:absolute;top:10px;right:12px;font:800 16px/1 system-ui;color:var(--accent-2)}
.good .mark{color:var(--accent-3)}
.label{position:absolute;top:10px;left:12px;font:700 10px/1 monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.row{display:flex}
.btn{padding:9px 18px;border-radius:9px;font:700 clamp(11px,3vmin,14px)/1 -apple-system,sans-serif;white-space:nowrap}
.ghost{background:var(--bg);border:1px solid var(--line);color:var(--fg)}
.solid{background:var(--accent-2);border:0;color:#fff}
.why{margin:0;font:500 11px/1.3 -apple-system,sans-serif;color:var(--muted);text-align:center}
js
const bt = document.getElementById('bt'), bw = document.getElementById('bw');
const gt = document.getElementById('gt'), gw = document.getElementById('gw');
const L = {
  ko: { bt: '확인', bw: '무엇을 확인하는지 모름', gt: '계정 삭제하기', gw: '동사+대상으로 결과가 명확' },
  en: { bt: 'OK', bw: "doesn't say what it does", gt: 'Delete account', gw: 'verb + object states the outcome' },
};
let lang = 'ko';
function paint() {
  const t = L[lang];
  bt.textContent = t.bt; bw.textContent = t.bw; gt.textContent = t.gt; gw.textContent = t.gw;
}
paint();
setInterval(() => { lang = lang === 'ko' ? 'en' : 'ko'; paint(); }, 2400);

버튼은 UI에서 가장 많이 읽히는데 가장 적게 고민되는 텍스트입니다. "확인"·"OK"·"제출"은 어디에나 들어맞아서 어디에도 쓸모가 없습니다 — 무엇을 확인하는지, 무엇을 제출하는지 버튼 자체는 답하지 않습니다.

원칙은 간단합니다: **동사 + 대상**. "삭제"보다 "계정 삭제하기", "저장"보다 "변경사항 저장"이 결과를 명확히 합니다. 다이얼로그 안이라 맥락이 있어 보여도, 사용자는 본문을 안 읽고 버튼부터 훑는 경우가 많습니다.

데모의 두 버튼을 보세요. ✕는 "확인"만 반복하고, ✓는 눌렀을 때 정확히 무엇이 삭제되는지 말해줍니다.

언제 쓰나

다이얼로그·폼·토스트의 모든 버튼에서 "확인/OK/제출" 같은 범용 라벨을 만나면 동사+대상으로 바꿔보세요.