Semantic은 사전적으로 의미의, 의미론의 뜻을 가지고 있다. 여기에 Markup은 HTML 태그로 문서를 작성하는 것을 말하기 때문에, 시맨틱 마크업이란 의미를 잘 전달 할 수 있는 문서를 말한다.
시맨틱 마크업은 웹 접근성을 향상시켜 정보격차를 해소하는데 도움을 준다.
+ 왜 시맨틱한 마크업을 해야할까?
https://www.youtube.com/watch?v=OM6XIICm_qo&t=332s
<br>, <wbr>
<br> : 줄바꿈을 위한 태그
<wbr> : 텍스트 박스에서 한 줄로 모두 표시가 안될 때에만 내가 지정한 곳에서 줄바꿈이 일어나게 함
HTML은 공백을 기준으로 문자인지 단어인지 구분
word-brak
non-CJK : 공백기준
CJK (Chinese, Japanes, Korean) : 음절기준
<a>
html 문법상 sections, grouping content 요소들은 텍스트 레벨 요소의 자식으로 사용되지 않지만, 앵커 태그만 예외적으로 sections, grouping content 요소를 자식으로 하는것이 허용
<a> 요소안의 자식으로는 <a> 요소나 <button> 과 같이 사용자와 인터렉션이 가능한 요소를 자식으로 두지 않기 때문에 주의가 필요
<a href="https://www.naver.com">click</a>
: 절대경로 / 링크 직접 설정
<a href="https://www.naver.com" target="_blank">click</a>
: 절대경로 / 새창으로 열기
<a href="./index.html">click</a>
: 상대경로
<a href="#three">click</a> <!-- 해쉬 링크 -->
: 내부 이동에 주로 사용 / id만 사용 가능
<a href="./index.html" download>click</a>
<a href="./hello.hwp">hwp click</a>
: 파일 download
<a href="./hello.hwp" download="a.hwp">hwp download click</a>
: a라는 이름으로 hwp파일을 download
<a href="./hello.pdf">pdf click</a>
: pdf파일 열기
<a href="./hello.pdf" download="a.pdf">pdf download click</a>
: a라는 이름으로 pdf파일을 download
<a href="tel:+82027777777">(02)777-7777</a>
: 전화 app 연결
<a href="mailto:hello@gmail.com">hello@gmail.com</a>
: 메일 app 연결
<b>, <strong>
<b> : 굵은 글꼴 표현 / 의미 X / 사용 X<strong> : 굵은 글꼴 표현 / 중요도를 더해 강조 / 중첩가능<i>, <em>
<i> : 기울임 글꼴 / 주위와 구분해야 하는 부분을 표현 / ex) 등장인물의 생각<em> : 기울임 글꼴 / 강조 (emphasize)<dfn>
<abbr>
<abbr title="World Wide Web">WWW</abbr><sup>, <sub>
<sup> : 윗첨자<sub> : 아래첨자<span>
<div> 와 마찬가지로 최후 수단 / <div> 는 줄 바꿈 가능<img>
이미지 삽입할 때 사용
<img src="img/a.jpg" alt="스크린 리더가 읽어야 하는 문구">
art
alt 속성에 적힌 텍스트를 이미지 대신 보여줌 <picture>
source 요소와 img 요소를 통해 각기 다른 디스플레이 혹은 디바이스에 따라 조건에 맞는 이미지를 보여주는 요소<iframe>
<audio>
<audio src="폴더/파일명" controls autoplay loop ></audio>
src : 브라우저에게 오디오 파일의 위치 및 파일명을 알려줌 controls : 음악 파일을 제어할 수 있는 컨트롤러를 불러옴autoplay : 로딩이 완료된 파일을 자동으로 재생loop : 음악을 반복합니다.<video>
<video src="batman.mp4" controls autoplay loop width="450" height="300"></video>
src : 브라우저에게 비디오 파일의 위치 및 파일명을 알려줌controls : 영상 파일을 재생하는데 필요한 컨트롤러를 불러옴autoplay : 로딩이 완료된 파일을 자동으로 재생loop : 영상이 종료되면 다시 반복해서 재생<section> 큰 덩어리를 만들 때만 사용하며, 비슷한 형제 요소들과 함께 여러 <section> 으로 나눌 수 있는지 고민하기<a> 요소안의 자식으로는 <a> 요소나 <button> 과 같이 사용자와 인터렉션이 가능한 요소를 자식으로 두지 않기 때문에 주의가 필요