<article>과 <section>은 모두 <div>와 같은 block 속성을 갖고 있는 tag이다.
따라서 <article>과 <section> 을 모두 <div> tag로 대치해도 기능상의 문제는 전혀 없다. 이 외에도 semantic tag중 기본 구조를 구축하기 위한 <header>, <footer> 등도 모두 마찬가지이다.
다만 <header>, <footer> 등 그 뜻이 명확한 것과는 달리 <article>, <section>, <div>는 어디에 사용되어야 가장 적절 한지 명확히 구별하여 개발한 사례를 찾기가 힘들다.
시맨틱 태그를 사용하는 이유는 SEO뿐만이 아니라 개발자들의 가독성을 높이기 위한 측면도 무시할 수 없다.
이완 사용하는 것이라면 용도에 맞게 적절하게 사용하는 것이 좋을 것 같다.
각 tag의 기본적인 의미는 다음과 같다.
- <article> tag는 문서 혹은 요소가 독립적으로 존재할 수 있을 때 사용한다.
- <section> tag는 논리적으로 관계 있는 문서 혹은 요소를 분리할 때 사용한다.
- <div> 요소간 논리적 관계와는 상관없이 요소를 나눠야 할 필요가 있을 경우 사용한다.
위와 같은 기본적인 의미를 생각 한다면 <section>안에 <article>이 여러 개 들어가는 것은 조금 부자연스러울 수 있다. 왜냐하면 서로 관련 있는 내용을 모아 놓아야 할 <section>안에 각각이 독립된 <article>이 들어가 서로 다른 내용의 독립 <article>이 배치되기 때문이다.
따라서 <article>안에 <section>이 들어가는 것이 자연스럽다.
<div>의 경우는 논리적 관계와는 무관하게 요소를 나누는데 사용됨으로 <article>과 <section> 어느 쪽의 내부에 정의하던 크게 어색하지 않다. 다만 시맨틱 태그에는 <div>태그로 사용하던 다양한 역할의 태그, 즉 aside, header, footer, nav 등 대부분을 정의하고 있기 때문에 특별한 경우가 아니라면 사용 자제하는 것이 가독성을 높이는데 유리하다.
다음은 web page내용을 구성하는 기본 구조의 예시이다.
<article>
<h1>Article1 Heading</h1>
<section>
<h2>Section1 Heading</h2>
<p>Content...</p>
</section>
<section>
<h2>Section2 Heading</h2>
<p>Content...</p>
</section>
<section>
<h2>Section3 Heading</h2>
<p>Content...</p>
</section>
</article>
'HTML5' 카테고리의 다른 글
[ HTML Tag - A그룹 ] <a> - Anchor 태그 사용 설명서 (0) | 2023.07.20 |
---|---|
[ HTML Tag - A 그룹 ] <!DOCTYPE> 태그는 무엇인가? (0) | 2023.07.20 |
[ HTML Tag - A 그룹 ] <!-- 주석 --> 사용법 (0) | 2023.07.18 |
[HTML5] 미디어의 크기에 따라 다른 이미지를 보여주는 <picture> 태그 (0) | 2019.11.16 |
[HTML5] <dl> tag - definition list (정의 목록) (0) | 2019.11.13 |
[HTML5] block과 inline level 요소들 (0) | 2019.11.01 |
[HTML5] meta tag 총정리 (0) | 2019.10.31 |