Skip to content
Sehwan edited this page Apr 5, 2025 · 14 revisions

์›น ์ ‘๊ทผ์„ฑ

์ด ์œ„ํ‚ค ๋ฌธ์„œ๋Š” "ํ•œ๊ตญํ˜• ์›น ์ฝ˜ํ…์ธ  ์ ‘๊ทผ์„ฑ ์ง€์นจ 2.2"๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Daleui ๋””์ž์ธ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ฒ€ํ† ํ•  ๋•Œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ ‘๊ทผ์„ฑ ์ฒดํฌ๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  UI ์ปดํฌ๋„ŒํŠธ, ์ฝ˜ํ…์ธ , ์ƒํ˜ธ์ž‘์šฉ ์š”์†Œ๊ฐ€ ์žฅ์• ์ธ ๋ฐ ๋น„์žฅ์• ์ธ ๋ชจ๋‘์—๊ฒŒ ๋™๋“ฑํ•œ ์ ‘๊ทผ์„ฑ์„ ์ œ๊ณตํ•˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

1. ์ธ์‹์˜ ์šฉ์ด์„ฑ (Perceivable)

์‚ฌ์šฉ์ž๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ๊ฐ, ์ฒญ๊ฐ, ์ด‰๊ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฐ๊ฐ์„ ๊ณ ๋ คํ•œ ์„ค๊ณ„.

1.1 ํ…์ŠคํŠธ ๋Œ€์ฒด ์ œ๊ณต

  • ๋ชจ๋“  ๋น„ํ…์ŠคํŠธ ์ฝ˜ํ…์ธ (์ด๋ฏธ์ง€, ์•„์ด์ฝ˜ ๋“ฑ)์— ์ ์ ˆํ•œ ๋Œ€์ฒด ํ…์ŠคํŠธ(alt text)๋ฅผ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 1.1.1 Non-text Content (A)
  • ๋Œ€์ฒด ํ…์ŠคํŠธ๋Š” ์ฝ˜ํ…์ธ ์˜ ๋ชฉ์ ๊ณผ ๊ธฐ๋Šฅ์„ ๋ช…ํ™•ํžˆ ์„ค๋ช…ํ•˜๋Š”๊ฐ€?

1.2 ์ ์‘ ๊ฐ€๋Šฅ์„ฑ

  • ์ฝ˜ํ…์ธ ๊ฐ€ ์„ ํ˜• ๊ตฌ์กฐ๋กœ ์ œ๊ณต๋˜์–ด ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๋กœ ์ดํ•ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋Š”๊ฐ€? 1.3.1 Info and Relationships (A)
  • ์‹œ๊ฐ์  ์ˆœ์„œ์™€ ๋…ผ๋ฆฌ์  ์ˆœ์„œ๊ฐ€ ์ผ์น˜ํ•˜๋Š”๊ฐ€? 1.3.2 Meaningful Sequence (A)
  • ์ž…๋ ฅ ํ•„๋“œ์— ๋ ˆ์ด๋ธ”์ด ๋ช…ํ™•ํžˆ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”๊ฐ€? 1.3.3 Sensory Characteristics (A)
  • ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์—์„œ ์ฝ˜ํ…์ธ ๊ฐ€ ์†์‹ค ์—†์ด ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์—์„œ ํ‘œ์‹œ๋˜๋Š”๊ฐ€? 1.3.4 Orientation (AA) 1.3.5 Identify Input Purpose (AA)

1.3 ๊ตฌ๋ณ„ ๊ฐ€๋Šฅ์„ฑ

  • ํ…์ŠคํŠธ์™€ ๋ฐฐ๊ฒฝ ๊ฐ„ ๋ช…๋„ ๋Œ€๋น„๊ฐ€ ์ตœ์†Œ 4.5:1(A) ๋˜๋Š” 3:1(AA) ์ด์ƒ์ธ๊ฐ€? 1.4.3 Contrast (Minimum) (AA)
  • ํ…์ŠคํŠธ ํฌ๊ธฐ๋ฅผ 200%๊นŒ์ง€ ํ™•๋Œ€ํ•ด๋„ ์ฝ˜ํ…์ธ ๊ฐ€ ์†์‹ค๋˜์ง€ ์•Š๋Š”๊ฐ€? 1.4.4 Resize Text (AA)
  • ์ด๋ฏธ์ง€๋กœ ๋œ ํ…์ŠคํŠธ ๋Œ€์‹  ์‹ค์ œ ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๊ฐ€? 1.4.5 Images of Text (AA)
  • ์ƒ‰์ƒ๋งŒ์œผ๋กœ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์•˜๋Š”๊ฐ€? 1.4.1 Use of Color (A)

