
๋ง๋ฅ HTML ๐
์น์ฌ์ดํธ, ์น ์ดํ๋ฆฌ์ผ์ด์ , ๋ชจ๋ฐ์ผ ์ฑ๊น์ง ๋ง๋ค ์ ์๋ HTML
๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณด๋ค ์ง์ ์ฅ๋ฒฝ์ด ํจ์ฌ ๋ฎ์ ๋งํฌ์ ์ธ์ด์ด์ง๋ง,
๋ง๋งํ๊ฒ ๋ณด๊ณ ์ค์ ์ ์ ์ฉํ๋ ค๋ ์ด๋์์ ์ด๋ค ํ๊ทธ๋ฅผ ์จ์ผํ๋์ง ํท๊ฐ๋ฆฐ๋ค.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ผ๊ณ ๋งํ ์ ์์ผ๋ ค๋ฉด,
๊ธฐ๋ณธ ์ค์ ๊ธฐ๋ณธ์ธ HTML์ ๋ํด์ ํ์คํ ์์๋ณด๊ณ ์ฌ์ฉํด์ผํ์ง ์์๊นํด์ ์ ๋ฆฌํด๋ณด์๋ค.
HTML์ ์ฌ์ฉํ ๋ ํ์, Semantic Tags! ๐ท
What is Semantic Tags(Semantic Markup)?

