πŸ‘©‍πŸ’»κ°œλ°œ_TIL/TIL

[HTML] μ‹œλ§¨ν‹± νƒœκ·Έ

Daisy.lee 2022. 1. 20. 20:20

1. μ‹œλ§¨ν‹± νƒœκ·Έλž€?

- μ›Ήμ‚¬μ΄νŠΈ 내에세 μ˜μ—­λ³„λ‘œ 의미λ₯Ό κ°€μ§€λŠ” νƒœκ·Έ

- μ‹œλ§¨ν‹±(semantic): '의미의', '의미둠적인'

- νƒœκ·Έμ˜ μ΄λ¦„λ§Œ 보아도 μ–΄λ–€ 역할을 ν•˜λŠ” μ˜μ—­μΈμ§€λ₯Ό μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

- μ‹œλ§¨ν‹± νƒœκ·Έμ˜ λ°˜λŒ€, 즉 μ–΄λ– ν•œ μ˜λ―Έλ‚˜ 역할이 μ—†λŠ” νƒœκ·ΈλŠ” λ…Όμ‹œλ§¨ν‹±(non-semantic) νƒœκ·ΈλΌκ³  ν•©λ‹ˆλ‹€.

 

2. μ‹œλ§¨ν‹± νƒœκ·Έμ˜ μ’…λ₯˜

- 자주 μ“°μ΄λŠ” μ‹œλ§¨ν‹± νƒœκ·ΈλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

2-1. <header>

- 제λͺ©, 둜고 λ“± μ›Ήμ‚¬μ΄νŠΈμ˜ μ†Œκ°œν•˜λŠ” μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

2-2. <nav>

- ν˜„μž¬ νŽ˜μ΄μ§€  λ˜λŠ” λ‹€λ₯Έ νŽ˜μ΄μ§€λ‘œμ˜ 링크λ₯Ό λ³΄μ—¬μ£ΌλŠ” μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

- navigate: 길을 μ°Ύλ‹€, νƒμƒ‰ν•˜λ‹€ -> ν˜„μž¬ λ˜λŠ” λ‹€λ₯Έ νŽ˜μ΄μ§€λ‘œ νƒμƒ‰ν•˜λŠ” μ—­ν• 

- λ‹¨λ…μœΌλ‘œ 쓰일 μˆ˜λ„ 있고, ν—€λ”λ‚˜ μ‚¬μ΄λ“œλ°” 내뢀에 μžˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

2-3. <main>

- 핡심이 λ˜λŠ” 메인 컨텐츠가 λ“€μ–΄κ°€λŠ” μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

- μ›Ήλ¬Έμ„œμ—μ„œ ν•œ 번만 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2-4. <article>

- λ…λ¦½λœ 컨텐츠 κ°œλ³„ ν•­λͺ©μ˜ μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

- μ—¬λŸ¬ 개 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2-5. <section>

- 컨텐츠 μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

❓ <article>κ³Ό <section>의 차이

- <article>은 λ…λ¦½λœ 컨텐츠, <section>은 κ΄€λ ¨λœ 컨텐츠듀을 λ¬ΆλŠ” 역할이라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2-6. <aside>

- μ‚¬μ΄λ“œλ°” μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

- ν•„μˆ˜μ μΈ μš”μ†ŒλŠ” μ•„λ‹ˆλ―€λ‘œ ν•„μš”ν•œ κ²½μš°μ—λ§Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

2-7. <footer>

- μ‚¬μ΄νŠΈ μ œμž‘μž, μ €μž‘κΆŒ 정보, κ΄€λ ¨ λ‚΄μš©μ„ μ†Œκ°œν•˜λŠ” μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

- header와 λ§ˆμ°¬κ°€μ§€λ‘œ 내뢀에 section, article, nav λ“± λ‹€λ₯Έ μ‹œλ§¨ν‹± νƒœκ·Έλ₯Ό λ„£μ–΄ 정보λ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2-8. <h1> ~ <h6>

- 제λͺ© μ˜μ—­μ„ λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έ

- κ°€μž₯ 큰 제λͺ©μΈ <h1>λΆ€ν„° μ‹œμž‘ν•΄ κ°€μž₯ μž‘μ€ <h6>κΉŒμ§€ μžˆμŠ΅λ‹ˆλ‹€.

- 일반 ν…μŠ€νŠΈλ³΄λ‹€ κΈ€μ”¨μ˜ 크기가 크며 λ‘κ»μŠ΅λ‹ˆλ‹€.

- μ œκ°€ μ°Έκ³ ν•œ μ±…μ—λŠ” 이 νƒœκ·Έκ°€ ν…μŠ€νŠΈ 컨텐츠λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μš”μ†Œλ‘œ λ‚˜μ™€μžˆλŠ”λ°(참고둜 HTML의 νƒœκ·Έλ“€μ„ μš”μ†Œ(element)라고도 ν•©λ‹ˆλ‹€.) 곡식 λ¬Έμ„œμ—μ„œλŠ” μ‹œλ§¨ν‹± νƒœκ·Έμ™€ 같은 μΉ΄ν…Œκ³ λ¦¬μ— ν¬ν•¨λ˜μ–΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ§žλ‹€ ν‹€λ¦¬λ‹€μ˜ 문제 λ³΄λ‹€λŠ” κ΄€μ μ˜ 차이인 것 κ°™μŠ΅λ‹ˆλ‹€. μ €λŠ” μ‹œλ§¨ν‹± νƒœκ·Έμ— λΆ„λ₯˜ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

 

