Web_Accessibility

μ›Ή μ ‘κ·Όμ„±

μ›Ή μ ‘κ·Όμ„±μ΄λž€?

  • μ›Ή 접근성을 κ°–μΆ”λ©΄ 웹에 μ ‘κ·Όν–ˆμ„ λ•Œ μ–΄λ–€ μƒν™©μ—μ„œλ„ 항상 λ™λ“±ν•œ μˆ˜μ€€μ˜ 정보λ₯Ό μ œκ³΅λ°›λ„λ‘ 보μž₯받을 수 있음

2. μ›Ή μ½˜ν…μΈ  μ ‘κ·Όμ„± μ§€μΉ¨ (WCAG)

βœ… μΈμ‹μ˜ μš©μ΄μ„± : λͺ¨λ“  μ½˜ν…μΈ λŠ” μ‚¬μš©μžκ°€ 인식할 수 μžˆμ–΄μ•Ό ν•œλ‹€

  • μ μ ˆν•œ λŒ€μ²΄ ν…μŠ€νŠΈ

    • alt μ†μ„±μœΌλ‘œ λŒ€μ²΄ν…μŠ€νŠΈ 제곡

    • 배경이미지와 같이 정보 인식이 ν•„μš” μ—†λŠ” κ²½μš°μ—λŠ” alt κ°’μœΌλ‘œ 빈 λ¬Έμžμ—΄μ„ μ£Όμ–΄ 슀크린 리더가 μΈμ‹ν•˜μ§€ λͺ»ν•˜λ„둝 함

  • μžλ§‰ 제곡

    • μžλ§‰μ„ ν¬ν•¨ν•˜κ±°λ‚˜, λΉ„λ””μ˜€ μš”μ†Œ μ•ˆμͺ½μ— track μš”μ†Œλ₯Ό μ‚¬μš©ν•΄ μžλ§‰ 파일 뢈러였기

  • 색에 λ¬΄κ΄€ν•œ μ½˜ν…μΈ  인식

    • μ½˜ν…μΈ λŠ” 색에 관계없이 μΈμ‹λ˜μ–΄μ•Ό ν•˜λ―€λ‘œ, μ½˜ν…μΈ μ— ν…Œλ‘λ¦¬λ₯Ό μ„€μ •ν•˜κ±°λ‚˜, λ ˆμ΄λΈ”μ„ μΆ”κ°€ν•˜μ—¬ λ‚΄μš© νŒŒμ•… κ°€λŠ₯ν•˜κ²Œ 함

  • λͺ…ν™•ν•œ μ§€μ‹œμ‚¬ν•­ 제곡

    • μ§€μ‹œμ‚¬ν•­μ—λ„ λŒ€μ²΄ ν…μŠ€νŠΈ μž‘μ„± ν˜Ήμ€ μ‹œκ°μ  ν”Όλ“œλ°± ν•¨κ»˜ 제곡

  • ν…μŠ€νŠΈ μ½˜ν…μΈ  λͺ…도 λŒ€λΉ„

    • λͺ…도 λŒ€λΉ„κ°€ μΆ©λΆ„νžˆ ν™•λ³΄λ˜μ§€ μ•ŠμœΌλ©΄ ν…μŠ€νŠΈ 읽기가 어렀움

    • ν…μŠ€νŠΈ μ½˜ν…μΈ μ™€ λ°°κ²½ κ°„μ˜ λͺ…도 λŒ€λΉ„λŠ” 4.5λŒ€ 1 이상이어야 함

  • μžλ™ μž¬μƒ κΈˆμ§€

    • 슀크린 리더λ₯Ό μ‚¬μš©ν•˜λŠ” 경우, μžλ™ μž¬μƒλœ μ†Œλ¦¬μ™€ 겹쳐 νŽ˜μ΄μ§€ λ‚΄μš© νŒŒμ•…μ΄ 어렀움

  • μ½˜ν…μΈ  κ°„ ꡬ뢄

    • μ΄μ›ƒν•œ μ½˜ν…μΈ λŠ” ꡬ별될 수 μžˆμ–΄μ•Ό ν•˜λ―€λ‘œ ν…Œλ‘λ¦¬, ꡬ뢄선, λͺ…λ„λŒ€λΉ„, 간격 λ“±μœΌλ‘œ ꡬ뢄