2. ์šด์šฉ์˜ ์šฉ์ด์„ฑ (Operable)

์‚ฌ์šฉ์ž๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„.

2.1 ํ‚ค๋ณด๋“œ ์ ‘๊ทผ์„ฑ

  • ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํ‚ค๋ณด๋“œ๋กœ๋งŒ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋Š”๊ฐ€? 2.1.1 Keyboard (A)
  • ํ‚ค๋ณด๋“œ ํฌ์ปค์Šค๊ฐ€ ๊ฐ‡ํžˆ๋Š” ์ƒํ™ฉ(Keyboard Trap)์ด ์—†๋Š”๊ฐ€? 2.1.2 No Keyboard Trap (A)
  • ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค๊ฐ€ ์‚ฌ์šฉ์ž ๋งž์ถคํ˜•์œผ๋กœ ์กฐ์ • ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™” ๊ฐ€๋Šฅํ•˜๋„๋ก ํ–ˆ๋Š”๊ฐ€? 2.1.4 Character Key Shortcuts (A)

2.2 ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„ ์ œ๊ณต

  • ์‹œ๊ฐ„ ์ œํ•œ์ด ์žˆ๋Š” ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 2.2.1 Timing Adjustable (A)
  • ์›€์ง์ด๋Š” ์ฝ˜ํ…์ธ ๋ฅผ ์ผ์‹œ ์ •์ง€, ์ค‘์ง€, ์ˆจ๊ธธ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 2.2.2 Pause, Stop, Hide (A)
  • ์ค‘๋‹จ(Interruptions)์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ–ˆ๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž ๋™์˜ ์—†์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๋Š”๊ฐ€? 2.2.4 Interruptions (AAA) (WCAG 2.2)
  • ํƒ€์ž„์•„์›ƒ์œผ๋กœ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 2.2.6 Timeouts (AAA) (WCAG 2.2)

2.3 ๊ด‘๊ณผ๋ฏผ์„ฑ ๋ฐœ์ž‘ ์œ ๋ฐœ ๋ฐฉ์ง€

  • 1์ดˆ์— 3ํšŒ ์ด์ƒ ๊นœ๋นก์ด๋Š” ์ฝ˜ํ…์ธ ๊ฐ€ ์—†๊ฑฐ๋‚˜, ์ž„๊ณ„๊ฐ’ ์ดํ•˜๋กœ ์ œํ•œํ–ˆ๋Š”๊ฐ€? 2.3.1 Three Flashes or Below Threshold (A)
  • ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‚ฌ์šฉ์ž๊ฐ€ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? 2.3.3 Animation from Interactions (AAA) (WCAG 2.2)

2.4 ํƒ์ƒ‰ ๊ฐ€๋Šฅ์„ฑ

  • ๋ฐ˜๋ณต ์ฝ˜ํ…์ธ ๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ๋Š” "Skip Navigation" ๋งํฌ๋ฅผ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 2.4.1 Bypass Blocks (A)
  • ํŽ˜์ด์ง€ ์ œ๋ชฉ์ด ๊ณ ์œ ํ•˜๊ณ  ์„ค๋ช…์ ์ธ๊ฐ€? 2.4.2 Page Titled (A)
  • ํฌ์ปค์Šค ์ˆœ์„œ๊ฐ€ ๋…ผ๋ฆฌ์ ์ด๊ณ  ์ง๊ด€์ ์ธ๊ฐ€? 2.4.3 Focus Order (A)
  • ๋งํฌ์˜ ๋ชฉ์ ์ด ๋ฌธ๋งฅ์—์„œ ๋ช…ํ™•ํ•œ๊ฐ€? 2.4.4 Link Purpose (In Context) (A)
  • ๋‹ค์ค‘ ํƒ์ƒ‰ ๋ฐฉ๋ฒ•(์‚ฌ์ดํŠธ๋งต, ๊ฒ€์ƒ‰ ๋“ฑ)์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 2.4.5 Multiple Ways (AA)
  • ์ œ๋ชฉ๊ณผ ๋ ˆ์ด๋ธ”์ด ๋ช…ํ™•ํ•˜๊ณ  ์ผ๊ด€์ ์ธ๊ฐ€? 2.4.6 Headings and Labels (AA)
  • ํฌ์ปค์Šค๊ฐ€ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์ด๋Š”๊ฐ€? 2.4.7 Focus Visible (AA)

