[TIL] HTML : Semantic

AcidΒ·2021λ…„ 8μ›” 15일
5

πŸ“‘ HTML/CSS

λͺ©λ‘ 보기
1/2
post-thumbnail

HTML μ‹œλ§¨ν‹± μ›Ήκ³Ό μ‹œλ§¨ν‹± νƒœκ·Έμ— λŒ€ν•œ λ‚΄μš©μž…λ‹ˆλ‹€. 😊

πŸ“‘ μ‹œλ§¨ν‹±(Semantic) 개둠

HTML 곡뢀λ₯Ό ν•˜λ‹€λ³΄λ©΄, μ‹œλ§¨ν‹± νƒœκ·Έμ— λŒ€ν•œ λ‚΄μš©μ„ κΌ­ λ§ˆμ£Όν•˜κ²Œ λœλ‹€. 이전에, HTML νƒœκ·Έλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ

μ „λΆ€ <div> 둜 μž‘μ„±ν•΄λ„ μž‘λ™μ΄ λ˜λŠ”λ°, ꡳ이 λ‹€λ₯Έ νƒœκ·Έλ“€μ΄ ν•„μš”ν•œκ±΄κ°€?

문득 이런 생각이 λ“€μ—ˆλŠ”λ°, μ—­μ‹œ 이유 없이 μ‘΄μž¬ν•˜λŠ” νƒœκ·ΈλŠ” μ—†λ‹€ 이말이닀. 맀번 μ΄μœ μ— μ§‘μ°©ν•˜κ²Œ λ§Œλ“œλŠ” λ‚˜λ‘œμ¨λŠ” μ‹œλ§¨ν‹± μ›Ή(Semantic Web)κ³Ό μ‹œλ§¨ν‹± νƒœκ·Έ(Semantic Tag)λŠ” 쒋은 μ§‘μ°©μ˜ λŒ€μƒμ΄ λ˜κΈ°μ— μΆ©λΆ„ν–ˆλ‹€. κ·Έλ ‡κ²Œ 곡뢀할 κΈ°νšŒκ°€ 생긴닀면, ν¬μŠ€νŒ…μ„ μž‘μ„±ν•˜λ©΄μ„œ 이λ₯Ό μ •λ¦¬ν•˜κ³  μ‹Άμ—ˆλŠ”λ° 였늘이 κ·Έ 날이닀.

사싀 μ§€κΈˆ λ‹Ήμž₯에 ν•„μš”ν•œ λ‚΄μš©μ€ 아닐 μˆ˜λ„ μžˆμ§€λ§Œ, μ‹œλ§¨ν‹± νƒœκ·Έμ˜ 경우 μŠ΅κ΄€μ„ 잘λͺ» 듀이면, 이λ₯Ό λ°”κΎΈλŠ” 것이 많이 νž˜λ“€ 것 κ°™λ‹€ μ‹Άμ–΄ 기초λ₯Ό νƒ„νƒ„ν•˜κ²Œ ν•˜μžλŠ” μ·¨μ§€λ‘œ λ¨Όμ € μž‘μ„±ν•˜κ²Œ λ˜μ—ˆλ‹€!

μš°μ„  μ‹œλ§¨ν‹±(Semantic)의 μ •μ˜λŠ” "의미둠적인, 의미의"λΌλŠ” λœ»μ„ 가진닀. ν•΄λ‹Ή μ •μ˜μ—μ„œ μœ μΆ”ν•΄ λ³Ό 수 μžˆλŠ” μ‹œλ§¨ν‹± μ›Ήκ³Ό μ‹œλ§¨ν‹± νƒœκ·Έμ˜ μ˜λ―ΈλŠ” μ˜λ―ΈμžˆλŠ” μ›Ή, μ˜λ―ΈμžˆλŠ” νƒœκ·Έ 정도일 것이닀.

κ·Έλ ‡λ‹€λ©΄ μ˜λ―Έμžˆλ‹€λŠ” 것은 무슨 의미일까? 자 이제 μ‹œλ§¨ν‹± μ›Ήκ³Ό νƒœκ·Έμ— λŒ€ν•΄ Araboza.

🌐 μ‹œλ§¨ν‹± μ›Ή(Semantic Web)