๋ฌธ์ ๋ฌ๋ฆฐ ์์ก์ด๋ ๋ฌธ์ ์ฌ๋ ์ฌ์ฉํ๋ ๋๊ตฌ๋ก, ์ปต์๋ ๋ฌผ์ ๋ด์ ๋ง์๋ ๋๊ตฌ๋ก, ๋ฌธ์ ์์ฑํ ๋ ์ ๋ชฉ์ ํฌ๊ฒ ์ด๋ค.
์ด์ฒ๋ผ ์ฐ๋ฆฌ ์ฃผ๋ณ์ ๋ชจ๋ ์ฌ๋ฌผ๊ณผ ์ฌ์ธ๋ค์ ๊ฐ๊ฐ ์ ๋ง๋ค์ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
๋ฐ๋ผ์ HTML ํ๊ทธ์๋ ๊ฐ๊ฐ ์ ๋ง๋ค์ ์๋ฏธ๊ฐ ์๋ค.
์นํ์ด์ง์๋ ์ ๋ชฉ์ด ์๋ค.
๋ฌผ๋ก <span> ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ ๊ธ์ ํฌ๊ธฐ๋ฅผ ํค์ ์ ๋ชฉ์ฒ๋ผ ๋ณด์ด๊ฒ ํ ์๋ ์์ง๋ง,
์ด๊ฑด ๋ง์น ์ปต์ด ์๋๋ฐ๋ ํ๋ผ์ดํฌ์ ๋ฌผ์ ๋ถ์ด์ ๋ง์๋ ๊ผด์ด๋ค.
์ ๋ชฉ์ ํํํ ๋๋ <h1> ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ ์คํ์ผ๋ง์ ๋ฐ๋ก ํ์ง ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ธ์ํ๊ณ ์ ๋ชฉ ํ์๋ฅผ ํด์ค๋ค.
HTML์์ <div> ํ๊ทธ๋ง์ ์ฌ์ฉํด์ ๋ชจ๋ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ์๋ ์๋ค.
ํ์ง๋ง! ๋ธ๋ผ์ฐ์ ๋ ์๋ฏธ์๊ฒ ์ดํดํ๊ณ , ๊ฐ๋ฐ์๋ ์๋ฏธ์๊ฒ ์ดํดํ๊ธฐ ์ํด์๋
HTML์์ ์๋ฏธ์๋ Semantic Tags๋ฅผ ์ ์ ํ๊ฒ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํ๋ค.
Semantic Tag๋ฅผ ์~ ์ฌ์ฉํด์ผ ํ๋ ์ค์ํ ์ด์ 3๊ฐ์ง?
1. ๐กย SEO (Search Engine Optimization)
๊ฒ์์ ์ต์ ํํ๊ธฐ ์ํด์ ์ ์ ํ ์ ๋ชฉ๊ณผ ๋ถ์ ๋ชฉ, ์๋งจํฑ ํ๊ทธ๋ค์ ์ ํ์ฉํ๋ค๋ฉด ํน์ ํค์๋๋ฅผ ๊ฒ์ํ์ ๋, ํด๋น ์น์ฌ์ดํธ๊ฐ ๋ ธ์ถ๋ ์ ์๋ค. ๋ค์ ๋งํด, ๊ฒ์ ์์ง์ด ์ด๋ค ๊ฒ์ ๊ฒฐ๊ณผ์ ํด๋น ์ ๋ณด๋ฅผ ๋์์ค์ผ ํ ์ง ์ ์ ์๋ค.
2. ๐ถย ์น ์ ๊ทผ์ฑ (Accessibility)
์นํ์ด์ง๋ฅผ ์๊ฐ์ ์ธ ๊ฒ์ด ์๋๋ผ ์์ฑ์ผ๋ก ์ฝ์ด์ฃผ๋ ์คํฌ๋ฆฐ ๋ฆฌ๋๋ฅผ ์ด์ฉํ๊ฑฐ๋ ํค๋ณด๋๋ง์ ์ด์ฉํด์ ์น์ฌ์ดํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ ์ ํ๊ฒ ์๋งจํฑ ํ๊ทธ๋ฅผ ์ด์ฉํด ์ ๋ง๋ค์ด์ง ์ฌ์ดํธ๋ผ๋ฉด ์คํฌ๋ฆฐ ๋ฆฌ๋๋ ํค๋ณด๋๋ง์ ์ฌ์ฉํ๋ ๋ฌธ์ ์์ด ์ ๋์ํ ์ ์์ด์ผ ํ๋ค.
3. ๐ฉโ๐ปย ๊ฐ๋ฐ์๋ค์ ์ํด์, ์ ์ง๋ณด์์ฑ (For us, Maintainability)
๊ฐ๋ฐ์๋ค์ด HTML ์ฝ๋๋ฅผ ๋ฐ๋ผ๋ดค์ ๋, ์ด ์น์ฌ์ดํธ๋ ์ด๋ป๊ฒ ๊ตฌ์กฐ๊ฐ ์ง์ฌ์ ธ ์๋์ง ํ ๋์ ์์๋ณผ ์ ์๊ณ ์ ์ง๋ณด์์ฑ์ ๋ ๋์ฌ ๊ฐ๋ฐํ ์ ์๋ค.
Semantic Tag๋ก ์น์ฌ์ดํธ ๊ตฌ์กฐ๋ฅผ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ๋ํ๋ผ ์ ์์๊น?