βœ… 운용의 μš©μ΄μ„± : μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ κ΅¬μ„±μš”μ†ŒλŠ” μ‘°μž‘ κ°€λŠ₯ν•˜κ³  λ‚΄λΉ„κ²Œμ΄μ…˜ ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€

  • ν‚€λ³΄λ“œ μ‚¬μš© 보μž₯

    • λͺ¨λ“  κΈ°λŠ₯은 ν‚€λ³΄λ“œλ§ŒμœΌλ‘œλ„ μ‚¬μš©ν•  수 μžˆμ–΄μ•Ό 함

  • 초점 이동

    • ν‚€λ³΄λ“œμ— μ˜ν•œ μ΄ˆμ μ€ λ…Όλ¦¬μ μœΌλ‘œ 이동해야 ν•˜λ©°, μ‹œκ°μ μœΌλ‘œ ꡬ별할 수 μžˆμ–΄μ•Ό 함

  • μ‘°μž‘ κ°€λŠ₯

    • μ‚¬μš©μž μž…λ ₯ 및 μ»¨νŠΈλ‘€μ€ μ‘°μž‘ κ°€λŠ₯ν•˜λ„λ‘ μ œκ³΅λ˜μ–΄μ•Ό ν•œλ‹€

    • λ―Έμ„Έν•œ μ‘°μž‘μ΄ μ–΄λ €μš΄ μƒν™©μ—μ„œλ„ μ›ν•˜λŠ” μš”μ†Œλ₯Ό μ„ νƒν•˜μ—¬ μ‘°μž‘ν•  수 μžˆλ„λ‘ ν•΄μ•Ό ν•œλ‹€

  • 응닡 μ‹œκ°„ 쑰절

    • μ‹œκ°„ μ œν•œμ΄ μžˆλŠ” μ½˜ν…μΈ λŠ” 응닡 μ‹œκ°„μ„ μ‘°μ ˆν•˜κ±°λ‚˜, μ’…λ£Œ μ‹œκ°„μ„ μ•Œλ €μ£Όμ–΄μ•Ό 함

  • μ •μ§€ μ‹œκ°„ 제곡

    • μžλ™μœΌλ‘œ λ³€κ²½λ˜λŠ” μ½˜ν…μΈ λŠ” μ›€μ§μž„μ„ μ œμ–΄ν•  수 μžˆμ–΄μ•Ό 함

  • κΉœλΉ‘μž„κ³Ό λ²ˆμ©μž„ μ‚¬μš© μ œν•œ

    • λˆˆμ— ν”Όλ‘œλ‚˜ κ΄‘κ³Όλ―Όμ„± λ°œμž‘μ„ μΌμœΌν‚¬ 수 μžˆμœΌλ―€λ‘œ ν•˜λ”λΌλ„ 일정 쑰건 μΆ©μ‘± ν•„μš”

  • 반볡 μ˜μ—­ κ±΄λ„ˆλ›°κΈ°

    • μ œκ³΅ν•˜λ”λΌλ„ κ±΄λ„ˆλ›°μ–΄ 메인 μ½˜ν…μΈ λ‘œ 이동할 수 μžˆλŠ” 방법 제곡

  • 제λͺ© 제곡

    • μ μ ˆν•œ 제λͺ©μ„ μ œκ³΅ν•¨μœΌλ‘œμ¨ λ‚΄μš©μ— λΉ λ₯΄κ²Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ 도움

  • μ μ ˆν•œ 링크 ν…μŠ€νŠΈ

    • 링크 ν…μŠ€νŠΈλŠ” μš©λ„λ‚˜ λͺ©μ μ„ 이해할 수 μžˆλ„λ‘ μ œκ³΅ν•΄μ•Ό 함

