실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 UI/UX 꿀팁

문의 폼 placeholder를 라벨 대신 쓰면 생기는 문제와 label 배치하는 법

문의 폼을 깔끔하게 보이려고 라벨을 빼고 placeholder에 '이름', '연락처'만 적어 두는 경우가 많습니다. 보기에는 단정하지만, 방문자가 글자를 입력하는 순간 안내 문구가 사라져 무엇을 쓰던 칸인지 알 수 없게 됩니다.
placeholder와 label의 역할을 나누고, 좁은 모바일 화면에서도 라벨을 유지하는 방법을 정리했습니다.

💡 디자인만의 문제가 아닌가요?

리뉴얼 상담을 하다 보면 '폼 문의가 생각보다 적다'는 이야기를 자주 듣습니다. 실제로 폼을 열어 보면 자동완성으로 값이 채워진 뒤 어느 칸이 연락처인지 이메일인지 구분이 안 되거나, 회색 안내 문구를 이미 입력된 값으로 착각해 비워 둔 채 제출하는 경우가 꽤 있습니다. 화면낭독기 역시 placeholder만으로는 칸의 이름을 제대로 전달하지 못하는 경우가 있어 접근성 점검에서도 지적 대상입니다.

1. label은 항상 두고, placeholder는 예시로만

칸의 이름은 <label>이 맡고, placeholder에는 입력 형식의 예시만 적는 것이 기본입니다. for 값과 입력창의 id를 같게 맞추면 라벨 글자를 눌러도 입력창에 커서가 들어가서, 모바일에서 누를 수 있는 영역도 넓어집니다.

<!-- 라벨은 입력창 위에 따로, for와 id로 연결 -->
<label for="phone">연락처</label>
<input type="tel" id="phone" name="phone"
       placeholder="예) 010-1234-5678">

'필수', '숫자만 입력' 같은 조건도 placeholder에 넣으면 입력과 동시에 사라집니다. 이런 안내는 라벨 옆이나 입력창 아래에 작은 글씨로 계속 보이게 두세요.

2. 공간이 좁다면 떠오르는 라벨로

한 화면에 칸이 많아 라벨 줄을 따로 두기 부담스럽다면, 처음에는 입력창 안에 있다가 입력을 시작하면 위로 작게 올라가는 방식이 있습니다. 라벨이 끝까지 화면에 남기 때문에 placeholder만 쓸 때의 문제가 생기지 않습니다.

/* 공간이 좁을 때: 입력하면 라벨이 위로 올라가는 방식 */
.field { position: relative; }
.field label {
  position: absolute; left: 12px; top: 14px;
  color: #888; transition: .2s; pointer-events: none;
}
/* placeholder는 공백 한 칸으로 넣어 둡니다 */
.field input:focus + label,
.field input:not(:placeholder-shown) + label {
  top: -9px; font-size: 12px;
  background: #fff; padding: 0 4px; color: #333;
}

핵심은 :placeholder-shown 선택자입니다. 값이 비어 있으면 placeholder가 보이는 상태로 판단하므로, placeholder를 공백 한 칸으로 넣어 두고 이 상태가 아닐 때 라벨을 올립니다. CSS의 + 선택자를 쓰기 때문에 HTML에서는 input을 label보다 먼저 적어야 합니다.

<div class="field">
  <input type="text" id="name" placeholder=" ">
  <label for="name">이름</label>
</div>

3. 적용 후 꼭 해 볼 점검

  • 휴대폰에서 브라우저 자동완성으로 값을 채운 뒤에도 라벨이 겹치지 않는지 확인합니다.
  • placeholder 글자가 너무 연해서 안 보이거나, 반대로 진해서 입력된 값처럼 보이지 않는지 봅니다.
  • 라벨 글자를 눌렀을 때 해당 입력창으로 커서가 이동하는지 확인합니다.

"칸마다 이름이 보이는 폼이 결국 끝까지 작성됩니다."

나눔웹은 문의 폼을 만들 때 보기 좋은 모양보다 방문자가 막힘 없이 제출할 수 있는지를
실제 기기에서 먼저 확인합니다.


List of Articles
번호 분류 제목 글쓴이
» UI/UX 문의 폼 placeholder를 라벨 대신 쓰면 생기는 문제와 label 배치하는 법 new 나눔웹
44 마케팅 모바일 전화 문의 버튼 만들기, tel: 링크 작성법과 클릭 수 측정하는 법 나눔웹
43 퍼블리싱 이미지 아래 몇 px 여백이 생길 때, vertical-align으로 없애는 법 나눔웹
42 웹 성능 스크립트 때문에 홈페이지 첫 화면이 늦게 뜰 때, async와 defer 고르는 기준 나눔웹
41 마케팅 검색 결과에 파비콘이 안 나올 때, favicon 크기와 link 태그 점검 순서 나눔웹
40 UI/UX 모바일 버튼이 잘 안 눌린다면? 터치 영역 44px 기준과 padding으로 넓히는 법 나눔웹
39 모바일 모바일 hover 색상이 눌린 채 남을 때, @media (hover)로 해결하기 나눔웹
38 퍼블리싱 position: sticky가 안 먹힐 때, 부모 overflow부터 확인해야 하는 이유 나눔웹
37 웹 성능 메인 배경 동영상 때문에 홈페이지가 느릴 때, 용량 줄이기와 video 태그 설정 나눔웹
36 마케팅 검색 결과 설명이 엉뚱하게 나올 때, title과 meta description 쓰는 법 나눔웹
35 퍼블리싱 썸네일 이미지 찌그러짐, object-fit과 aspect-ratio로 비율 맞추는 법 나눔웹
34 모바일 모바일 문의 폼 자동완성이 안 뜬다면? autocomplete 값과 인증번호 자동 입력 나눔웹
33 UI/UX 버튼 클릭 테두리(outline), 지우지 말고 :focus-visible로 정리하는 법 나눔웹
32 퍼블리싱 flex 레이아웃이 모바일에서 옆으로 삐져나올 때, min-width: 0이 필요한 이유 나눔웹
31 웹 성능 메인 배너 LCP가 느리다면? 첫 화면 이미지는 lazy 대신 fetchpriority로 나눔웹
30 마케팅 네이버 서치어드바이저 등록 순서, 새 홈페이지가 검색에 안 나올 때 점검할 4가지 나눔웹
29 웹 성능 글씨가 안 보이다가 갑자기 뜬다면? '웹 폰트 로딩' 1초 단축하는 마법 나눔웹
28 웹 성능 구글 SEO 점수 폭발! 이미지 로딩 속도 3배 높이는 '단 1줄'의 마법 나눔웹
27 마케팅 카톡에 우리 회사 링크 보낼 때 뜨는 '회색 빈 박스' 없애는 필수 세팅 (OG 태그) 나눔웹
26 마케팅 '제출하기' 버튼은 그만! 클릭률 200% 높이는 마법의 단어 (CTA) 나눔웹
Board Pagination Prev 1 2 3 Next
/ 3
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4