μ›Ή 기술의 λ°œμ „μ€ 인터넷을 μ‹€μƒν™œκΉŒμ§€ ν™•μ‚°λ˜λŠ” κ²°κ³Όλ₯Ό μ΄λ€„λƒˆμ§€λ§Œ, μΆ•μ λ˜λŠ” 정보 μ†μ—μ„œ λΆˆν•„μš”ν•œ 정보 λ˜ν•œ μš°ν›„μ£½μˆœμœΌλ‘œ λŠ˜μ–΄λ‚¬λ‹€. 그리고 κ·ΈλŸ¬ν•œ 정보듀은 정보 검색 μ‹œ 정보 ν™μˆ˜λ₯Ό κ°€μ€‘μ‹œμΌœ, μ˜¬λ°”λ₯Έ 데이터λ₯Ό κ²€μƒ‰ν•˜λŠ”λ° 문제λ₯Ό λ°œμƒμ‹œμΌ°λ‹€.

그런 λ¬Έμ œλ“€μ— λŒ€ν•΄ 2001λ…„ νŒ€ λ²„λ„ˆμŠ€λ¦¬ 등에 μ˜ν•΄ μ œμ‹œλœ μ›Ή 기술의 비전이 μ‹œλ§¨ν‹± μ›Ή(Semantic Web)인 것이닀. μ‹œλ§¨ν‹± μ›Ήμ΄λž€ 컴퓨터가 이해할 수 μžˆλŠ” 잘 μ •μ˜λœ 의미λ₯Ό 기반으둜 의미적 μƒν˜Έμš΄μš©μ„±(semantic interoperability)을 μ‹€ν˜„ν•˜μ—¬, λ‹€μ–‘ν•œ 정보 μžμ›μ˜ 처리 μžλ™ν™”, λ°μ΄ν„°μ˜ 톡합 및 μž¬μ‚¬μš© 등을 컴퓨터가 슀슀둜 μˆ˜ν–‰ν•˜μ—¬, 인간과 컴퓨터 λͺ¨λ‘ 잘 이해할 수 μžˆλŠ” 웹이닀.

κ°„λ‹¨νžˆ λ§ν•˜μžλ©΄ 검색 κ³Όμ •μ—μ„œ μ’€ 더 μ •ν™•ν•œ 정보λ₯Ό κ°€μ Έμ˜€λŠ” 쒋은 μ›Ήμ΄λΌλŠ” 것이닀!

κ·Έλ ‡λ‹€λ©΄ μ™œ μ‹œλ§¨ν‹± 웹은 검색 κ³Όμ •μ—μ„œ 이점을 κ°€μ§ˆκΉŒ? 이에 λŒ€ν•œ λ‚΄μš©μ„ 검색 엔진 μ΅œμ ν™”(SEO : Search Engine Optimization)에 λŒ€ν•œ κ°œλ…κ³Ό ν•¨κ»˜ κ°„λ‹¨νžˆ μ•Œμ•„λ³΄μž

πŸ’‘ 검색 엔진 μ΅œμ ν™”(SEO)와 μ‹œλ§¨ν‹± μ›Ή

검색 엔진 μ΅œμ ν™”(SEO)λž€ 검색 μ—”μ§„μœΌλ‘œλΆ€ν„° μ›Ήμ‚¬μ΄νŠΈλ‚˜ μ›ΉνŽ˜μ΄μ§€μ— λŒ€ν•œ μ›Ήμ‚¬μ΄νŠΈ νŠΈλž˜ν”½μ˜ ν’ˆμ§ˆκ³Ό 양을 κ°œμ„ ν•˜λŠ” 과정이라고 μ •μ˜λœλ‹€. μ›Ήμ‚¬μ΄νŠΈλŠ” 검색 엔진 상단에 λ…ΈμΆœλ˜λŠ” 것이 μ€‘μš”ν•˜κ³ , 검색 엔진 μ΅œμ ν™”μ˜ μ—¬λΆ€λŠ” 이λ₯Ό κ²°μ •ν•˜λŠ”λ° κ·Έ 기쀀이 될 수 μžˆλ‹€λŠ” 것이닀.