๐จย ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ๋ (ํนํ JS ํ๋ ์์ํฌ๋ฅผ ์ด์ฉํ ๋) <div> ํ๊ทธ๋ฅผ ๋จ๋ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํ์ง๋ง, ์์์ ๋งํ๋ฏ Semantic Tag๋ฅผ ์ ์ฌ์ฉํด์ผ
SEO, Accessibility, Maintainability๊ฐ ์๋ฆ๋ค์ด ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ์ ์๋ค.
<header>: ์น์ฌ์ดํธ๋ฅผ ๋ํ๋ด์ค ์ ์๋ ๋ธ๋๋ ๋ก๊ณ ๋๋ ์ฌ์ฉ์ ๋ฉ๋ด ์์ดํ ์ ๋ด๊ณ ์์ ๋<nav>: header ํ๊ทธ ์์ ์ฌ๋ฌ๊ฐ์ง ๋ฉ๋ด๋ค์ด ๋ชจ์ฌ์์ ๋<footer>: ์น์ฌ์ดํธ ์ ์ผ ํ๋จ์ ๋ถ๊ฐ์ ์ธ ์ ๋ณด๋ ๋งํฌ๋ฅผ ๋ด๊ณ ์์ ๋<main>: ์น์ฌ์ดํธ์ ํ์ด์ง์์ ์ค์ํ ์ปจํ ์ธ ๋ฅผ ๊ฐ์ง๊ณ ์์ ๋<aside>: main ํ๊ทธ ์์ ์ปจํ ์ธ ์ ์ง์ ์ ์ผ๋ก ์๊ด์๋, ๋ถ๊ฐ์ ์ธ ๋ด์ฉ์ด ๋ด๊ฒจ์์ ๋ (๊ด๊ณ ๋๋ ์ฐ๊ด๋ ๋ค๋ฅธ ๋งํฌ๋ค)- ํ์์ ๋ฐ๋ผ์
<article>,<section>์ ์ด์ฉํด ๋ ๊ตฌ์กฐ์ ์ธ ์น์ฌ์ดํธ๋ฅผ ๊ตฌ์ฑํด๋ณผ ์ ์๋ค.
์์ฃผ ํท๊ฐ๋ฆฌ๋ Semantic Tag ํ์คํ ์ก๊ธฐ ๐
1. <article> vs <section>

article
๋ธ๋ก๊ทธ ํฌ์คํธ ํ๋, ์ ๋ฌธ ๊ธฐ์ฌ ํ๋ ์์ฒด๋ฅผ ๋ฌถ์ด์ค ๋ ์ฌ์ฉํ๋ค.
์ด ์์ฒด๋ง์ผ๋ก ๋
๋ฆฝ์ ์ผ๋ก ๋ค๋ฅธ ํ์ด์ง์ ๋ณด์ฌ์ก์ ๋ ์ ํ ๋ฌธ์ ๊ฐ ์์ ๋ ์ฌ์ฉํ ์ ์๋ค.
์ฆ, main ํ๊ทธ ์์ ๋ค๋ฅธ ๋ด์ฉ๋ค๊ณผ ์ ํ ์๊ด์๋, ๋
๋ฆฝ์ ์ผ๋ก ๊ณ ์ ํ ์ ๋ณด๋ฅผ ๋ํ๋ผ ๋ ์ฌ์ฉํ ์ ์๋ค. ์ ํ watchOS์ ์ฝ๊ธฐ ๋ชจ๋๋ ์ด ํ๊ทธ๋ฅผ ํตํด์ ํ์ด์ง์ ๋ณธ๋ฌธ์ ํ์
ํ๋ค๊ณ ํ๋ค.
๋ง์ฝ ์ด article ์์ ๋ง์ ๋ด์ฉ๋ค ์ค์ ์๋ก ์ฐ๊ด ์๋ ๋ด์ฉ๋ค์ ๋ฌถ์ด์ฃผ๊ณ ์ถ๋ค๋ฉด section ํ๊ทธ๋ฅผ ์ด์ฉํด ๋ ๋ค๋ฅธ ์์ญ์ผ๋ก ๋ฌถ์ด์ค ์ ์๋ค.
section
article ํ๊ทธ ์์ด๋ main ํ๊ทธ ์์ด๋, ์๋ฌด ๊ณณ์์๋ ์ฐ๊ด์๋ ๋ด์ฉ๋ค์ ํ๋๋ก ๋ฌถ์ด์ค ๋ section ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค. ํ ํ์ด์ง ์์ ์ฌ๋ฌ๊ฐ์ง ๋ด์ฉ์ ๋ณด์ฌ์ค๋ค๋ฉด section๋ณ๋ก ๋๋๊ณ , ํ๋์ section ์์์ ๋ ๋ค๋ฅธ ๋ธ๋ก๊ทธ ํฌ์คํธ๋ฅผ ๋ณด์ฌ์ค๋ค๋ฉด article ํ๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ํ์ง๋ง section ์์ article์ด ์ฌ๋ฌ ๊ฐ ๋ค์ด๊ฐ๋ ๊ฒ์ ์กฐ๊ธ ๋ถ์์ฐ์ค๋ฌ์ธ ์ ์๋ค. ์๋ก ๊ด๋ จ ์๋ ๋ด์ฉ์ ๋ชจ์ ๋์์ผ ํ section์์ ๊ฐ๊ฐ์ด ๋ ๋ฆฝ๋ article์ด ๋ค์ด๊ฐ์ ์๋ก ๋ค๋ฅธ ๋ด์ฉ์ ๋ ๋ฆฝ article์ด ๋ฐฐ์น๋๊ธฐ ๋๋ฌธ์ด๋ค.
2. <em> vs <i>