βœ… μ΄ν•΄μ˜ μš©μ΄μ„± : μ½˜ν…μΈ λŠ” 이해할 수 μžˆμ–΄μ•Ό ν•œλ‹€

  • κΈ°λ³Έ μ–Έμ–΄ ν‘œμ‹œ

    • 주둜 μ‚¬μš©ν•˜λŠ” μ–Έμ–΄λ₯Ό λͺ…μ‹œ ex) <html lang = "ko">

  • μ‚¬μš©μž μš”κ΅¬μ— λ”°λ₯Έ μ‹€ν–‰

    • μ‚¬μš©μžκ°€ μ˜λ„ν•˜μ§€ μ•Šμ€ κΈ°λŠ₯ (μƒˆ μ°½, μ΄ˆμ μ— μ˜ν•œ λ§₯락 λ³€ν™” λ“±)은 μ‹€ν–‰λ˜μ§€ μ•Šμ•„μ•Ό 함

  • μ½˜ν…μΈ  μ„ ν˜• ꡬ쑰

    • μ½˜ν…μΈ λŠ” 논리적인 μˆœμ„œλ‘œ μ œκ³΅ν•΄μ•Ό 함

  • ν‘œμ˜ ꡬ성

    • ν‘œλŠ” μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ ꡬ성해야 함

  • λ ˆμ΄λΈ” 제곡

    • μ‚¬μš©μž μž…λ ₯μ—λŠ” 그에 λŒ€μ‘ν•˜λŠ” λ ˆμ΄λΈ”μ„ μ œκ³΅ν•΄μ•Ό 함

    • <input> μš”μ†Œμ— value λ‚˜ placeholder μ†μ„±λ§Œ μ„€μ •ν•˜λŠ” 것은 μ ν•©ν•˜μ§€ μ•Šκ³ 

    • <input> μš”μ†Œμ— id λ₯Ό μ„€μ •ν•˜κ³  <label> μš”μ†Œμ˜ for μ†μ„±μœΌλ‘œ μ—°κ²°ν•˜κΈ°

  • 였λ₯˜ μ •μ •

    • μž…λ ₯ 였λ₯˜λ₯Ό μ •μ •ν•  수 μžˆλŠ” 방법을 μ œκ³΅ν•΄μ•Ό 함

βœ… 견고성 : μ›Ή μ½˜ν…μΈ λŠ” 미래의 κΈ°μˆ λ‘œλ„ μ ‘κ·Όν•  수 μžˆλ„λ‘ κ²¬κ³ ν•˜κ²Œ λ§Œλ“€μ–΄μ•Ό 함

  • λ§ˆν¬μ—… 였λ₯˜ λ°©μ§€

    • λ§ˆν¬μ—… μ–Έμ–΄μ˜ μš”μ†ŒλŠ” μ—΄κ³  λ‹«μŒ, 쀑첩 관계 및 속성 선언에 였λ₯˜κ°€ μ—†μ–΄μ•Ό 함

  • μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ ‘κ·Όμ„± μ€€μˆ˜

    • μ½˜ν…μΈ μ— ν¬ν•¨λœ μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ 접근성이 μžˆμ–΄μ•Ό ν•˜λ©°, μ—†λ‹€λ©΄ λŒ€μ²΄ μˆ˜λ‹¨ 제곡 ν•„μš”

3. WAI-ARIA

1. WAI-ARIA

  • WAI(Web Accessibility Initiative)

    • μ›Ή ν‘œμ€€μ„ μ •ν•˜λŠ” W3Cμ—μ„œ μ›Ή 접근성을 λ‹΄λ‹Ήν•˜λŠ” κΈ°κ΄€

  • ARIA (Accessible Rich Internet Applications)

    • μž₯μ• κ°€ μžˆλŠ” μ‚¬λžŒλ“€μ΄ μ›Ή μ½˜ν…μΈ μ™€ μ›Ή μ‘μš© ν”„λ‘œκ·Έλž¨μ— 더 μ‰½κ²Œ μ•‘μ„ΈμŠ€ν•  수 μžˆλ„λ‘ ν•˜λŠ”, 즉 μ›Ή 접근성을 κ°–μΆ”κΈ° μœ„ν•œ 기술

2. WAI-ARIA의 ν•„μš”μ„±

  • HTML μš”μ†Œμ— μΆ”κ°€μ μœΌλ‘œ 의미λ₯Ό λΆ€μ—¬ν•  수 있게 ν•΄μ£Όλ―€λ‘œ μ›Ή 접근성을 ν–₯상 μ‹œν‚¬ 수 있음

3. WAI-ARIA μ‚¬μš©λ²•

  1. μ—­ν• (role)

  • HTML의 μš”μ†Œ μ’…λ₯˜μ™€ 역할이 μ„œλ‘œ λ§žμ§€ μ•Šμ„ λ•Œ, μ–΄λ–€ 역할을 ν•˜λŠ” μš”μ†ŒμΈμ§€ λͺ…μ‹œν•  λ•Œ μ‚¬μš©ν•˜λŠ” 속성

    <div role="button">divμ΄μ§€λ§Œ button으둜 μ‚¬μš©λ˜λŠ” μš”μ†Œ</div>
      <!-- WAI-ARIA의 잘λͺ»λœ μ‚¬μš© μ˜ˆμ‹œ : WAI-ARIA둜 λ˜λ‹€μ‹œ μ„€λͺ… -->
      <button role="button">button인 μš”μ†Œ</button>
      <h1 role="button">h1인 μš”μ†Œ</h1>
  1. μƒνƒœ(state)

  • aria-selected: μ—¬λŸ¬ 개의 선택 κ°€λŠ₯ν•œ μš”μ†Œ μ€‘μ—μ„œ 선택 μƒνƒœμΈ μš”μ†Œλ₯Ό ν‘œμ‹œν•  수 μžˆλŠ” 속성

    <ul role="tabList">
    <!-- 첫번째 탭이 μ„ νƒλœ μƒνƒœ -->
    <li role="tab" aria-selected="true">Tab1</li>
    <li role="tab" aria-selected="false">Tab2</li>
    <li role="tab" aria-selected="false">Tab3</li>
    </ul>
    
    <div role="tabpanel">Tab menu ONE</div>
    <div role="tabpanel">Tab menu TWO</div>
    <div role="tabpanel">Tab menu THREE</div>
  1. 속성(property)

  • aria-label: μš”μ†Œμ— 라벨을 λΆ™μ—¬μ€Œ

      <!-- 1. html μš”μ†Œμ˜ κ΅¬μ‘°λ§ŒμœΌλ‘œλŠ” μ–΄λ–€ 역할을 ν•˜λŠ” λ²„νŠΌμΈμ§€ μ•ŒκΈ° νž˜λ“¦ -->
      <button> <img src="X.png" /> </button>
      <button> <img src="돋보기.png" /> </button>
    
      <!-- 2. aria-label μ‚¬μš© -->
      <button aria-label="λ‹«κΈ°"/> <img src="X.png" /> </button>
      <button aria-label="검색"/> <img src="돋보기.png" /> </button>
  • aria-live: ν•΄λ‹Ή μš”μ†Œκ°€ μ‹€μ‹œκ°„μœΌλ‘œ λ‚΄μš©μ„ λ³€κ²½ν•˜λŠ” μ˜μ—­μΈμ§€ ν‘œμ‹œ (alert, modal λ“±)

    • 속성 κ°’μœΌλ‘œλŠ” polite, assertive, off(default)κ°€ 있음

Last updated