HTML μλ§¨ν± μΉκ³Ό μλ§¨ν± νκ·Έμ λν λ΄μ©μ λλ€. π
Semantic
) κ°λ‘ HTML 곡λΆλ₯Ό νλ€λ³΄λ©΄, μλ§¨ν± νκ·Έμ λν λ΄μ©μ κΌ λ§μ£Όνκ² λλ€. μ΄μ μ, HTML νκ·Έλ₯Ό 곡λΆνλ©΄μ
μ λΆ
<div>
λ‘ μμ±ν΄λ μλμ΄ λλλ°, κ΅³μ΄ λ€λ₯Έ νκ·Έλ€μ΄ νμν건κ°?
λ¬Έλ μ΄λ° μκ°μ΄ λ€μλλ°, μμ μ΄μ μμ΄ μ‘΄μ¬νλ νκ·Έλ μλ€ μ΄λ§μ΄λ€. λ§€λ² μ΄μ μ μ§μ°©νκ² λ§λλ λλ‘μ¨λ μλ§¨ν± μΉ(Semantic Web
)κ³Ό μλ§¨ν± νκ·Έ(Semantic Tag
)λ μ’μ μ§μ°©μ λμμ΄ λκΈ°μ μΆ©λΆνλ€. κ·Έλ κ² κ³΅λΆν κΈ°νκ° μκΈ΄λ€λ©΄, ν¬μ€ν
μ μμ±νλ©΄μ μ΄λ₯Ό μ 리νκ³ μΆμλλ° μ€λμ΄ κ·Έ λ μ΄λ€.
μ¬μ€ μ§κΈ λΉμ₯μ νμν λ΄μ©μ μλ μλ μμ§λ§, μλ§¨ν± νκ·Έμ κ²½μ° μ΅κ΄μ μλͺ» λ€μ΄λ©΄, μ΄λ₯Ό λ°κΎΈλ κ²μ΄ λ§μ΄ νλ€ κ² κ°λ€ μΆμ΄ κΈ°μ΄λ₯Ό νννκ² νμλ μ·¨μ§λ‘ λ¨Όμ μμ±νκ² λμλ€!
μ°μ μ맨ν±(Semantic
)μ μ μλ "μλ―Έλ‘ μ μΈ, μλ―Έμ"λΌλ λ»μ κ°μ§λ€. ν΄λΉ μ μμμ μ μΆν΄ λ³Ό μ μλ μλ§¨ν± μΉκ³Ό μλ§¨ν± νκ·Έμ μλ―Έλ μλ―Έμλ μΉ, μλ―Έμλ νκ·Έ μ λμΌ κ²μ΄λ€.
κ·Έλ λ€λ©΄ μλ―Έμλ€λ κ²μ λ¬΄μ¨ μλ―ΈμΌκΉ? μ μ΄μ μλ§¨ν± μΉκ³Ό νκ·Έμ λν΄ Araboza.
Semantic Web
)μΉ κΈ°μ μ λ°μ μ μΈν°λ·μ μ€μνκΉμ§ νμ°λλ κ²°κ³Όλ₯Ό μ΄λ€λμ§λ§, μΆμ λλ μ 보 μμμ λΆνμν μ 보 λν μ°νμ£½μμΌλ‘ λμ΄λ¬λ€. κ·Έλ¦¬κ³ κ·Έλ¬ν μ 보λ€μ μ 보 κ²μ μ μ 보 νμλ₯Ό κ°μ€μμΌ, μ¬λ°λ₯Έ λ°μ΄ν°λ₯Ό κ²μνλλ° λ¬Έμ λ₯Ό λ°μμμΌ°λ€.
κ·Έλ° λ¬Έμ λ€μ λν΄ 2001λ
ν λ²λμ€λ¦¬ λ±μ μν΄ μ μλ μΉ κΈ°μ μ λΉμ μ΄ μλ§¨ν± μΉ(Semantic Web
)μΈ κ²μ΄λ€. μλ§¨ν± μΉμ΄λ μ»΄ν¨ν°κ° μ΄ν΄ν μ μλ μ μ μλ μλ―Έλ₯Ό κΈ°λ°μΌλ‘ μλ―Έμ μνΈμ΄μ©μ±(semantic interoperability
)μ μ€ννμ¬, λ€μν μ 보 μμμ μ²λ¦¬ μλν, λ°μ΄ν°μ ν΅ν© λ° μ¬μ¬μ© λ±μ μ»΄ν¨ν°κ° μ€μ€λ‘ μννμ¬, μΈκ°κ³Ό μ»΄ν¨ν° λͺ¨λ μ μ΄ν΄ν μ μλ μΉμ΄λ€.
κ°λ¨ν λ§νμλ©΄ κ²μ κ³Όμ μμ μ’ λ μ νν μ 보λ₯Ό κ°μ Έμ€λ μ’μ μΉμ΄λΌλ κ²μ΄λ€!
κ·Έλ λ€λ©΄ μ μλ§¨ν± μΉμ κ²μ κ³Όμ μμ μ΄μ μ κ°μ§κΉ? μ΄μ λν λ΄μ©μ κ²μ μμ§ μ΅μ ν(SEO : Search Engine Optimization
)μ λν κ°λ
κ³Ό ν¨κ» κ°λ¨ν μμ보μ
κ²μ μμ§ μ΅μ ν(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) μΈ‘λ©΄μμλ λ€λ₯Έ μΌλ° μΉλ€κ³Ό λΉκ΅νμ¬ μ°μλ₯Ό κ°κ² λλ€.
λΈλΌμ°μ λ μλ―Έμλ λ°μ΄ν°λ₯Ό λ°μ λ, μ΄λ₯Ό κ°κ³΅νκ³ μ λ¬νλ κ³Όμ μμ μ’ λ ν¨μ¨μ μΈ κ²°κ³Όλ¬Όμ λ§λ€μ΄ λΌ μ μκΈ°μ μλ§¨ν± νκ·Έλ μ΄λ¬ν μΈ‘λ©΄μμλ μ€μμ±μ μ μ μλ€.
μΉ μ κ·Όμ±μ μ μλ μ 체 λ° μ μ μ μ₯μ μ μ 무μ κ΄κ³ μμ΄ λͺ¨λ μ¬λλ€μ΄ μΉμ¬μ΄νΈλ₯Ό μ΄μ©ν μ μλ κ²μ λ§νλ€.
μ₯μ λΌλ μμλ₯Ό νΉμ μ§κΈ΄ νμ§λ§, μΉ μ κ·Όμ±μ μ₯μ λ₯Ό κ°μ§ μμ μ¬λμκ²λ μ΄μ μ΄ μλ€.
μλ₯Ό λ€μ΄, νμ΄ λΆλ¬μ§κ±°λ μκ²½μ μμ΄λ²λ¦¬λ λ±μ κ³Όμ μμ "μΌμμ μ₯μ "λ₯Ό κ²ͺλ μ¬λλ€μκ²λ, λ°μ νλΉ, μλλ¬μ΄ μ리 λ±μ νκ²½μ μμλ‘ μΈν΄ μν©μ μ μ½μ κ²ͺλ μ¬λ λ±μ΄ μ΄μ ν΄λΉν μ μλ€.
λ§μ§λ§μΌλ‘, μ½λλ₯Ό μμ±νλ μ°λ¦¬λ₯Ό μν κ²μ΄κΈ°λ νλ€.
λ§μ½, λͺ¨λ μ½λκ° <div>
νκ·Έλ‘ κ΅¬μ±λμ΄ μλ€λ©΄, μλμ μνν νκ² μ§λ§, μ§μ 보기μ μ§κ΄μ μΌλ‘ μ΄ν΄λλ λλμ΄ μλ€λ©΄ 그건 μλ§ μλ§¨ν± νκ·Έλ‘ μμ±λ λΆλΆμΌ κ²μ΄λ€.
<div>
νκ·Έλ‘ μμ±ν κ²½μ° μ΄λ₯Ό id
λ‘ κ΅¬λΆνκ±°λ class
λͺ
μ ν΅ν΄ ꡬλΆνλλ°, μ½λ μμ± κΈΈμ΄κ° κΈΈμ΄μ§ μλ‘ λΆνΈν¨μ λν 체κ°μ΄ λ 컀μ§λ€κ³ νλ€.
νμ
μ μΈ‘λ©΄μμλ μλ‘κ° μ΄ν΄νκΈ° μ¬μ΄ μ½λλ₯Ό μμ±νλ κ²μ μ€μν λΆλΆμΌ κ²μ΄κ³ , μ μ§ λ° λ³΄μμ μ©μ΄νκ³ , κ°λ
μ±μ΄ λμ μ½λλ₯Ό μμ±νκ³ μΆλ€λ©΄ μλ§¨ν± νκ·Έλ‘ μ½λλ₯Ό μμ±νλλ‘ νμ! π
κ·Έλ κ² μλ§¨ν± νκ·Έλ‘ μμ±ν΄μΌ νλ μ΄μ λ₯Ό μ 리νλ©΄ λ€μκ³Ό κ°λ€.
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
footer
λ μ£Όλ‘ μΉνμ΄μ§ νλ¨μ ν΄λΉνλ μμμΌλ‘, μΌλ°μ μΌλ‘ μμ±μ, κ΄λ ¨ λ¬Έμ, μ μκΆ μ 보 λ±μ λ΄μ©μ΄ ν¬ν¨λλ€.
μ΄μΈμλ λ§μ μλ§¨ν± νκ·Έκ° μκΈ°μ μ°¨μ°¨ μ¬μ©ν΄λ³΄λ©΄μ μΆκ°λ‘ μ 리ν μμ π
μλ§¨ν± νκ·Έ : biningλ 벨λ‘κ·Έ : [html] μλ§¨ν± νκ·Έ(sementic tag)
μλ§¨ν± νκ·Έ : Codesigner's Dev Story : Semantic HTML(μλ§¨ν± HTML) μ΄λ?