검색 엔진은 λ‘œλ΄‡(Robot)μ΄λΌλŠ” ν”„λ‘œκ·Έλž¨μ„ 톡헀 크둀링을 μ§„ν–‰ν•˜μ—¬ λ‹€μˆ˜μ˜ μ›Ήμ‚¬μ΄νŠΈ 정보λ₯Ό μˆ˜μ§‘ν•˜κ³ , μˆ˜μ§‘ν•œ 데이터λ₯Ό ν‚€μ›Œλ“œ 색인을 톡해 κ°€κ³΅ν•˜μ—¬ μ‚¬μš©ν•œλ‹€. 이 κ³Όμ •μ—μ„œ μ»΄ν“¨ν„°λŠ” μ–΄λ– ν•œ 데이터가 κ°•μ‘°λœ 데이터 인지 κ΅¬λΆ„ν•˜μ§€ λͺ»ν•œλ‹€. 그렇기에, 컴퓨터 μž…μž₯μ—μ„œ μ‹œλ§¨ν‹± 웹은 보닀 λͺ…ν™•νžˆ 데이터λ₯Ό μ „λ‹¬ν•˜λŠ” μΉœμ ˆν•œ 웹인 것이닀.

λͺ…ν™•ν•œ 의미 μΈμ§€λŠ”, 웹을 더 μ˜λ―ΈμžˆλŠ” 데이터λ₯Ό ν¬ν•¨ν•œ μ›ΉμœΌλ‘œ λ§Œλ“€κ³ , μ΄λŠ” 검색 엔진 μ΅œμ ν™”μ˜ μΈ‘λ©΄μ—μ„œλ„ νš¨μœ¨μ μ΄λ‹€.

HTML으둜 μž‘μ„±λœ λ¬Έμ„œλŠ”, 메타데이터와 μžμ—°μ–΄κ°€ λ’€μ„žμ—¬ 있고 이에 λŒ€ν•΄ 개발자의 μ˜λ„κ°€ λͺ…ν™•νžˆ μ „λ‹¬λ˜λ©΄μ„œ μž‘μ„±λœ 웹이 μ‹œλ§¨ν‹± 웹이라고 ν•  수 μžˆλ‹€.

πŸ”— μ‹œλ§¨ν‹± νƒœκ·Έ(Semantic Tag)

κ·Έλ ‡κΈ° λ•Œλ¬Έμ—, μš°λ¦¬λŠ” <div>λ₯Ό λ‚¨λ°œν•˜μ§€ μ•Šκ³ , λͺ…ν™•ν•œ 의미λ₯Ό λΆ€μ—¬ν•˜λŠ” μ‹œλ§¨ν‹± νƒœ-그에 λŒ€ν•΄ μΈμ§€ν•˜κ³  μ μž¬μ μ†Œμ— μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 것이닀.

κ·Έλ ‡λ‹€λ©΄, "λ‚˜λŠ” 검색 엔진 상단에 μœ„μΉ˜ν•  ν•„μš” μ—†μœΌλ‹ˆκΉ, <div> 둜 λ„λ°°ν•˜κ³  μž‘λ™λ§Œ ν•˜κ²Œ ν• λž˜μš” πŸ€ͺ" 라고 생각할 μˆ˜λ„ μžˆμœΌμ‹œκ² λ‹€.

ν•˜μ§€λ§Œ, μ‹œλ§¨ν‹± νƒœκ·ΈλŠ” λ‹¨μˆœνžˆ μ›Ή 검색 엔진 상단에 μœ„μΉ˜ν•˜κΈ° μœ„ν•΄μ„œλ§Œ μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€.

μ‹œλ§¨ν‹± νƒœκ·Έ(semantic tag)λž€ κ°œλ°œμžμ™€ λΈŒλΌμš°μ € λͺ¨λ‘μ—κ²Œ 의미λ₯Ό μ£ΌλŠ” νƒœκ·ΈλΌκ³  ν•  수 μžˆλ‹€. μ‹œλ§¨ν‹± νƒœκ·Έκ°€ μ‘΄μž¬ν•˜λ“―μ΄ λ…Ό μ‹œλ§¨ν‹± νƒœκ·Έ(non-semantic tag) λ˜ν•œ μ‘΄μž¬ν•œλ‹€. λŒ€ν‘œμ μœΌλ‘œ μš°λ¦¬κ°€ λ°₯먹듯이 μ‚¬μš©ν•˜λŠ” <div>κ°€ 이에 ν•΄λ‹Ήν•œλ‹€.

  • μ‹œλ§¨ν‹± νƒœκ·Έ(semantic tag) : <table>, <article> λ“±
  • λ…Ό μ‹œλ§¨ν‹± νƒœκ·Έ(non-semantic tag) : <div>, <span> λ“±


μ‹œλ§¨ν‹± νƒœκ·Έμ˜ 경우, content 에 λŒ€ν•œ μ„€λͺ…을 λͺ…ν™•νžˆ ν¬ν•¨ν•˜μ§€λ§Œ, λ°˜λŒ€μ˜ κ²½μš°μ—λŠ” 이λ₯Ό ν¬ν•¨ν•˜μ§€ μ•ŠλŠ” νƒœκ·ΈλΌκ³  ν•  수 μžˆλ‹€.

μ‹œλ§¨ν‹± νƒœκ·Έμ˜ 이유

μ‹œλ§¨ν‹± νƒœκ·Έμ˜ μ‚¬μš©μ„ λΉ„μœ ν•˜μžλ©΄, 물을 λ§ˆμ‹œλŠ” ν–‰μœ„λ₯Ό λƒ„λΉ„λ‚˜ 그릇을 μ‚¬μš©ν•˜μ—¬ ν•  수 μžˆμ§€λ§Œ, 컡을 μ΄μš©ν•˜μ—¬ λ§ˆμ‹œλŠ” 것이 μ μ ˆν•œ 것과 λΉ„μŠ·ν•˜λ‹€.

이λ₯Ό κ°„λ‹¨ν•œ μ˜ˆμ‹œμ™€ ν•¨κ»˜ μ•Œμ•„λ³΄μž.

<!-- in HTML -->
<em>Hello</em>
<i>Hello</i>
<!-- ν…μŠ€νŠΈκ°€ κΈ°μšΈμ–΄μ§€λŠ” κ²°κ³Όλ₯Ό λ˜‘κ°™μ΄ 좜λ ₯ -->


μœ„ 두 μ€„μ˜ μ½”λ“œλŠ” λ˜‘κ°™μ΄ Hello λΌλŠ” ν…μŠ€νŠΈκ°€ κΈ°μšΈμ–΄μ§„ ν˜•νƒœλ‘œ 좜λ ₯λœλ‹€. 좜λ ₯ 결과에 λŒ€ν•΄μ„œ μ‚¬λžŒλ“€μ€ 같은 λ‚΄μš©μ΄λΌκ³  μΈμ‹ν•˜κ² μ§€λ§Œ, μ»΄ν“¨ν„°μ˜ κ²½μš°μ—λŠ” 이λ₯Ό λ‹€λ₯΄κ²Œ μΈμ‹ν•œλ‹€.

μ•žμ˜ <em> νƒœκ·ΈλŠ” κ°•μ‘°λœ ν…μŠ€νŠΈ(emphasized text)λ₯Ό μ˜λ―Έν•˜λ©° νƒœκ·Έ μ•ˆμ˜ content λ₯Ό κ°•μ‘°ν•˜λŠ” 의미λ₯Ό κ°–κ³ , μ΄μ–΄μ§€λŠ” <i> νƒœκ·Έμ˜ κ²½μš°μ—λŠ” λ‹¨μˆœνžˆ ν…μŠ€νŠΈλ₯Ό κΈ°μšΈμž„κΌ΄λ‘œ ν‘œμ‹œν•˜λŠ” κΈ°λŠ₯을 가진 νƒœκ·Έμ΄λ‹€.

λ§Œμ•½, λ‚΄κ°€ content λ₯Ό κ°•μ‘°ν•˜κ³ μž ν•˜λŠ” λͺ©μ μœΌλ‘œ νƒœκ·Έλ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ ν™”λ©΄ μƒμœΌλ‘œ 같은 κ²°κ³Όλ₯Ό λ³΄μ΄μ§€λ§Œ, λΈŒλΌμš°μ €μ—κ²Œ λͺ…ν™•νžˆ 이λ₯Ό κ°•μ‘°ν•˜κ² λ‹€κ³  의미λ₯Ό λΆ€μ—¬ν•˜λŠ” <em> νƒœκ·Έλ₯Ό μ‚¬μš©ν•¨μ΄ 효과적일 것이닀.

μ΄λ ‡κ²Œ, λΈŒλΌμš°μ €λ‘œ ν•˜μ—¬κΈˆ μ˜λ―ΈμžˆλŠ” 데이터λ₯Ό μ œκ³΅λ°›κ²Œ 되면, μ›Ή μ ‘κ·Όμ„±(Web Accessibility) μΈ‘λ©΄μ—μ„œλ„ λ‹€λ₯Έ 일반 μ›Ήλ“€κ³Ό λΉ„κ΅ν•˜μ—¬ μš°μœ„λ₯Ό κ°–κ²Œ λœλ‹€.

λΈŒλΌμš°μ €λŠ” μ˜λ―ΈμžˆλŠ” 데이터λ₯Ό 받을 λ•Œ, 이λ₯Ό κ°€κ³΅ν•˜κ³  μ „λ‹¬ν•˜λŠ” κ³Όμ •μ—μ„œ μ’€ 더 효율적인 결과물을 λ§Œλ“€μ–΄ λ‚Ό 수 μžˆκΈ°μ— μ‹œλ§¨ν‹± νƒœκ·ΈλŠ” μ΄λŸ¬ν•œ μΈ‘λ©΄μ—μ„œλ„ μ€‘μš”μ„±μ„ μ•Œ 수 μžˆλ‹€.

πŸ’‘ μ›Ή μ ‘κ·Όμ„±(Web Accessibility)

μ›Ή μ ‘κ·Όμ„±μ˜ μ •μ˜λŠ” 신체 및 정신적 μž₯μ• μ˜ μœ λ¬΄μ™€ 관계 없이 λͺ¨λ“  μ‚¬λžŒλ“€μ΄ μ›Ήμ‚¬μ΄νŠΈλ₯Ό μ΄μš©ν•  수 μžˆλŠ” 것을 λ§ν•œλ‹€.

μž₯μ• λΌλŠ” μš”μ†Œλ₯Ό νŠΉμ • 짓긴 ν–ˆμ§€λ§Œ, μ›Ή 접근성은 μž₯μ• λ₯Ό 갖지 μ•Šμ€ μ‚¬λžŒμ—κ²Œλ„ 이점이 μžˆλ‹€.

예λ₯Ό λ“€μ–΄, νŒ”μ΄ λΆ€λŸ¬μ§€κ±°λ‚˜ μ•ˆκ²½μ„ μžƒμ–΄λ²„λ¦¬λŠ” λ“±μ˜ κ³Όμ •μ—μ„œ "μΌμ‹œμ  μž₯μ• "λ₯Ό κ²ͺλŠ” μ‚¬λžŒλ“€μ—κ²Œλ‚˜, 밝은 ν–‡λΉ›, μ‹œλ„λŸ¬μš΄ μ†Œλ¦¬ λ“±μ˜ ν™˜κ²½μ  μš”μ†Œλ‘œ 인해 상황적 μ œμ•½μ„ κ²ͺλŠ” μ‚¬λžŒ 등이 이에 ν•΄λ‹Ήν•  수 μžˆλ‹€.

λ§ˆμ§€λ§‰μœΌλ‘œ, μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 우리λ₯Ό μœ„ν•œ 것이기도 ν•˜λ‹€.

λ§Œμ•½, λͺ¨λ“  μ½”λ“œκ°€ <div> νƒœκ·Έλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€λ©΄, μž‘λ™μ€ μ›ν™œνžˆ ν•˜κ² μ§€λ§Œ, 직접 보기에 μ§κ΄€μ μœΌλ‘œ μ΄ν•΄λ˜λŠ” λŠλ‚Œμ΄ μžˆλ‹€λ©΄ 그건 μ•„λ§ˆ μ‹œλ§¨ν‹± νƒœκ·Έλ‘œ μž‘μ„±λœ 뢀뢄일 것이닀.

<div> νƒœκ·Έλ‘œ μž‘μ„±ν•  경우 이λ₯Ό id 둜 κ΅¬λΆ„ν•˜κ±°λ‚˜ class λͺ…을 톡해 κ΅¬λΆ„ν•˜λŠ”λ°, μ½”λ“œ μž‘μ„± 길이가 κΈΈμ–΄μ§ˆ 수둝 λΆˆνŽΈν•¨μ— λŒ€ν•œ 체감이 더 컀진닀고 ν•œλ‹€.

ν˜‘μ—…μ˜ μΈ‘λ©΄μ—μ„œλ„ μ„œλ‘œκ°€ μ΄ν•΄ν•˜κΈ° μ‰¬μš΄ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” 것은 μ€‘μš”ν•œ 뢀뢄일 것이고, μœ μ§€ 및 λ³΄μˆ˜μ— μš©μ΄ν•˜κ³ , 가독성이 높은 μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  μ‹Άλ‹€λ©΄ μ‹œλ§¨ν‹± νƒœκ·Έλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ„λ‘ ν•˜μž! 😊

κ·Έλ ‡κ²Œ μ‹œλ§¨ν‹± νƒœκ·Έλ‘œ μž‘μ„±ν•΄μ•Ό ν•˜λŠ” 이유λ₯Ό μ •λ¦¬ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

  • 검색 엔진 μ΅œμ ν™”(SEO : Search Engine Optimization)
  • μ›Ή μ ‘κ·Όμ„±(Web Accessibility)
  • μœ μ§€ 보수 및 가독성

SEO와 μ‹œλ§¨ν‹± νƒœκ·Έμ˜ 연관성을 ν™•μΈν•˜κΈ° μœ„ν•΄ μž‘μ„±ν•˜μ‹  seongkyunλ‹˜μ˜ 포슀트λ₯Ό 보면, μ‹œλ§¨ν‹± νƒœκ·Έκ°€ 웹에 μ–΄λ–€ 영ν–₯을 μ£ΌλŠ” 지에 λŒ€ν•΄ 쑰금 더 체감 될 것이닀.


μ§€κΈˆκΉŒμ§€ μ‹œλ§¨ν‹± μ›Ήκ³Ό νƒœκ·Έμ— λŒ€ν•΄ κ°„λ‹¨νžˆ μ•Œμ•„λ΄€μœΌλ‹ˆ, 이제 κ·Έ μ˜ˆμ‹œμ— λŒ€ν•΄ κ°„λ‹¨νžˆ μ•Œμ•„λ³΄μž.

μ‹œλ§¨ν‹± νƒœκ·Έλ“€

μœ„ λ‹€μ΄μ–΄κ·Έλž¨μ„ 보면, <div> νƒœκ·Έ λ§Œμ„ μ‚¬μš©ν•œ μ½”λ“œμ™€ μ‹œλ§¨ν‹± νƒœκ·Έλ₯Ό μ‚¬μš©ν•œ μ½”λ“œκ°€ μ§κ΄€μ μœΌλ‘œ μ–΄λ–»κ²Œ 차이가 λ‚˜λŠ”μ§€ 인지할 수 μžˆλ‹€.

각 μš”μ†Œλ₯Ό μ΅œμƒλ‹¨λΆ€ν„° ν•΄λ‹Ή λ‹€μ΄μ–΄κ·Έλž¨μ— μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ‹œλ§¨ν‹± νƒœκ·ΈκΉŒμ§€ 정리해보도둝 ν•˜μž.

header and nav

header λŠ” λŒ€μ²΄λ‘œ μ›ΉνŽ˜μ΄μ§€ 상단 정보 μ˜μ—­μ„ μ˜λ―Έν•˜κ³ , nav νƒœκ·Έ λŠ” νŽ˜μ΄μ§€μ˜ λ„€λΉ„κ²Œμ΄μ…˜ μ˜μ—­μ„ μ§€μ •ν•œλ‹€. λ„€λΉ„κ²Œμ΄μ…˜ μ˜μ—­μ— 자주 μ“°μ΄λŠ” 예제둜 메뉴, λͺ©μ°¨, 색인 등이 이에 ν•΄λ‹Ήν•œλ‹€.

main

main 은 μœ„μ—μ„œ μ–ΈκΈ‰ν•œ header μ˜μ—­κ³Ό κ΅¬λΆ„λ˜μ–΄, HTML λ¬Έμ„œ body μ˜μ—­μ˜ μ£Όμš” μ»¨ν…μΈ λ‚˜ 핡심적인 λ‚΄μš©μ„ ν¬ν•¨ν•˜λŠ” μ˜μ—­μ΄λ‹€.

μ΄μ–΄μ„œ μ„€λͺ…ν•  article μ΄λ‚˜, section λ“±μ˜ μ˜μ—­μ΄ ν¬ν•¨λ˜κΈ°λ„ ν•˜λŠ” μ˜μ—­μ΄λ‹€.

article and section

article 은 μ‹ λ¬Έ 기사 ν•˜λ‚˜μ™€ 같이 독립적인 μ½˜ν…μΈ  μ˜μ—­μ„ μ˜λ―Έν•˜λ©°, μ˜ˆμ‹œλ‘œ κ²Œμ‹œνŒκ³Ό λΈ”λ‘œκ·Έ κΈ€, λ§€κ±°μ§„μ΄λ‚˜ λ‰΄μŠ€ 기사 등이 이에 ν•΄λ‹Ήν•œλ‹€.

section 은 λ³Έλ¬Έ μ˜μ—­μ˜ μ—°κ΄€μ„± μžˆλŠ” μ—¬λŸ¬ μ˜μ—­λ“€μ„ κ°μ‹ΈλŠ” μš©λ„λ‘œ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. 일반적인 μ„Ήμ…˜μ„ μ •μ˜ν•  λ•Œ μ‚¬μš©ν•˜κ³  주둜 제λͺ© μš”μ†Œ(h1 ~ h6)λ₯Ό ν¬ν•¨ν•˜λŠ” κ²½μš°κ°€ λ§Žλ‹€.

μœ„ μ˜ˆμ‹œμ²˜λŸΌ article μ˜μ—­μ˜ 주황색 뢀뢄이 section 이 λ˜μ–΄ ꡬ성될 μˆ˜λ„ 있고, λ°˜λŒ€λ‘œ section 이 article μ˜μ—­μ„ κ°μŒ€ μˆ˜λ„ μžˆλ‹€.

πŸ’‘ <article> vs <section>

article 에 λŒ€ν•΄ μžμ„Ένžˆ μ„€λͺ…ν•˜μžλ©΄, λ‹€λ₯Έ νŽ˜μ΄μ§€μ—μ„œ 보여져도 μ΄ν•΄ν•˜λŠ”λ° 문제 μ—†κ³ , main μ•ˆμ˜ λ‹€λ₯Έ 정보듀 ν•„μš” 없이 κ³ μœ ν•˜κ²Œ 독립적인 정보λ₯Ό λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” 뢀뢄을 article 둜 μ§€μ •ν•œλ‹€.

μ½˜ν…μΈ κ°€ μ‚¬μ΄νŠΈμ— ν¬ν•¨λœ 독립적인 μ„Ήμ…˜μ˜ μ„±ν–₯이 크닀면, section λŒ€μ‹  article 을 μ‚¬μš© 함이 λ§žλ‹€.

aside

aside λŠ” λ¬Έμ„œ μ£Όμš” λ‚΄μš©κ³Ό 직접적인 관련은 μ—†μ§€λ§Œ, 뢀가적인 μ •λ³΄λ‚˜ μ£Ό λ‚΄μš©κ³Ό κ°„μ ‘μ μœΌλ‘œ μ—°κ΄€λœ 뢀뢄을 λ‚˜νƒ€λ‚Έλ‹€. 주둜 μ‚¬μ΄λ“œλ°” ν˜Ήμ€ μ½œμ•„μ›ƒ λ°•μŠ€ λ“±μœΌλ‘œ λ‚˜νƒ€λ‚œλ‹€.

figure and figcaption

<!-- figure & figcaption structure -->
<figure>
    <img>
    <figcaption></figcaption>
</figure>

figure 은 μ΄λ―Έμ§€λ‚˜ λΉ„λ””μ˜€, μ½”λ“œ λ“±κ³Ό 같은 자료λ₯Ό 포함할 수 μžˆλŠ” μ˜μ—­μ΄λ‹€. figcaption 은 λΆ€λͺ¨ figure νƒœκ·Έμ— ν¬ν•¨λœ 자료의 μ„€λͺ…μ΄λ‚˜ λ²”λ‘€ 등에 ν•΄λ‹Ήν•˜λ©°, figure νƒœκ·Έ μ•ˆμ— ν¬ν•¨λœλ‹€.

ul & ol & dl

<!-- ul & ol & dl structure -->

<ul> <!-- or ol -->
  <li>item1</li>
  <li>item2</li>
</ul>

<dl>
  <dt>description term</dt>
  <dd>description detail</dd>
</dl>

ul 의 경우 μˆœμ„œκ°€ μ—†λŠ” 리슀트(Unordered list)λ₯Ό λ‚˜μ—΄ν•  λ•Œ μ‚¬μš©ν•˜κ³ , ol 의 경우 μˆœμ„œκ°€ μžˆλŠ” 리슀트(Ordered list)λ₯Ό λ‚˜μ—΄ν•  λ•Œ μ‚¬μš©ν•˜λ©°, 두 νƒœκ·Έ λͺ¨λ‘ li λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ©λ‘ μš”μ†Œλ“€μ„ ν‘œν˜„ν•œλ‹€.

