<body>
섹션 요소는 일반적인 컨테이너 요소가 아니며, 문서 개요에 명시적으로 나열되는 경우에만 섹션 요소가 적합하다는 규칙이 있다. 일반적인 컨테이너 요소로는 <div>
, <span>
등이 있다.
<article>
<article>
내부에 <section>
태그를 포함할 수 있고, 반대로 <section>
내부에 <article>
를 포함할 수 있다.<aticle>
<h2>기사 제목</h2> //반드시 제목을 포함시켜야
...
</aticle>
<section>
<aside>
<nav>
Section과 Article 요소에는 꼭 h2-h6에 해당하는 타이틀이 붙어야한다고 하는데,
그러면 디자인 적으로 타이틀을 따로 쓰지않은 섹션의 경우는
타이틀을 따로 display:none 이런 식으로 숨겨도 상관이 없는건가?
<section aria-labeledby="a11y-markup-headline">
<h2 hidden id="a11y-markup-headline">정보 접근성과 HTML 마크업</h2>
...
</section>
<heaader>
<footer>
<section>
, <article>
, <nav>
, <aside>
<main>
문서 또는 애플리케이션 body 요소의 메인 콘텐츠에 해당한다.
main 요소는 섹션 요소가 아니며, 보이는 요소가 2개 이상이면 안된다.
사용되지 않는 main 요소는 화면에서 감춤(hidden) 처리해야 한다.
article, section, aside, nav 요소는 main 요소를 자식으로 포함할 수 없다.
반대로 main 요소는 섹션 요소들을 포함할 수 있다.
main 내부에는 header, footer 요소를 직접적으로 포함하지 않는다.
[예시]
<section><main></main></section> <!-- X 잘못된 사용 -->
<main><section></section></main> <!-- O 메인 내부 섹션 포함가능 -->
<main> <!-- O 메인 내부의 섹션 내부에 header, footer 포함 가능 -->
<section>
<header>
</header>
<footer>
</footer>
</section>
</main>
<main>...</main>
<main hidden>...</main> <!--감춤처리-->
<main hidden>...</main> <!--감춤처리-->
<!DOCTYPE html>
<html lang="ko-KR">
<head>
<meta charset="UTF-8">
<title>섹션(Sections) 요소들과 메인(Main) 요소</title>
</head>
<body>
<header>
<h1><a href="/">JTBC</a></h1>
<nav id="global-navigation">
<h2>글로벌 내비게이션</h2>
</nav>
<aside id="review-banner">
<h3>리뷰 배너</h3>
</aside>
</header>
<main>
<article id="on-air-banner">
<h2>온에어 배너 섹션</h2>
<!-- ... -->
</article>
<section id="realtime-vod">
<header>
<h2>리얼타임 VOD 섹션</h2>
</header>
<!-- ... -->
</section>
<article id="daily-programs">
<h2>데일리 프로그램 섹션</h2>
<!-- ... -->
</article>
<section id="news">
<h2>뉴스 섹션</h2>
<!-- ... -->
</section>
<section id="program">
<h2>JTBC 프로그램</h2>
<!-- ... -->
<article id="jtbc-news-room">
<h3>JTBC 뉴스룸</h3>
<!-- <section>섹션 추가 가능</section> -->
</article>
</section>
<aside id="advertising">
<h4>광고</h4>
<!-- ... -->
</aside>
<section id="trailer">
<h2>트레일러(예고편)</h2>
<!-- ... -->
</section>
<section id="notice">
<h2>공지사항</h2>
<!-- ... -->
</section>
</main>
<footer>
<nav id="footer-navigation">
<h3>푸터 내비게이션</h3>
</nav>
</footer>
</body>
</html>
페스트캠퍼스 프론트 엔드 개발 시작하기 camp
<section>
일반 섹션 요소
<article>
독립 섹션 요소
<aside>
보조 섹션 요소
<nav>
내비게이션 섹션 요소
<main>
메인 요소
HTML 5.2 기술 표준 사양 Sections
HTML 5.2 기술 표준 사양 the main element
[HTML 5 문서의 섹션과 아웃라인
정말 좋은 글 감사합니다..!!