"의미가 있는 태그"라는 뜻
= HTML tag들 중에서도 나름의 의미가 있는 태그 / 결과는 시각적으로 같지만, 말하는 의미적으로 차이
>> 이렇게 div 태그에서 class로만 구조를 만들 수 있지만 직관적으로 어느부분이 어떤 의미를 하는지 알 수 없다.
하단의 사진처럼 semantic tag를 사용한다면, 직관적으로 의미를 알아보기가 쉽다.
1. SEO ( Search engine optimization )
검색을 최적화하기 위해서 우리가 제목, 부제목, 시멘틱 테그를 잘 활용한다면,
특정 키워드로 검색했을 때 내가 만든 웹싸이트가 검색창에 노출될 수 있다.
브라우저의 검색 엔진이 내가 만든 웹싸이트를 어떤 검색 결과에 띄워줘야 될지를 알려줄 수있다.
2. 웹 접근성
웹페이지를 시각적이 아니라, 음성으로 읽어주는 "스크린리더"를 이용하거나 또는 키보드만을 이용해서 내가 만든 웹사이트를 이용하는 경우,
적절한 시멘틱 태그로 잘 만들어진 웹사이트라면 스크린리더이든, 키보드만을 사용해서 동작하든 문제없이 동작할 수 있다.
3. 유지보수성
단순히, div tag로만 모든 구조를 짜는 것보다 더 한 눈에 알아볼 수있기 때문에,
다른 개발자들이 코드를 유지보수하기가 더 편해진다.
header
nav
<ul>
, <li>
, <a>
와 함께 사용<header> <!-- 상단 영역 -->
<nav> <!-- 메뉴 영역 -->
</nav>
</header>
main
aside
article, section
footer
- i vs em
- b vs strong
- ol vs ul vs dl
- img(html) vs background-image(css)
- table(html) vs flex, grid(css)
- button vs a
- article vs section
<i>
: italic의 약자 / 시각적으로만 나타내고 싶을 때<em>
: emphasize 약자 / 주위 텍스트와 비교했을 때 해당 부분을 강조하고 싶은 경우에 사용<b>
: bold의 약자 / 단순 시각적 요소로 사용<strong>
: 중요, 긴급, 경고'의 의미<ol>
: ordered list / 순서가 있는 리스트<ul>
: unor<dl>
: description list / 설명들이 묶고 싶을 때, 그 목록을 나타내기 위해 사용<img>
: 이미지 자체에 어떠한 의미가 있는 경우 /background-image
: 스타일링 목적만 있다면 background-image를 사용HTML에서 table 태그를 쓰면 되겠지만
단순히 아이템을 table이나 grid 형식으로 표현하기 위해서 table 태그를 사용하는 것은 추천하지 않는다.
테이블을 스타일링 할 때 CSS flex나 grid를 통해서 더 아름답고 섬세하게 스타일링을 할 수 있다.
따라서 문서 안에서 자체적으로 의미 있는 태그가 필요한 건지
내가 CSS로 스타일링을 목적으로 태그를 사용하는 건지에 따라서 선택할 수 있다.
CSS로 스타일링을 해놓으면 다 똑같은 버튼으로 보임
button
: 특정한 액션을 취할 때a
: 순수하게 이동을 하는 목적일 때<article>
: 이 자체만으로 독립된 페이지에 보여졌을 때 전혀 문제가 없다면 사용
main 안에 있는 다른 내용들과 전혀 상관없이, 독립적으로 고유한 정보를 나타낼 때 사용할 수 있다.
>> 서로 연관있는 내용을 묶어주고 싶다면 section을 이용
<section >
: 서로 연관있는 내용을 묶어줄 때 사용
>> section은 article 안이나 main안에서나 연관있는 내용을 묶어줄 때 사용할 수 있음
출처 : https://www.youtube.com/watch?v=T7h8O7dpJIg
참고: