๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์–ธ์–ด/HTML. CSS

TIL07 | HTML Semantic Web & Semantic Tags

by lee365 2021. 10. 6.
๋ฐ˜์‘ํ˜•

๐Ÿ“‘๏ธ Semantic Web

๋“ฑ์žฅ๋ฐฐ๊ฒฝ

์›น ์ƒ์— ์ถ•์ฒ™๋œ ์ •๋ณด๊ฐ€ ๋ฐฉ๋Œ€ํ•ด ์ง.

โžก๏ธ ์—„์ฒญ๋‚œ ์–‘์˜ ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด ์ƒ๊น€.

โžก๏ธ ์ปดํ“จํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœ, ํ•ด์„, ๊ฐ€๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์—†์–ด ๋ชจ๋“  ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ฐœ์ž…ํ•ด์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ–ˆ์Œ.

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ๋“ฑ์— ์˜ํ•ด Semantic Web์ด๋ผ๋Š” ๊ฐœ๋…์ด ์ œ์‹œ๋๋‹ค.

์ •์˜

"์˜๋ฏธ๋ก ์ ์ธ ์›น" ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ž˜ ์ •์˜๋œ ์˜๋ฏธ๋กœ ๋งŒ๋“ค์ž๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜๋ฏธ์ • ์ƒํ˜ธ์šด์˜์„ฑ, ๋‹ค์–‘ํ•œ ์ •๋ณด์ž์›์˜ ์ฒ˜๋ฆฌ ์ž๋™ํ™”, ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ๋ฐ ์žฌ์‚ฌ์šฉ์„ ์ปดํ“จํ„ฐ๊ฐ€ ์Šค์Šค๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ธ๊ฐ„๊ณผ ์ปดํ“จํ„ฐ ๋ชจ๋‘ ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์›น์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค.

 

๐Ÿ“‘๏ธ Semantic Tags

"์˜๋ฏธ๋ก ์ ์ธ ํƒœ๊ทธ" ๋ผ๋Š” ๋œป์œผ๋กœ HTML5์—์„œ๋Š” ์›น ํŽ˜์ด์ง€์—์„œ ํ†ต์ƒ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์กฐ์— ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ์˜๋ฏธ๋ก ์  ํƒœ๊ทธ(semantic element)๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ–ˆ๋‹ค.

Semantic Tags์™€ Non-Semantic Tag๋ฅผ ๋น„๊ตํ•ด๋ณด๊ณ  ์™œ ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์จ์•ผํ•˜๋Š”์ง€ ๊ทธ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

 

Non-semantic & Semantic tags

:: non-semantic tags

div, span ๋“ฑ์ด ์žˆ์œผ๋ฉฐ ์ด๋“ค ํƒœ๊ทธ๋Š” content์— ๋Œ€ํ•˜์—ฌ ์–ด๋–ค ์„ค๋ช…๋„ ์—†๋‹ค.

:: semantic tags

header

  • ๋จธ๋ฆฌ๋ง(ํ—ค๋”)๋ฅผ ์˜๋ฏธ.
  • ๋ฌธ์„œ์˜ ์ œ๋ชฉ, ๋กœ๊ณ , ์ž‘์„ฑ์ž, ์ž‘์„ฑ์ผ๊ณผ ๊ฐ™์€ ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๋ฐฐ์น˜ํ•œ๋‹ค.

nav

  • ๋‚ด๋น„๊ฒŒ์ดํ„ฐ๋ฅผ ์˜๋ฏธ.
  • ํŽ˜์ด์ง€ ์ด๋™ ๋“ฑ์˜ ์ฃผ์š” ๋ฉ”๋‰ด๊ฐ€ ๋ฐฐ์น˜๋œ๋‹ค.

main

  • ๋ณธ๋ฌธ์„ ์˜๋ฏธ.

  • ์ฝ˜ํ…์ธ  ๋‚ด์šฉ ์ „์ฒด๋ฅผ ๊ฐ์‹ธ๋ฉฐ, ๋ฌธ์„œ์—์„œ ์˜ค์ง ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.

section

  • ๋ณธ๋ฌธ์˜ ์—ฌ๋Ÿฌ ๋‚ด์šฉ(article)์„ ํฌํ•จํ•˜๋Š” ๊ณต๊ฐ„.

article

  • ๋ณธ๋ฌธ์˜ ์ฃผ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ณต๊ฐ„.

aside div-soup-vs-semantic-html

  • ๋ณธ๋ฌธ ์˜†์— ๊ตฌ์„ฑํ•˜๋Š” ๊ณต๊ฐ„.
  • ๋ณดํ†ต ๋ณธ๋ฌธ๊ณผ ์ง์ ‘์ ์ธ ๊ด€๋ จ ์—†๋Š” ๋‚ด์šฉ์ด ๋ฐฐ์น˜๋˜๋ฉฐ ์นดํ…Œ๊ณ ๋ฆฌ ๋ชฉ๋ก์ด๋‚˜ ํƒœ๊ทธ ๋“ฑ์ด ์ด์— ํ•ด๋‹นํ•œ๋‹ค.

footer

  • ๊ผฌ๋ฆฌ๋ง(ํ‘ธํ„ฐ)๋ฅผ ์˜๋ฏธ.
  • ํšŒ์‚ฌ ์ •๋ณด๋‚˜ ์†Œ์œ ์ž์˜ ์†Œ์…œ๋ฏธ๋””์–ด ์ •๋ณด, ์•ฝ๊ด€ ๋“ฑ ๋ฌธ์„œ์™€ ๊ด€๋ จ์ด ์ ์€ ๋ถ€๊ฐ€์ •๋ณด๋ฅผ ๋ฐฐ์น˜ํ•œ๋‹ค.

semantic

 

๐Ÿ“‘๏ธ Semantic Tag๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ 

โœจ๏ธ ์œ ์ง€๋ณด์ˆ˜์„ฑ(Maintainability)

์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์—ฌ ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ดํ•˜๋‹ค.

โœจ๏ธ ์›น ์ ‘๊ทผ์„ฑ(Web Accessibility)

์›นํŽ˜์ด์ง€์— ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ๋žŒ๋“ค, ํŠนํžˆ ์‹œ๊ฐ์žฅ์• ์ธ์˜ ๊ฒฝ์šฐ๋Š” ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์Šคํฌ๋ฆฐ ๋ฆฌ๋”์™€ ๊ฐ™์ด ๋ฌธ์„œ๋ฅผ ์†Œ๋ฆฌ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํŠน์ˆ˜ํ•œ ์žฅ์น˜๋ฅผ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์˜์—ญ๊ณผ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ์›น ์ ‘๊ทผ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

โœจ๏ธ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)

์‹œ๋งจํ‹ฑ ์š”์†Œ๋Š” ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)์—๋„ ์˜ํ–ฅ์„ ์ค€๋‹ค.

๊ฒ€์ƒ‰์—”์ง„์€ ๋กœ๋ด‡(Robot)์ด๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•ด ๋งค์ผ ์ „์„ธ๊ณ„์˜ ์›น ์‚ฌ์ดํŠธ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค (ํฌ๋กค๋ง).

๊ทธ๋ฆฌ๊ณ  ๊ฒ€์ƒ‰ ์‚ฌ์ดํŠธ ์ด์šฉ์ž๊ฐ€ ๊ฒ€์ƒ‰ํ• ๋งŒํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์ƒํ•˜์—ฌ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ์— ๋Œ€์‘ํ•˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ ๋‹ค (์ธ๋ฑ์‹ฑ).

์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ •๋ณด๊ฐ€ ์›น ์‚ฌ์ดํŠธ์˜ HTML์ฝ”๋“œ์ด๊ณ  ์ด๋•Œ ๊ฒ€์ƒ‰ ์—”์ง„์€ HTML์˜ Semantic element๋ฅผ ํ•ด์„ํ•˜๊ฒŒ ๋œ๋‹ค.

<h1>Title์ž…๋‹ˆ๋‹ค</h1>

๐Ÿ–•๏ธ ๊ฒ€์ƒ‰์—”์ง„์€ ๋Œ€์ฒด๋กœ h1 ํƒœ๊ทธ ๋‚ด์˜ content๊ฐ€ ์ค‘์š”ํ•œ ์ œ๋ชฉ์œผ๋กœ ์ธ์‹ํ•˜๊ณ  ์ธ๋ฑ์Šค์— ํฌํ•จ์‹œํ‚ฌ ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค.

 

๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)๋Š” ์›น ํŽ˜์ด์ง€ ๊ฒ€์ƒ‰ ์—”์ง„์ด ์ž๋ฃŒ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ˆœ์œ„๋ฅผ ๋งค๊ธฐ๋Š” ๋ฐฉ์‹์— ๋งž๊ฒŒ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•ด์„œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์˜ ์ƒ์œ„์— ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค. ๋”ฐ๋ผ์„œ Semantic tags๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒ€์ƒ‰์—”์ง„์ด ์ž๋ฃŒ๋ฅผ ํฌ๋กค๋งํ•˜๊ณ  ์ธ๋ฑ์‹ฑํ•  ๋•Œ ์ธ๋ฑ์Šค์— ํฌํ•จ์‹œํ‚ฌ ํ™•๋ฅ ์ด ๋†’์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO) ์ž‘์—…์ด ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿคนโ€โ™€๏ธ๏ธ img๋ฅผ ๋„ฃ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• (Semantic vs Non-Semantic)

HTML์—์„œ <img>ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ

<img alt="HTML" src="https://www.w3schools.com/whatis/img_js.png">
  • semantic tag ๐Ÿ‘‰๏ธ ๊ฒ€์ƒ‰์—”์ง„์„ ํ†ตํ•œ ๊ฒ€์ƒ‰
  • alt ์†์„ฑ์œผ๋กœ ์ด๋ฏธ์ง€ ๋…ธ์ถœ์ด ์‹คํŒจํ•˜๋”๋ผ๋„ ํ…์ŠคํŠธ๋กœ ๋Œ€์‹ ํ•˜๋ฉด ๊ฒฐ๊ณผ ๋ฆฌํ„ด

 

CSS์—์„œ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ (background-image ์†์„ฑ)

.bg-img {
  background-image: url("์ด๋ฏธ์ง€ ์ฃผ์†Œ ๐Ÿ˜‹๏ธ");
}
  • non-semantic tag ๐Ÿ‘‰๏ธ ๊ฒ€์ƒ‰์—”์ง„ํ•  ๋•Œ ํฌ๋กค๋ง์ด๋‚˜ ์ƒ‰์ธ๋˜์ง€ ์•Š์•„ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ๋…ธ์ถœ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋ถˆ๋ฆฌ
  • ํ…์ŠคํŠธ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋Œ€์ฒด ๋ถˆ๊ฐ€

 

๐ŸŒˆ๏ธ QnA

์‚ฌ์ดํŠธ์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

<img> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ <div> ํƒœ๊ทธ์— background-image ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ.

๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด์ ๊ณผ ๊ฐ๊ฐ ์–ด๋– ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

๋‹ต๋ณ€

์›น ์ ‘๊ทผ์„ฑ, ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”(SEO)๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์˜๋ฏธ์žˆ๋Š” ์ด๋ฏธ์ง€๋ผ๋ฉด ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

์ด๋ฏธ์ง€ ๋…ธ์ถœ์ด ์‹คํŒจํ•˜๋”๋ผ๋„ ํ…์ŠคํŠธ๋กœ ๋Œ€์ฒดํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๊ฑฐ๋‚˜ ๋…ธ์ถœ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด ๋‹จ์ˆœํžˆ ๋ธ”๋กœ๊ทธ ๋ฐฐ๊ฒฝํ™”๋ฉด์ด๋‚˜ ๋‚ด์šฉ๊ณผ ๋ฌด๊ด€ํ•œ ๋ฏธ์  ์š”์†Œ์˜ ์ด๋ฏธ์ง€๋ผ๋ฉด Non์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๋“ฏํ•˜๋‹ค.

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

poiemaweb.com

[HTML ๋ฐ”๋กœ ์•Œ๊ธฐ] Semantic Web์„ ์œ„ํ•œ Semantic Elements

 

๋ฐ˜์‘ํ˜•

'์–ธ์–ด > HTML. CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

TIL08 | CSS inline๊ณผ block, position, float ์†์„ฑ  (0) 2021.10.06