다크 패턴

Dark Pattern

사용자에게 불리한 선택을 하도록 속이거나 압박하는 UI 설계. 사전 체크된 구독, 죄책감 유도 문구가 대표적.

다른 이름: Deceptive patternConfirmshaming
···
html
<div class="card">
  <p class="q">이메일로 계속하기</p>
  <label class="chk"><input type="checkbox" checked disabled><span>마케팅 소식 및 파트너 광고 수신에 동의합니다</span></label>
  <button class="go">계속하기 →</button>
  <a class="tiny" href="#">아니요, 저는 좋은 혜택을 놓치고 싶어요</a>
  <div class="warn" id="warn">⚠</div>
</div>
css
.card{position:relative;width:82%;max-width:280px;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:grid;gap:10px}
.q{margin:0;font:700 13px/1.3 sans-serif;color:var(--fg)}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:10.5px;color:var(--muted);line-height:1.4}
.chk input{margin-top:2px}
.go{border:0;border-radius:10px;padding:11px;background:var(--accent);color:#fff;font-weight:800;font-size:13px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 40%,transparent)}
.tiny{justify-self:center;font-size:9.5px;color:var(--line);text-decoration:underline}
.warn{position:absolute;top:-10px;right:34px;width:22px;height:22px;border-radius:50%;background:var(--accent-2);color:#fff;display:grid;place-items:center;font:900 12px/1 monospace;opacity:0;transform:scale(.6);animation:pop 2.4s ease-in-out infinite}
@keyframes pop{0%,8%{opacity:0;transform:scale(.6)}18%,88%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.6)}}

UX 연구자 해리 브리그널(Harry Brignull)이 2010년 darkpatterns.org(현 deceptive.design)를 만들며 이름을 붙였습니다. 대표 유형으로 사전 체크박스(옵트아웃을 옵트인처럼), 컨펌셰이밍("아니요, 저는 할인을 원하지 않아요" 같은 죄책감 문구), 숨겨진 비용, 구독 취소를 일부러 복잡하게 만드는 로치 모텔(roach motel)이 있습니다.

같은 시각 언어(버튼, 체크박스)를 쓰면서 목적만 사용자 해악 쪽으로 비틀기 때문에 위험합니다 — 겉보기엔 정상적인 UI라 사용자가 속았다는 것조차 못 느낍니다. EU는 2022년 이후 다크 패턴 규제(DSA, 옴니버스 지침)를 강화하고 있습니다.

데모는 사전 체크된 마케팅 동의와 작고 흐린 "거부" 링크, 크고 화려한 "계속하기" 버튼을 보여줍니다. 경고 배지가 어디가 문제인지 짚어줍니다.

언제 쓰나

동의·구독·해지 플로우를 설계·리뷰할 때 이 체크리스트로 자문하세요: "사용자가 서둘러 읽으면 내 의도와 반대로 행동하게 되나?" 그렇다면 다크 패턴입니다.