[HTML] <form> 안에서 <section>과 <fieldset> 병행 사용하는 법

2025. 3. 26. 13:13·프로그래밍/Html
목차
  1. ✅ 1. fieldset vs section – 뭐가 다를까?
  2. ✅ 2. 병행 사용하는 실무 예제
  3. ✅ 3. 접근성(A11y) 향상 방법
  4. ✅ 4. 시각적 스타일링 팁
  5. 📌 마무리

[HTML] <form> 안에서 <section>과 <fieldset> 병행 사용하는 법

HTML에서 <form>을 구성할 때, 입력 항목이 많아지면 <fieldset>과 <section>을 병행해 사용하면 구조가 훨씬 깔끔해집니다.

이 글에서는 두 태그의 차이점과 실무 예제를 통해 폼 구조를 더 명확하게 설계하는 방법을 소개합니다.


✅ 1. fieldset vs section – 뭐가 다를까?

항목 <fieldset> <section>
의미 입력 항목 그룹 (form control grouping) 독립적인 콘텐츠 블록 (document section)
사용 목적 폼 내 입력 그룹 구분 논리적 구간 구분 (헤더/푸터 등 포함 가능)
접근성 legend와 함께 스크린리더 지원↑ heading(h1~h6)과 함께 의미 부여
시각적 테두리 O (기본 테두리 있음) X (스타일 없음)

→ fieldset은 입력 그룹을 묶고, section은 문서 의미를 나누는 구조입니다.


✅ 2. 병행 사용하는 실무 예제


<form>

  <section aria-labelledby="account-heading">
    <h2 id="account-heading">계정 정보</h2>

    <fieldset>
      <legend>로그인 정보</legend>

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

      <label for="password">비밀번호</label>
      <input id="password" type="password">
    </fieldset>
  </section>

  <section aria-labelledby="profile-heading">
    <h2 id="profile-heading">프로필 정보</h2>

    <fieldset>
      <legend>기본 정보</legend>

      <label for="name">이름</label>
      <input id="name" type="text">

      <label for="birth">생일</label>
      <input id="birth" type="date">
    </fieldset>
  </section>

  <button type="submit">가입하기</button>
</form>

✔ <section>은 문서 의미 구조를 나누는 용도로 사용되고,
✔ <fieldset>은 입력 항목 그룹을 묶는 데 쓰입니다.


✅ 3. 접근성(A11y) 향상 방법

  • <section>에는 aria-labelledby 또는 aria-label 추가
  • <legend>는 해당 입력 그룹의 제목으로 읽힘
  • 스크린리더는 heading(h2~h3)과 legend를 구분해서 처리

→ 두 태그를 적절히 함께 쓰면 시각적/논리적/접근성 구조가 모두 완성됩니다.


✅ 4. 시각적 스타일링 팁


form {
  max-width: 600px;
  margin: auto;
}

section {
  margin-bottom: 2rem;
}

fieldset {
  border: 1px solid #ccc;
  padding: 1rem;
  border-radius: 6px;
}

legend {
  font-weight: bold;
  padding: 0 0.5rem;
  color: #333;
}

→ form 전체 레이아웃도 함께 잡아주면 UI가 더 깔끔해집니다.


📌 마무리

<form> 안에서 <section>과 <fieldset>을 병행하면 시맨틱 구조 + UX + 접근성을 동시에 챙길 수 있습니다.

대규모 입력 폼, 멀티 스텝 회원가입, 설문 페이지 등에 꼭 적용해보시길 추천드립니다 😊

도움이 되셨다면 공감 / 댓글 부탁드립니다!

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

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

[HTML] <fieldset>과 <legend>로 폼 그룹화하기  (0) 2025.03.26
[HTML] placeholder vs label – 언제 어떤 걸 써야 할까?  (0) 2025.03.26
[HTML] 특수 문자(&nbsp;, &lt;, &copy;) 정리 – HTML Entities 모음  (0) 2025.03.25
[Html] Image HyperLink  (0) 2019.01.10
  1. ✅ 1. fieldset vs section – 뭐가 다를까?
  2. ✅ 2. 병행 사용하는 실무 예제
  3. ✅ 3. 접근성(A11y) 향상 방법
  4. ✅ 4. 시각적 스타일링 팁
  5. 📌 마무리
'프로그래밍/Html' 카테고리의 다른 글
  • [HTML] <fieldset>과 <legend>로 폼 그룹화하기
  • [HTML] placeholder vs label – 언제 어떤 걸 써야 할까?
  • [HTML] 특수 문자(&nbsp;, &lt;, &copy;) 정리 – HTML Entities 모음
  • [Html] Image HyperLink
큐레이트
큐레이트
저의 일상을 기록하는 블로그입니다.
  • 큐레이트
    큐레이트의 기록
    큐레이트
  • 전체
    오늘
    어제
    • 분류 전체보기 (193)
      • 국내여행 (37)
        • 애견여행 (33)
        • 맛집여행 (2)
      • 프로그래밍 (85)
        • C# (24)
        • Python (24)
        • Flutter (5)
        • .NET (4)
        • ASP (7)
        • Next.js (3)
        • Html (5)
        • Tomcat (2)
        • typescript (3)
        • etc (8)
      • 일상생활 (71)
        • 다이어트일지 (70)
        • 기타 (1)
  • 블로그 메뉴

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

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

    • 블로그 소개
  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
큐레이트
[HTML] <form> 안에서 <section>과 <fieldset> 병행 사용하는 법

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.