피드로 돌아가기
Dev.toFrontend
원문 읽기
Accessibility Tree 최적화를 통한 SVG 아이콘의 의미론적 제어 설계
SVG Icon Accessibility: Decorative vs Meaningful Icons
AI 요약
Context
SVG 아이콘의 무분별한 사용으로 인해 Assistive Technology가 불필요한 시각 요소를 읽어내는 Noise 문제 발생. 단순 시각 장식과 실제 의미를 담은 아이콘 간의 구분 부재로 인한 사용자 경험 저하 및 접근성 트리 오염이 주요 병목 지점으로 분석됨.
Technical Solution
- Decorative Icon의 경우
aria-hidden="true"와focusable="false"속성을 적용하여 Accessibility Tree에서 완전히 제거함으로써 스크린 리더의 불필요한 탐색 차단 - Meaningful Icon의 경우
role="img"와aria-label을 결합하여 시각 정보의 텍스트 기반 의미 전달 체계 구축 - Interactive Element(Button, Link) 내부 SVG는 아이콘이 아닌 컨트롤 레벨에서
aria-label을 부여하여 포커스 제어와 의미 전달을 일원화 - 복잡한 데이터 시각화 SVG의 경우
aria-labelledby를 통한<title>및<desc>태그 연결로 구조적 상세 설명 제공 - Decision Tree 기반의 분류 로직을 적용하여 UI 요소의 성격에 따른 속성 부여 표준화
실천 포인트
- 단순 장식용 아이콘에 `aria-hidden="true"`가 적용되었는지 확인 - 아이콘 전용 버튼의 경우 SVG가 아닌 `<button>` 태그에 `aria-label`이 부여되었는지 검토 - 독립적 의미를 가진 SVG에 `role="img"`와 적절한 이름이 설정되었는지 체크 - 복잡한 SVG에 `<title>` 및 `<desc>`를 통한 구조적 설명이 포함되었는지 검증