ํ๋ฉด์ ๊ทธ๋ ค์ก์ ๋ ์ฐจ์ด์ ์ ์๋๋ฐ, ์คํฌ๋ฆฐ ๋ฆฌ๋๋ก ์ฝํ ๋ em์ ๊ฐ์กฐ๋ก ์ฝํ๊ณ i๋ ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ ธ ์ฝํ๋ ์ฐจ์ด๊ฐ ์๋ค.
em
๊ฐ์กฐํ๋ ์ดํค๋ฆญ์ฒด๋ก, ๋ฌธ์ฅ์์ ์ ๋ง ๊ฐ์กฐํ๊ณ ์ถ์ ์ดํค๋ฆญ์ฒด๊ฐ ์๋ค๋ฉด ์ด๊ฑธ ์ฌ์ฉํด์ผํ๋ค.
i
์๊ฐ์ ์ผ๋ก๋ง ์ดํค๋ฆญ์ฒด๋ก ๋ณํ๋๊ณ ๋ณ๋ค๋ฅธ ์๋ฏธ๊ฐ ์๋ค.
3. <b> vs <strong>

ํ๋ฉด์ ๊ทธ๋ ค์ก์ ๋ ์ฐจ์ด์ ์ ์๋๋ฐ, ์คํฌ๋ฆฐ ๋ฆฌ๋๋ก ์ฝํ ๋ ์ฐจ์ด์ strong์ ๊ฐ์กฐ๋ก ์ฝํ๊ณ b๋ ์์ฐ์ค๋ฝ๊ฒ ์ด์ด์ ธ ์ฝํ๋ ์ฐจ์ด๊ฐ ์๋ค.
b
์๊ฐ์ ์ผ๋ก๋ง ๋ณผ๋์ฒด๋ก ๋ํ๋
strong
์ ๋ง ์ค์ํ! ๊ฐ์กฐํ๋ ๋ณผ๋์ฒด
โ 2๋ฒ๊ณผ 3๋ฒ์์ ์ ๋ฆฌํ ํ๊ทธ๋ค์ ๊ธฐ๋ฅ์ ์ผ๋ก ์ ๋ง ๋น์ทํ๊ณ ์ฐจ์ด๋ ๋๋ฌด ๋ฏธ๋ฌํ์ง๋ง
๊ทธ ์ฐจ์ด์ ์ ์๊ณ ์ ์ ํ ๊ณณ์์ ์ฌ์ฉํ๋ค๋ฉด ์๋งจํฑ ํ๊ทธ์ ๋ํด์ ์ ์๋ ๋ฉ์ง ๊ฐ๋ฐ์๊ฐ ๋ ์ ์๋ค๋ ์
4. <ul> vs <ol> vs <dl>
ul

UnorderList + list โ ์์๊ฐ ์๋ ๋ชฉ๋ก์ ๋ํ๋ผ ๋, ๋จ์ํ ๋ชฉ๋ก์ผ๋ก๋ง ๋ํ๋ผ ๋ ์ฌ์ฉํ๋ค. ul ํ๊ทธ + li ํ๊ทธ ์์ ๋ ๋ค๋ฅธ ul ํ๊ทธ์ li ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ ์ค์ฒฉ๋ ๋ชฉ๋ก์ ๋ณด์ฌ์ค ์๋ ์๋ค.
ol