2.5 ์ž…๋ ฅ ๋ฐฉ์‹

  • ๋ณต์žกํ•œ ์ œ์Šค์ฒ˜ ๋Œ€์‹  ๋‹จ์ผ ํฌ์ธํ„ฐ ๋™์ž‘์œผ๋กœ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ–ˆ๋Š”๊ฐ€? 2.5.1 Pointer Gestures (A)
  • ํฌ์ธํ„ฐ ์ž…๋ ฅ์ด ์‹ค์ˆ˜๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก ์ทจ์†Œ ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 2.5.2 Pointer Cancellation (A)
  • ๋ ˆ์ด๋ธ”๊ณผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ์ด๋ฆ„์ด ์ผ์น˜ํ•˜๋Š”๊ฐ€? 2.5.3 Label in Name (A)
  • ๋ชจ์…˜ ๊ธฐ๋ฐ˜ ์ž…๋ ฅ(์˜ˆ: ํ”๋“ค๊ธฐ)์ด ํ•„์ˆ˜๊ฐ€ ์•„๋‹Œ ์„ ํƒ ์‚ฌํ•ญ์ธ๊ฐ€? 2.5.4 Motion Actuation (A)

3. ์ดํ•ด์˜ ์šฉ์ด์„ฑ (Understandable)

์‚ฌ์šฉ์ž๊ฐ€ ์ฝ˜ํ…์ธ ์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„.

3.1 ๊ฐ€๋…์„ฑ

  • ํŽ˜์ด์ง€์˜ ๊ธฐ๋ณธ ์–ธ์–ด๊ฐ€ ๋ช…์‹œ๋˜์–ด ์žˆ๋Š”๊ฐ€? 3.1.1 Language of Page (A)
  • ํŠน์ • ๋ถ€๋ถ„์˜ ์–ธ์–ด๊ฐ€ ๋ณ€๊ฒฝ๋  ๊ฒฝ์šฐ ์ด๋ฅผ ๋ช…์‹œํ–ˆ๋Š”๊ฐ€? 3.1.2 Language of Parts (AA)

3.2 ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ

  • ํฌ์ปค์Šค ์‹œ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๊ฐ€? 3.2.1 On Focus (A)
  • ์ž…๋ ฅ ์‹œ ๋ฌธ๋งฅ์ด ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๊ฐ€? 3.2.2 On Input (A)
  • ๋‚ด๋น„๊ฒŒ์ด์…˜์ด ๋ชจ๋“  ํŽ˜์ด์ง€์—์„œ ์ผ๊ด€์ ์ธ๊ฐ€? 3.2.3 Consistent Navigation (AA)
  • ๋™์ผํ•œ ๊ธฐ๋Šฅ์˜ ์š”์†Œ๊ฐ€ ์ผ๊ด€๋˜๊ฒŒ ์‹๋ณ„๋˜๋Š”๊ฐ€? 3.2.4 Consistent Identification (AA)

3.3 ์ž…๋ ฅ ๋„์›€

  • ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ด๋ฅผ ๋ช…ํ™•ํžˆ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 3.3.1 Error Identification (A)
  • ์ž…๋ ฅ ํ•„๋“œ์— ๋ ˆ์ด๋ธ” ๋˜๋Š” ์ง€์‹œ๋ฌธ์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 3.3.2 Labels or Instructions (A)
  • ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์ˆ˜์ • ์ œ์•ˆ์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 3.3.3 Error Suggestion (AA)
  • ๋ฒ•์ /๊ธˆ์œต/๋ฐ์ดํ„ฐ ๊ด€๋ จ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜๋‹จ(ํ™•์ธ ๋‹จ๊ณ„ ๋“ฑ)์„ ์ œ๊ณตํ–ˆ๋Š”๊ฐ€? 3.3.4 Error Prevention (Legal, Financial, Data) (AA)

4. ๊ฒฌ๊ณ ์„ฑ (Robust)

๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๊ณผ ๋ณด์กฐ ๋„๊ตฌ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„.

4.1 ํ˜ธํ™˜์„ฑ

  • HTML/CSS๊ฐ€ ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ์—†์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑ๋˜์—ˆ๋Š”๊ฐ€? 4.1.1 Parsing (A)
  • ๋ชจ๋“  ์š”์†Œ์— ์ด๋ฆ„(Name), ์—ญํ• (Role), ๊ฐ’(Value)์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์ œ๊ณต๋˜์—ˆ๋Š”๊ฐ€? 4.1.2 Name, Role, Value (A)
  • ์ƒํƒœ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ณด์กฐ ๊ธฐ์ˆ ๋กœ ์ „๋‹ฌ๋˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋Š”๊ฐ€? 4.1.3 Status Messages (AA)

5. ํ•œ๊ตญํ˜• ํŠนํ™” ์š”๊ตฌ์‚ฌํ•ญ

ํ•œ๊ตญํ˜• ์›น ์ฝ˜ํ…์ธ  ์ ‘๊ทผ์„ฑ ์ง€์นจ 2.2์—์„œ ๊ฐ•์กฐ๋œ ํ•œ๊ตญ ํŠนํ™” ์š”๊ตฌ์‚ฌํ•ญ๋“ค.

  • ๋ฐ˜๋ณต ์ž…๋ ฅ ์ •๋ณด ์ตœ์†Œํ™”: ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ค„์˜€๋Š”๊ฐ€? (7.3.4)
  • ์ ๊ทผ ๊ฐ€๋Šฅํ•œ ์ธ์ฆ: ์ธ์ฆ ๊ณผ์ •์—์„œ ๋ณด์กฐ ๊ธฐ์ˆ  ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ๋Š”๊ฐ€? (7.3.3)
  • ๊ตญ๋‚ด ๋ฒ•์  ์ค€์ˆ˜: ใ€Œ์žฅ์• ์ธ ์ฐจ๋ณ„๊ธˆ์ง€๋ฒ•ใ€ ๋ฐ ใ€Œ๊ตญ๊ฐ€์ •๋ณดํ™”๊ธฐ๋ณธ๋ฒ•ใ€์— ๋”ฐ๋ฅธ ์˜๋ฌด ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ–ˆ๋Š”๊ฐ€?
  • ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ ๊ณ ๋ ค: PC๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ์˜ ์ ‘๊ทผ์„ฑ์„ ๊ฒ€ํ† ํ–ˆ๋Š”๊ฐ€? (1 ์ ์šฉ ๋ฒ”์œ„)

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  • ๊ฐ ์ปดํฌ๋„ŒํŠธ(๋ฒ„ํŠผ, ์ž…๋ ฅ ํ•„๋“œ, ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋“ฑ)๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ์ด ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ 
  • ์ฒดํฌ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์„ ํ•˜๋‚˜์”ฉ ๊ฒ€ํ† ํ•˜๋ฉฐ "์˜ˆ/์•„๋‹ˆ์˜ค"๋กœ ํ™•์ธํ•˜๊ณ , ๋ฏธ์ค€์ˆ˜ ํ•ญ๋ชฉ์€ ๊ฐœ์„  ๊ณ„ํš ์ˆ˜๋ฆฝ
  • ๊ฐœ๋ฐœ ๋ฐ QA ๋‹จ๊ณ„์—์„œ ์Šคํฌ๋ฆฐ ๋ฆฌ๋”(NVDA, VoiceOver ๋“ฑ)์™€ ํ‚ค๋ณด๋“œ ํ…Œ์ŠคํŠธ ๋ณ‘ํ–‰

์ฐธ๊ณ  ์ž๋ฃŒ

Clone this wiki locally