"매 사용자가 매 콘텐츠에 매 접근 가능". A11y는 visual/auditory/motor/cognitive 장애 사용자도 web product를 사용할 수 있도록 design + implement 하는 practice. 2026 기준 WCAG 2.2가 standard, EU EAA 강제 발효(2025-06)로 commercial site 의 legal requirement.
매 핵심
매 4 원칙 (POUR)
Perceivable: 매 contrast, alt text, captions — 매 sense 통해 perceive 가능.
Operable: keyboard nav, focus management, no seizure-triggering content.
First rule: 매 native HTML element 가 있으면 ARIA 의 X. <button> > <div role="button">.
ARIA 사용 case: dynamic widget (combobox, tabpanel, dialog), live region, no native equivalent.
매 응용
WCAG 2.2 AA conformance — most legal threshold.
Screen reader testing (VoiceOver/NVDA/JAWS).
Keyboard-only navigation flow.
💻 패턴
Skip link
<ahref="#main"class="skip-link">Skip to main content</a><style>.skip-link{position:absolute;left:-9999px;}.skip-link:focus{left:0;top:0;background:#000;color:#fff;padding:0.5rem1rem;z-index:100;}</style><mainid="main"tabindex="-1">...</main>
<divaria-live="polite"aria-atomic="true"id="status"></div><script>// 매 새로운 toast 매 polite 알림
document.getElementById('status').textContent='Saved successfully';</script>
언제: ARIA pattern lookup, WCAG criterion explanation, accessibility audit script generation.
언제 X: real screen reader testing — manual + actual AT 사용 필수.
❌ 안티패턴
div soup: 매 <div onclick> — keyboard 의 X.
alt="image": meaningless alt — describe content or alt="" for decorative.
Removed focus outline: outline:none without replacement — keyboard user 의 lost.
Color-only signal: error 만 red — 매 color blind user invisible.
ARIA overuse: role="button" on <button> — redundant + harmful.