[HTML] placeholder vs label – 언제 어떤 걸 써야 할까?

2025. 3. 26. 09:05·프로그래밍/Html

[HTML] placeholder vs label – 언제 어떤 걸 써야 할까?

HTML에서 placeholder와 label은 모두 입력 필드에 대한 힌트를 제공하는 요소지만, 사용 목적과 사용자 경험(UX), 접근성 측면에서 큰 차이가 있습니다.

이 글에서는 두 태그의 차이점과 언제 어떤 상황에서 써야 하는지, 실무 기준 예제와 함께 정리해보겠습니다.


✅ 1. placeholder란?


<input type="text" placeholder="이메일 주소를 입력하세요">

placeholder는 입력 전 임시로 표시되는 안내 텍스트입니다.
입력값을 입력하면 해당 텍스트는 사라집니다.

  • ✔ 간단한 힌트를 줄 수 있다
  • ✘ 입력 후에는 사라지므로 정보가 유지되지 않는다
  • ✘ 화면 낭독기(Screen reader)에서 읽히지 않을 수 있다 (접근성 ↓)

✅ 2. label이란?


<label for="email">이메일 주소</label>
<input id="email" type="text">

label은 해당 입력 필드의 이름, 설명을 명확하게 전달합니다.
클릭 시 입력창으로 포커스를 이동시킬 수 있으며, 접근성을 위한 필수 요소입니다.

  • ✔ 입력값의 의미를 항상 보여줌
  • ✔ 시각장애인을 위한 스크린 리더 호환
  • ✔ form 구조에서의 사용성 향상

✅ 3. 실무 기준 – 언제 무엇을 써야 하나?

상황 placeholder label
간단한 예시나 힌트 ✅ 적합 –
필수 입력 정보 ✘ 불완전 ✅ 꼭 필요
접근성 (A11y) ✘ 지원 약함 ✅ 스크린리더 호환
UX 일관성 ✘ 텍스트 사라짐 ✅ 항상 표시됨

✅ 4. placeholder + label 같이 쓰는 예시


<label for="username">사용자 이름</label>
<input id="username" type="text" placeholder="홍길동">

→ label은 필수 정보로 유지하고, placeholder는 입력 예시로 활용하면 사용성과 접근성 모두 챙길 수 있습니다.


🚫 잘못된 예시 – placeholder만 사용하는 경우


<input type="email" placeholder="이메일 주소">

→ 입력한 후에는 어떤 정보를 입력해야 했는지 알 수 없습니다.
→ 스크린 리더가 안내하지 못하므로 접근성 점수에서 감점됩니다.


📌 마무리

placeholder는 입력 예시를 보여주는 용도로, label은 입력 필드의 이름과 설명을 명확히 하기 위한 필수 요소입니다.

따라서 placeholder만 사용하는 것은 피하고, label은 항상 포함UX + 웹 접근성 + 표준 코딩
도움이 되셨다면 공감 / 댓글 부탁드립니다 😊

반응형
저작자표시 비영리 (새창열림)

'프로그래밍 > Html' 카테고리의 다른 글

[HTML] <form> 안에서 <section>과 <fieldset> 병행 사용하는 법  (0) 2025.03.26
[HTML] <fieldset>과 <legend>로 폼 그룹화하기  (0) 2025.03.26
[HTML] 특수 문자(&nbsp;, &lt;, &copy;) 정리 – HTML Entities 모음  (0) 2025.03.25
[Html] Image HyperLink  (0) 2019.01.10
'프로그래밍/Html' 카테고리의 다른 글
  • [HTML] <form> 안에서 <section>과 <fieldset> 병행 사용하는 법
  • [HTML] <fieldset>과 <legend>로 폼 그룹화하기
  • [HTML] 특수 문자(&nbsp;, &lt;, &copy;) 정리 – HTML Entities 모음
  • [Html] Image HyperLink
큐레이트
큐레이트
저의 일상을 기록하는 블로그입니다.
  • 큐레이트
    큐레이트의 기록
    큐레이트
  • 전체
    오늘
    어제
    • 분류 전체보기 (196)
      • 국내여행 (37)
        • 애견여행 (33)
        • 맛집여행 (2)
      • 프로그래밍 (88)
        • C# (24)
        • Python (27)
        • Flutter (5)
        • .NET (4)
        • ASP (7)
        • Next.js (3)
        • Html (5)
        • Tomcat (2)
        • typescript (3)
        • etc (8)
      • 일상생활 (71)
        • 다이어트일지 (70)
        • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 복이랑스마트스토어
    • 복이랑블로그
  • 공지사항

    • 블로그 소개
  • 인기 글

  • 태그

    Python
    애견동반여행
    다이어트
    헬스
    식단
    다이어트일지
    식단관리
    웹개발
    자동매매
    C#
    제주도
    자동화
    운동일지
    오블완
    파이썬
    오운완
    FastAPI
    애견여행
    다이어트 일지
    애견동반
    iis
    DevExpress
    일상생활
    국내여행
    제주도애견동반여행
    티스토리챌린지
    pt
    HTML
    체중기록
    Flutter
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
큐레이트
[HTML] placeholder vs label – 언제 어떤 걸 써야 할까?
상단으로

티스토리툴바