안녕하세요 성조입니다.
올바른 지식을 공유할 수 있도록 노력하고 있습니다. 혹여나, 잘못된 지식이 전달된다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다!
시맨틱(Semantic) 태그란?
결론부터 말하면 웹 페이지의 의미론적 구조를 명시적으로 나타내는 것이다.
즉, HTML을 설계할 때 태그들이 무엇을 의미하는 것인지 브라우저 또는 봇에게 명확하게 알려주기 위해서 사용되는 것이다.
시맨틱 태그를 잘 활용하여 HTML을 설계하는 경우. 검색 엔진 최적화(SEO)에 도움 될 뿐 아니라, 웹 표준 규격을 준수하여 웹 접근성을 향상할 수 있다. 정리 정돈이 잘 되어있어서 스타일링 작업도 쉽게 할 수 있게 된다.
시맨틱(Semantic) 태그 정리
1. <header> 태그
이 태그는 웹페이지의 헤더 부분을 정의하는데 로고, 타이틀, 탐색 링크, 내비게이션 메뉴 등 주요 정보가 위치하는 곳이다.
여러 <header> 요소가 웹페이지에 있을 수 있지만 가능하면 <body>, <article>, <section> 태그 들에는 하나의 <header> 요소만을 포함하는 것을 권장한다. 굳이 <body> 태그와 같은 태그에 여러 개의 중복되는 <header> 태그를 넣을 필요는 없다고 생각한다.
2. <nav> 태그
웹 페이지의 탐색 링크를 담는 부분으로 활용되며, <nav> 태그의 경우. 대부분 <header> 또는 <footer> 태그 내부에 위치한다.
3. <main> 태그
웹 페이지의 주요 콘텐츠를 정의하는데 활용된다. 이 태그 내부의 콘텐츠는 웹페이지의 고유한 정보를 담고 있어야 하며, 헤더, 푸터, 내비게이션과 같은 반복적인 콘텐츠는 포함하지 않는다.
<main> 태그의 경우 각페이지에 하나의 요소만 포함되는 것을 권장한다.
4. <article> 태그
독립적인 콘텐츠를 담는 영역을 정의할 때 사용한다.
뉴스 기사, 인터넷 사이트 게시물, 블로그 포스팅 등의 독립적인 콘텐츠들이 이 영역으로 해결하는 것을 권장한다.
<article> 요소는 일반적으로 자체적인 의미를 가지고 있으며, 문서나 사이트의 나머지 부분과 분리되어 활용되는 것이다.
5. <section> 태그
일반적인 섹션을 정의하는데 웹 페이지 하나의 부분 그룹으로 보면 좋을 것 같다.
콘텐츠의 그룹을 형성하며, 일반적으로 자체 제목을 가진다.
<section> 태그 내부에는 <article>, <aside>, <header>, <nav>, <footer>등의 태그들이 함께 들어간다.
6. <aside> 태그
주요 콘텐츠와 간접적으로만 연관된 연관 콘텐츠를 담는 영역을 정의할 때 사용한다.
사이드바, 메뉴 바, 광고, 주석 등이 여기에 해당된다.
7. <footer> 태그
웹 페이지의 푸터를 정의하는데 맨바닥에 거의 주로 자리 잡는다.
일반적으로는 저작권 정보, 작성자 정보, 연락처 정보, 회사 정보, 사이트 맵, 다른 페이지로 링크 이동 등을 포함한 내용들이 이 태그에 들어간다. 많은 내용을 포괄하고 있는 만큼. <body>, <article>, <section> 섹션들에서 footer는 최소한의 요소만 포함되는 것을 권한다. <body> 태그는 기본 태그로 활용하기 때문에 사실상 섹션 태그 또는 아티클 태그에 포함하는 것이 아니라면 푸터 태그는 로딩될 때 헤더 태그와 동일하게 하나만 나올 수 있도록 하자.
8. <figure> 태그
일반적으로 이미지, 일러스트, 차트, 코드 블록 등의 독립적인 콘텐츠를 표현한다.
9. <figcaption> 태그
<figure> 요소 태그의 설명이나 캡션을 제공한다.
10. <time> 태그
읽을 수 있는 시간이나, 기계가 읽을 수 있는 형식으로 내용을 제공한다.
11. <mark> 태그
실 사용자가 주목받아야 하는 텍스트를 강조하기 위해서 사용된다. 하이라이트 처리.
12. <summary> 태그
숨겨진 콘텐츠 블록을 제공하고, 사용자가 원하는 경우에 볼 수 있도록 접은 글과 같은 콘텐츠 내용들을 담는 것을 말한다. <details> 태그같이 숨겨진 내용을 담는 태그와 함께 <summary>라는 제목으로 사용된다.
이 외에도 더 디테일하게 많은 의미를 가지는 태그들이 존재할 것이다. 더 자세한 것이 궁금하다면 표준 사이트를 찾아서 학습하기를 권장한다. 하지만 HTML의 경우 많은 웹 사이트들이 사용하는 대부분 사용하는 또는 사용했던 태그들을 위주로 사용하기 때문에 너무 방대하고, 디테일하게 한다면 기술적으로 향후에 마이그레이션 하는 단계에서 어려움을 겪을 수 있는 부분도 주의하자.
부족한 포스팅이지만 읽어주셔서 감사드립니다.
오타나 문제가 있는 사항, 모르는 부분이 존재하면 언제든지 댓글 남겨주시길 바랍니다.
다음 포스팅 때 뵙겠습니다!
- 참조 -
https://html.spec.whatwg.org/multipage/dom.html#semantics-2
https://www.w3schools.com/html/html5_semantic_elements.asp
'Web Basic > HTML' 카테고리의 다른 글
[HTML] 5. 작성 태그와 인용 태그 정리 (2) | 2022.09.23 |
---|---|
[HTML] 4. 요소(Elements) 와 속성(Attributes) (0) | 2022.04.13 |
[HTML] 3. 태그 (0) | 2022.03.05 |
[HTML] 2. HTML 기본 용어와 구조 (0) | 2021.12.08 |
[HTML] 1. 발달 개념 (0) | 2020.06.10 |