-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
π μ»΄ν¬λνΈ μ 보
- μ»΄ν¬λνΈ μ΄λ¦: Breadcrumb
- μ»΄ν¬λνΈ μ€λͺ : λΈλ λν¬λΌμ μ¬μ©μκ° νμ¬ μμΉμ μ¬μ΄νΈμ ꡬ쑰λ₯Ό μ½κ² μ΄ν΄νκ³ μ΄λν μ μλλ‘ λμμ£Όλ λ΄λΉκ²μ΄μ μ»΄ν¬λνΈ
- μ¬μ© μ¬λ‘: νμ΄μ§ κ³μΈ΅ ꡬ쑰λ₯Ό λνλ΄μ΄ μ¬μ©μκ° μμ νμ΄μ§λ‘ μ΄λν μ μλλ‘ μ§μ. μΌλ°μ μΌλ‘ νμ΄μ§ μλ¨μ λ°°μΉ
π μ°Έμ‘° λ° λ νΌλ°μ€
- ARIA Authoring Practices: W3C ARIA Patters
- κ΄λ ¨ ν¨ν΄ λ° μ μ©λ μ κ·Όμ± κΈ°μ€ νμΈ
- κΈ°ν λ νΌλ°μ€: Spectrum, MUI, Ant Design λ±μ λ¬Έμμ λΉκ΅νμ¬ ν¨ν΄ λΆμ
π μ κ·Όμ± λ° ARIA μ μ© μ¬λΆ
- ARIA Pattern μ μ©: ARIA Pattern λ§ν¬
- μ¬μ©λ ARIA μμ±:
role="navigation",aria-label="Breadcrumb",aria-current="page"λ±μ΄ μ¬μ©λ¨.role="navigation"μ λ΄λΉκ²μ΄μ μν μ λͺ μνλ©°,aria-label="Breadcrumb"λ₯Ό ν΅ν΄ μ€ν¬λ¦° 리λκ° μ»΄ν¬λνΈμ λͺ©μ μΈμ. λ§μ§λ§ λ§ν¬μaria-current="page"μ μ©ν΄ νμ¬ νμ΄μ§ λνλ
- μ¬μ©λ ARIA μμ±:
- μ κ·Όμ± κ΄λ ¨ κ³ λ €μ¬ν: μκ°μ ꡬλΆμλ CSSλ‘ μΆκ°λμ΄ μ€ν¬λ¦° 리λμμ λΆνμν λ°λ³΅ νΌνκ³ , λ΄λΉκ²μ΄μ λͺ©μ λͺ νν μ λ¬
- μ κ·Όμ± κΈ°λ₯ μμ½: μκ°μ ꡬλΆμλ
aria-hidden="true"λ‘ μ€μ λμ΄ μ€ν¬λ¦° 리λ μ¬μ©μμκ² μ€λ³΅λ μ 보 μ°¨λ¨
ποΈ λ§ν¬μ ꡬ쑰 λΆμ
- HTML μλ§¨ν± νκ·Έ μ¬μ©:
<nav>,<ol>,<li>,<a>μ κ°μ μλ§¨ν± νκ·Έ μ¬μ©.<nav>λ λ΄λΉκ²μ΄μ λͺ©μ λνλ΄κ³ ,<ol>κ³Ό<li>ν΅ν΄ κ³μΈ΅μ ꡬ쑰 λͺ νν νν, κ° νλͺ©μ<a>νκ·Έ μ¬μ©ν΄ λ§ν¬λ‘ μ°κ²° - λ§ν¬μ ꡬ쑰 λΉκ΅:
// W3C, MUI μμ
<nav>
<ol>
<li>
<a></a>
</li>
</ol>
</nav>
// Web.dev
<nav>
<a></a>
</nav>- ꡬ쑰μ μ ν μ΄μ :
- W3C λ° MUI:
<nav><ol><li>ꡬ쑰 μ¬μ©νμ¬ μ맨ν±νκ² νμ΄μ§ κ³μΈ΅ ꡬ쑰λ₯Ό λͺ νν νν. μ΄λ₯Ό ν΅ν΄ μ€ν¬λ¦° 리λ μ¬μ©μκ° νμ¬ μμΉμ μ 체 ꡬ쑰λ₯Ό μ½κ² νμ ν μ μμΌλ©°, SEOμλ κΈμ μ μΈ μν₯μ λ―ΈμΉ¨ - Web.dev:
<nav><a>ꡬ쑰 μ¬μ©νμ¬ κ°κ²°ν¨μ μ€μ. μ΄ μ κ·Ό λ°©μμ λ¨μν νμ΄μ§ κ΅¬μ‘°μΌ λ μ ν©νλ©°, μΈν°λμ μ΄ νμ μλ κ²½μ° κ°κ²°νκ² νν κ°λ₯. μ νμ§λ₯Ό μ 곡νλ<select>μμλ₯Ό μΆκ°νμ¬ μ¬μ©μ κ²½νμ κ°ν
- W3C λ° MUI:
π‘ UI λΌμ΄λΈλ¬λ¦¬ λΉκ΅ λΆμ
- MUI:
<nav><ol><li>ꡬ쑰 μ¬μ©ν΄ μλ§¨ν± μΉ κ³μΈ΅μ ꡬ쑰 μ μ§νλ©°, μ κ·Όμ± ν₯μ μν΄aria-currentμ κ°μ μμ± μΆκ° - Web.dev:
<nav><a>ꡬ쑰μ μΆκ°μ μΈ μΈν°λμ μν΄<select>μμ ν¬ν¨ν΄ μ νμ§ μ 곡. μ¬μ©μκ° λμΌν λ 벨μ λ€λ₯Έ νμ΄μ§λ‘ λΉ λ₯΄κ² μ΄λν μ μλ κΈ°λ₯ μΆκ°νμ¬ μ¬μ©μ κ²½ν κ°νν μ μμ
βοΈ κ΅¬ν λ° μ€κ³ κ³ λ €μ¬ν
- μ£Όμ μ€κ³ κ³ λ €μ¬ν: λΈλ λν¬λΌ μ»΄ν¬λνΈλ μ¬μ©μκ° νμ¬ μμΉ λΉ λ₯΄κ² μ΄ν΄νκ³ μ¬μ΄νΈ λ΄μμ μ½κ² μ΄λ λμ. μ΄λ₯Ό μν΄ μ맨ν±ν HTML νκ·Έμ μ μ ν ARIA μμ± μ μ©νμ¬ μ κ·Όμ± κ°ν μ€μ
- μ½λ μμ:
<nav class="breadcrumbs" role="navigation" aria-label="Breadcrumb">
<ol>
<li><a href="/">Home</a></li>
<li><a href="/category">Category</a></li>
<li aria-current="page">Current Page</li>
</ol>
</nav>π ν μ€νΈ λ° κ²ν
- μ κ·Όμ± ν
μ€νΈ: μ€ν¬λ¦° 리λμ νΈνμ± λ° ν€λ³΄λ λ΄λΉκ²μ΄μ
μ¬μ©μ± ν
μ€νΈ. κ° λ§ν¬κ° μ μ ν μΈμλλμ§,
aria-currentμμ±μ΄ μ¬λ°λ₯΄κ² λμνλμ§ νμΈ - λΈλΌμ°μ νΈνμ± ν μ€νΈ: μ£Όμ λΈλΌμ°μ (Chrome, Firefox, Safari, Edge)μμ λΈλ λν¬λΌμ΄ μ¬λ°λ₯΄κ² λ λλ§λλμ§ νμΈ
- μ¬μ©μ νΌλλ°±: μ¬μ©μ ν μ€νΈ ν΅ν΄ λΈλ λν¬λΌμ ν΅ν λ΄λΉκ²μ΄μ μ΄ μ§κ΄μ μΈμ§ νμΈνκ³ , κ°μ μ¬ν λ°μ
π μΆκ° μ°Έκ³ μ¬ν
- κ΄λ ¨ λ¬Έμ: W3C ARIA Authoring Practices, Web.dev Breadcrumb Article
- μ견 λ° μ μ: λΈλ λν¬λΌ μ»΄ν¬λνΈμ λν μ견μ΄λ κ°μ μ¬ν μΆκ°
π― μν , μμ±, μν λ° νκ·Έ μμ±
- Role, Attribute, State
- Role:
role="navigation"μΌλ‘ λΈλ λν¬λΌμ΄ λ΄λΉκ²μ΄μ μν λͺ μ - Attribute:
aria-label="Breadcrumb"λ₯Ό ν΅ν΄ μ€ν¬λ¦° 리λ μ¬μ©μμκ² μ΄ μμκ° λΈλ λν¬λΌμ μλ¦Ό - State: νμ¬ νμ΄μ§λ₯Ό λνλ΄λ μμμ
aria-current="page"μ¬μ©νμ¬ μκ°μ λ° νλ‘κ·Έλ¨μ μΌλ‘ νμ¬ μμΉ λͺ νν νμ
- Role:
- JavaScript λ° CSS μ¬μ© μ¬λΆ
- JavaScript μ¬μ© μ¬λΆ: νΉμ μν©μμ μ νμ§ μ 곡νκΈ° μν΄
<select>μμμ JavaScript μ¬μ©νμ¬ λμ νμ΄μ§ μ ν μ§μ κ°λ₯ - CSS μ μ© μ¬ν: μκ°μ ꡬλΆμλ
aria-hidden="true"λ‘ μ€μ νμ¬ μ€ν¬λ¦° 리λ μ¬μ©μμκ² λΆνμν λ°λ³΅ νΌνλλ‘ ν¨
- JavaScript μ¬μ© μ¬λΆ: νΉμ μν©μμ μ νμ§ μ 곡νκΈ° μν΄