WAI-ARIA(Web Accessibility Initiative – Accessible Rich Internet Applications)는 웹 페이지, 특히 동적 콘텐츠와 Ajax, HTML, 자바스크립트 및 관련 기술로 개발된 사용자 인터페이스 구성 요소의 접근성을 증가시키는 방법에 대해 규정한 W3C(World Wide Web Consortium)가 출판한 기술 사양이다.
개요
WAI-ARIA는 W3C의 웹 접근성 이니셔티브(Web Accessibility Initiative, WAI)의 일환으로 개발되었다. 2014년 3월 20일 WAI-ARIA 1.0이 완전한 W3C 권고안(Recommendation)이 되었으며, 2023년 6월 6일 WAI-ARIA 1.2가 W3C 권고안으로 발표되었다. 현재 WAI-ARIA 1.3 초안(Draft)이 개발 중이다.
목적과 필요성
웹 개발자들은 점차 클라이언트 사이드 스크립트를 사용하여 HTML만으로는 만들 수 없는 사용자 인터페이스 컨트롤을 만들고, 웹 서버로부터 새 페이지를 완전히 요청하지 않고도 페이지의 일부를 동적으로 업데이트한다. 이러한 기술들은 리치 인터넷 애플리케이션(Rich Internet Applications, RIA)이라고 불린다. 그러나 이렇게 동적으로 생성되는 사용자 인터페이스 컨트롤과 콘텐츠 업데이트는 장애가 있는 사용자들, 특히 스크린 리더 사용자나 마우스 및 기타 포인팅 장치를 사용할 수 없는 사용자에게는 접근이 어려울 수 있다. WAI-ARIA는 이러한 접근성 문제를 해결하기 위해 고안되었다.
주요 구성 요소
WAI-ARIA는 웹 콘텐츠에 다음과 같은 시맨틱 정보를 추가하여 보조 기술 사용자의 접근성을 향상시킨다.
- 역할(Role): 위젯의 유형을 설명한다. 예: "menu", "treeitem", "slider", "progressbar"
- 속성(Property): 위젯의 특성을 설명한다. 예: "checked"(체크박스), "readonly"(폼 컨트롤)
- 상태(State): 위젯의 현재 상태를 나타낸다.
- 라이브 리전(Live Region): 주식 시세 등 업데이트가 발생할 가능성이 있는 페이지 영역을 정의한다.
- 키보드 내비게이션: 웹 객체와 이벤트에 대한 키보드 접근 방식을 제공한다.
적용 범위
WAI-ARIA는 HTML에만 국한되어 사용되지 않으며, SVG 등 다른 마크업 언어에도 사용할 수 있다. 2008년 9월 15일 작업 초안으로 SVG 1.2 Tiny가 WAI-ARIA 지원을 추가한 바 있다. WAI-ARIA는 웹 애플리케이션, 웹 브라우저, 보조 기술, 접근성 평가 도구의 개발자들이 사용하도록 고안되었다.
관련 기술 문서
WAI-ARIA 사양군(Suite)에는 다음 문서들이 포함된다.
- WAI-ARIA 1.2 기술 명세
- Core Accessibility API Mappings 1.2
- Accessible Name and Description Computation 1.2
- HTML Accessibility API Mappings 1.0
- SVG Accessibility API Mappings 1.0
- Digital Publishing WAI-ARIA Module 1.1 (DPUB-ARIA)
- Digital Publishing Accessibility API Mappings 1.1 (DPUB-AAM)
개발 주체
WAI-ARIA 기술 문서는 W3C 웹 접근성 이니셔티브(WAI) 산하의 Accessible Rich Internet Applications Working Group(ARIA WG)에서 개발한다.