dl 은 μ„€λͺ… λͺ©λ‘(description list)을 λ‚˜νƒ€λ‚Ό λ•Œ μ‚¬μš©ν•˜λ©°, dt 둜 μ„€λͺ…ν•  단어(description term)λ₯Ό ν‘œν˜„ν•˜κ³ , dd 에 μ„€λͺ… λ‚΄μš©(description detail)을 μž‘μ„±ν•œλ‹€.

button and a

button 은 클릭 κ°€λŠ₯ν•œ λ²„νŠΌ μš”μ†Œλ₯Ό μ˜λ―Έν•˜κ³ , a λŠ” href νŠΉμ„±μ„ 톡해 λ‹€λ₯Έ νŽ˜μ΄μ§€λ‚˜ 같은 νŽ˜μ΄μ§€μ˜ μ–΄λŠ μœ„μΉ˜λ‘œ 이동할 수 μžˆλŠ” ν•˜μ΄νΌλ§ν¬λ₯Ό λ§Œλ“ λ‹€.

πŸ’‘ button vs a

button κ³Ό a λŠ” CSS둜 λ˜‘κ°™μ΄ 이λ₯Ό κΎΈλͺ„을 λ•Œ, 같은 μ™Έν˜•μ„ κ°–μ§€λ§Œ μš©λ„λ₯Ό λ‹€λ₯΄κ²Œ ν•΄μ•Ό ν•œλ‹€.

μš°μ„  button 의 κ²½μš°μ—λŠ” λˆŒλ €μ„ λ•Œ νŠΉμ •ν•œ 행동이 μ‹€ν–‰λ˜λŠ” κ²½μš°μ— μ‚¬μš©ν•œλ‹€. 예λ₯Ό λ“€μ–΄, 둜그인 λ²„νŠΌμ΄λ‚˜ κ°€μž… λ“±κ³Ό 같은 κΈ°λŠ₯이 이에 ν•΄λ‹Ήν•œλ‹€.

a 의 κ²½μš°μ—λŠ” μœ„μ—μ„œ μ–ΈκΈ‰ν•œ ν•˜μ΄νΌλ§ν¬μ— λŒ€ν•œ λ‚΄μš©κ³Ό 같이 νŠΉμ • 링크둜 μ΄λ™ν•˜κ³ μž ν•  λ•Œμ— μ‚¬μš©ν•˜λŠ” 것이 νš¨κ³Όμ μ΄λ‹€.

footer λŠ” 주둜 μ›ΉνŽ˜μ΄μ§€ ν•˜λ‹¨μ— ν•΄λ‹Ήν•˜λŠ” μ˜μ—­μœΌλ‘œ, 일반적으둜 μž‘μ„±μž, κ΄€λ ¨ λ¬Έμ„œ, μ €μž‘κΆŒ 정보 λ“±μ˜ λ‚΄μš©μ΄ ν¬ν•¨λœλ‹€.


이외에도 λ§Žμ€ μ‹œλ§¨ν‹± νƒœκ·Έκ°€ μžˆκΈ°μ— μ°¨μ°¨ μ‚¬μš©ν•΄λ³΄λ©΄μ„œ μΆ”κ°€λ‘œ 정리할 μ˜ˆμ • 😊

πŸ”– 좜처

μ‹œλ§¨ν‹± νƒœκ·Έ : biningλ‹˜ 벨둜그 : [html] μ‹œλ§¨ν‹± νƒœκ·Έ(sementic tag)
μ‹œλ§¨ν‹± νƒœκ·Έ : Codesigner's Dev Story : Semantic HTML(μ‹œλ§¨ν‹± HTML) μ΄λž€?

πŸ”– 전체적인 μ°Έκ³ 

각각의 μ‹œλ§¨ν‹± νƒœκ·Έ : MDN Web Docs

profile
μ΄μœ μ— μ§‘μ°©ν•˜λŠ” ν”„λ‘ νŠΈμ—”λ“œ 개발자 μ§€λ§μƒμž…λ‹ˆλ‹€ 🧐

0개의 λŒ“κΈ€