frontend/HTML

fieldset로 묶기와 section으로 묶기 차이

Mr.코딩 2023. 7. 24. 22:46

fieldset로 묶기와 section으로 묶기 차이 (시멘틱 차원에서..)

 

아이템을 `<fieldset>`로 묶는 것과 `<section>`으로 묶는 것은 두 가지 다른 HTML 요소를 사용하는 방식입니다. 각각의 장단점은 다음과 같습니다:

 

1. `<fieldset>`으로 아이템 묶기:

 

- 장점:

  - 시맨틱 의미: `<fieldset>`은 관련된 폼 컨트롤들을 하나의 그룹으로 묶는 시맨틱 태그입니다. 폼 요소들이 서로 관련되어 있음을 명확하게 표현할 수 있습니다.

  - 폼 요소들을 묶어서 사용자에게 관련 정보를 제공하고, 레이블을 사용하여 폼의 사용 방법을 더욱 명확하게 할 수 있습니다.

 

- 단점:

  - 디자인 제어의 어려움: `<fieldset>`은 브라우저에 의해 기본적으로 스타일링되기 때문에 커스텀 디자인을 적용하기 어려울 수 있습니다. CSS를 사용하여 스타일을 변경해야 할 때 추가적인 작업이 필요합니다.

 

2. `<section>`으로 아이템 묶기:

 

- 장점:

  - 스타일링 유연성: `<section>`은 레이아웃과 디자인에 더 큰 유연성을 제공합니다. 개발자가 원하는 대로 디자인을 구현할 수 있습니다.

  - 더 많은 시맨틱 선택지: `<section>`은 여러 가지 목적으로 사용될 수 있으며, 컨텐츠를 논리적으로 분리하고 그룹화하는 데 도움을 줍니다.

 

- 단점:

  - 시맨틱 의미 부족: `<section>`은 시맨틱 태그지만, `<fieldset>`처럼 폼 컨트롤들을 묶는 명확한 의미를 갖지는 않습니다. 폼 요소들을 묶을 때 `<fieldset>`을 사용하는 것이 더 명시적인 방법입니다.

 

결론:

`<fieldset>`과 `<section>`은 각각 목적과 의미가 다릅니다. 폼 컨트롤들을 그룹화하기 위해서는 `<fieldset>`을 사용하는 것이 더 적절하고, 레이아웃 구조나 논리적으로 관련된 컨텐츠를 그룹화하려면 `<section>`을 사용하는 것이 좋습니다. 또한, `<fieldset>`은 폼 요소들을 묶고 기본적인 스타일을 제공하지만, 커스텀 디자인이 필요한 경우에는 추가적인 CSS 작업이 필요합니다. `<section>`은 스타일링이 유연하며, 시맨틱 의미를 더 넓게 활용할 수 있지만, 폼 컨트롤들을 명확하게 묶는 의미를 갖지는 않습니다.