OrderList + list โ ์์๋ฅผ ํ๊ธฐํ ๋ชฉ๋ก์ ๋ํ๋ผ ๋, ์์๊ฐ ์ค์ํ ๋ ์ฌ์ฉํ๋ค.
dl

Description List ์์๋ก ์ด๋ค ํ ๋จ์ด์ ๋ํ ์ ์์ ์ค๋ช ๋ชฉ๋ก์ ํํํ ๋ ์ฌ์ฉํ๋ค.
- dt : Description Term ์ํ๋ ๋จ์ด
- dd : Description Detail ๋จ์ด์ ํด๋นํ๋ ์ค๋ช
5. <img> vs css : background-image
img
์ด๋ฏธ์ง๊ฐ ์นํ์ด์ง ์์์ ํ๋์ ์ค์ํ ์์๋ก ์๋ฆฌ์ก๊ณ ์์ ๋, img ํ๊ทธ๋ฅผ ์ด์ฉํด์ HTML ๋ฌธ์ ์์์ ์์ฒด์ ์ผ๋ก ํฌํจ๋๋๋ก ๋ง๋๋ ๊ฒ์ด ์ข๋ค.
background-image
์ด๋ฏธ์ง๊ฐ ์คํ์ผ๋ง ๋ชฉ์ ์ผ๋ก ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ก ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ, ์ฆ ๋ฌธ์์ ์ผ๋ถ๋ถ์ด ์๋ ๊ฒฝ์ฐ(์ด๋ฏธ์ง๊ฐ ์์ด๋ ๋ฌธ์๋ฅผ ์ฝ๋๋ฐ ์ง์ฅ์ด ์์ ๋)๋ CSS์ background-image ์ฌ์ฉํ๋ค.
6. <button> vs <a>
button
์ฌ์ฉ์์ ํน์ ํ ์ก์ ์ ์ํด์ ๋ฒํผ์ ํด๋ฆญํ์ ๋ ์ด๋ค ํ๋์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
a
์ฌ์ฉ์๊ฐ ํด๋ฆญํ์ ๋ ์ด๋๊ฐ๋ก ์ด๋ํด์ผํ๋ ๊ฒฝ์ฐ, ๋งํฌ๊ฐ ๊ฑธ๋ ค์ ธ ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
7. <table> vs css
table
ํ๊ณผ ์ด ๋ฐ์ดํฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
css
๋จ์ํ ๊ทธ๋ฆฌ๋ ์คํ์ผ๋ง ํ์์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. flex๋ grid๋ฅผ ์ด์ฉํด ์ ์ฐํ๊ณ ์๋ฆ๋ต๊ฒ ์คํ์ผ๋ง์ด ๊ฐ๋ฅํ๋ค.
โจ ์ ๋ฆฌ
- ํ๋ฉด์ ๊ตฌ์ฑํ ๋ ํญ์ ์ฌ์ฉํ๋ ํ๊ทธ, ์ต์ํ ํ๊ทธ๋ง ์ผ์๋๋ฐ(div, span, img ๋ฑ) HTML์ Semantic Tag์ ๋ํด์ ๊ณต๋ถํด๋ณด๋ ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ํํํ๊ฒ ์ง์ผ ํ์คํ ๋์ค์ ์ฝ๋๋ฅผ ๋ณด๊ณ ํ์
ํ ๋๋ ์ข์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ ๋ค. ๐
์๋งจํฑ ํ๊ทธ์ ์ ๋ต์ ์๋ค. ๋ค๋ง, ๋ด๊ฐ ๋ํ๋ด๊ณ ์ ํ๋ ์ปจํ ์ธ ๋ฅผ ๋ ์๋ฏธ์๋ ํ๊ทธ๋ก ๋ํ๋ผ ์ ์์์ง ํ ๋ฒ ๋ ํ์ธํด๋ณด๊ณ ์ฌ์ฉํด๋ณด์!