πŸ’‘ MDN λ¬Έμ„œμ— λ”°λ₯΄λ©΄, <hn> νƒœκ·Έλ₯Ό λ¬΄λΆ„λ³„ν•˜κ²Œ μ‚¬μš©ν•˜λŠ” 것을 μ§€μ–‘ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ <hn> νƒœκ·Έλ₯Ό λ‹¨μˆœνžˆ κΈ€μ”¨μ˜ 크기와 κ΅΅κΈ° λ•Œλ¬Έμ— μ‚¬μš©ν•˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€. 그리고 제λͺ©μ˜ 순차λ₯Ό κ±΄λ„ˆ 뛰지 말고 λ°˜λ“œμ‹œ <h1>, <h2>... 의 μˆœμ„œλ₯Ό λ”°λ₯΄λΌκ³  κΆŒκ³ ν•©λ‹ˆλ‹€. λ˜ν•œ νŽ˜μ΄μ§€λ‹Ή ν•˜λ‚˜μ˜ <h1> νƒœκ·Έ(κ°€μž₯ 큰 제λͺ©)λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 λͺ¨λ²”적인 μ‚¬μš©μ΄λΌκ³  μ–ΈκΈ‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄μœ λŠ” 슀크린 리더(ν™”λ©΄ 낭독기)λ₯Ό μ‚¬μš©ν•˜λŠ” μ‹œκ°μž₯애인과 SEO(Search Engine Optimizaction, 검색 엔진 μ΅œμ ν™”)의 츑면을 κ³ λ €ν•˜κΈ° λ•Œλ¬Έμ΄λΌκ³  ν•©λ‹ˆλ‹€. (κ΄€λ ¨ λ‚΄μš©μ€ <λͺ¨λ˜ μžλ°”μŠ€ν¬λ¦½νŠΈ Deep Dive>λ₯Ό μ§‘ν•„ν•œ 이웅λͺ¨ λ‹˜μ˜ λΈ”λ‘œκ·Έμ—μ„œλ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.)

 

πŸ€” HTML을 λ°°μš°λ‹€λ³΄λ©΄ μ΄λŸ¬ν•œ 이유λ₯Ό 생각보닀 자주 마주치곀 ν•©λ‹ˆλ‹€. μ•žμ—μ„œ μ •λ¦¬ν•œ μ‹œλ§¨ν‹± νƒœκ·Έλ„ SEOλ₯Ό μœ„ν•΄, 즉 μ›Ήμ‚¬μ΄νŠΈκ°€ 검색 결과에 더 잘 보이도둝 ν•˜κΈ° μœ„ν•΄ μ˜λ―ΈμžˆλŠ” 데이터λ₯Ό ν‘œμ‹œν•˜λŠ” 것이고, λ‚˜μ€‘μ— 정리할 이미지λ₯Ό λ‚˜νƒ€λ‚΄λŠ” νƒœκ·Έμ— ν¬ν•¨λ˜λŠ” 속성인 'alt' μ—­μ‹œ 슀크린 리더 μ‚¬μš©μžμ—κ²Œ 이미지λ₯Ό μ„€λͺ…ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 그만큼 μ›Ήμ‚¬μ΄νŠΈκ°€ 무엇을 λ§ν•˜λŠ”μ§€, 그리고 μ–΄λ–€ 것을 ν¬ν•¨ν•˜λŠ”μ§€ λͺ…ν™•ν•˜κ²Œ λ³΄μ—¬μ£ΌλŠ” 것이 μ–Όλ§ˆλ‚˜ μ€‘μš”ν•œ 일인지 μƒκ°ν•΄λ³΄κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

λ§ˆμ§€λ§‰μœΌλ‘œ, μŠ€ν¬λ¦°λ¦¬λ”(화면낭독기)둜 HTML μš”μ†Œλ“€μ΄ μ–΄λ–»κ²Œ μ½νžˆλŠ”μ§€ μ•Œμ•„λ³Ό 수 μžˆλŠ” μ˜μƒμ„ κ°€μ§€κ³ μ™€λ΄€μŠ΅λ‹ˆλ‹€. 주변에 μ‹œκ°μž₯애인이 없을 λΏλ”λŸ¬ ν™”λ©΄ λ‚­λ…κΈ°λΌλŠ”κ±Έ λ³Έ 적이 μ—†κΈ° λ•Œλ¬Έμ— HTML을 곡뢀할 λ•Œλ„ 'κ·Έλ ‡κ΅¬λ‚˜~'ν•˜κ³  λ„˜μ–΄κ°”μ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. μ•„λž˜ μ˜μƒμ„ λ³΄λ‹ˆ κ·Έλ™μ•ˆ 신경써보지 λͺ»ν–ˆλ˜ μ›Ήμ ‘κ·Όμ„±μ΄λΌλŠ” κ°œλ…μ— λŒ€ν•΄ 생각해볼 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.😊

https://www.youtube.com/watch?v=tKj3xsXy9KM 


<Do it! HTML+CSS+μžλ°”μŠ€ν¬λ¦½νŠΈ μ›Ή ν‘œμ€€μ˜ 정석>을 읽고 μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€.