[짧지식] [HTML] input-label

이성재·2025년 1월 19일
0

짧지식

목록 보기
7/7
post-thumbnail

소개

웹 접근성과 사용자 경험 향상을 위해 input과 label을 연결하여 모든 사용자(스크린리더 사용자, 모바일 사용자 ...)가 더 쉽게 양식을 작성할 수 있도록 함

방법

1. for-id 사용하기

<form>
      <label for="user">사용자: </label>
      <input type="text" id="user" />
</form>
  • 장점
    - CSS로 레이아웃 조정이 자유로움

    • label과 input을 독립적으로 배치하여 복잡한 디자인 가능
    • grid나 flex등의 레이아웃 시스템 사용이 용이
  • 단점
    - for-id 수동 연결

    • id가 중복되거나 잘못 연결할 수 있음

2. Label로 감싸기

<label>
	이메일:
    <input type="email" />
</label>
  • 장점
    - 별도의 for-id 속성이 필요 없음

    • label과 input 자동으로 연결
    • id를 잘못 연결할 가능성 ❌
  • 단점

    • CSS 스타일링이 제한적
    • 복잡한 레이아웃에서 사용하기 어려움

3. 잘못 사용

<div>
      <span>사용자 : </span>
      <input type="text" />
</div>
  • 시각적으로만 라벨처럼 보일 뿐 실질적으로 연결되어 있지 않음

사용 이유

  • 웹 접근성 (스크린 리더 지원)
  • 문법적 차이 (HTML: for-id vs React: htmlFor-id)
  • 구조적 옵션 (wrapping vs sibling) 및 스타일링 고려사항
  • 사용성 향상 (label 클릭 시 input focus)
  • 모바일 UX 개선 (더 넓은 터치 영역 제공)
profile
호기심이 많은 몽상가 개발자

0개의 댓글

관련 채용 정보