신체적 차이나 장애 여부와 상관없이 누구나 원활하게 웹페이지를 이용가능하게 보장하는 것
접근가능한 리치 인터넷 어플리케이션(Accessible Rich Internet Applications, ARIA)은 장애를 가진 사용자가 웹 콘텐츠와 웹 어플리케이션(특히 JavaScript를 사용하여 개발한 경우)에 더 쉽게 접근할 수 있는 방법을 정의하는 여러 특성을 말합니다. ARIA는 HTML을 보충해, 일반적으로 보조 기술이 알 수 없는 상호작용 및 흔히 쓰이는 어플리케이션 위젯에 필요한 정보를 제공합니다.
<div role="banner">Aria - role</div>
<div role="main">Aria - main</div>
<div role="form">Aria - form</div>
<div role="navigation">Aria - navigation</div>
<div role="aside">Aria - aside</div>
<div role="search">Aria - search</div>
<div role="button">Aria - button</div>
<div role="tablist">Aria - tablist</div>
요소가 기본적으로 가진 특징이나 상황으로 "aria-"라는 접두어를 갖는다
aria-required를 true로 지정하여 스크린리더사용자에게 해당 요소가 필수적으로 입력되어야 함을 알려준다
<input type="checkout" aria-required="true">
<div role="group" aria-label="레이블">
<div role="tabpanel" aria-expanded="true">
<button aria-pressed="true">
<nav role="navigation"> <nav>
동일한 역할을 하는 nav요소와 role의 navigation을 같이 사용하지 않는다
<h1 role="button">버튼</h1>
h1의 본래의 기능을 버리고 다른 역할(버튼)을 부여하지 않는다
<span role="button" tabindex="0">버튼</span>
상호작용이 가능한 대화형 UI(사용자가 클릭 가능한 정보, 탭, drag&drop, slide, scroll등이 필요한 기능)를 span이나 div로 마크업 후, role="button"속성 부여시, 사용자가 키보드로 접근이 가능하도록 해야 한다. tabindex속성을 0 으로 설정하여 콘텐츠의 선형화 순서대로 키보드 포커싱이 진입한다. "0"보다 값이 작으면 키보드 포커스를 받지 못하도록 설정된다.
<li>
<button aria-pressed="true">HTML에 대해</button>
<button>HTML에 대해</button>
<span>HTML에 대해</span>
<span role="button" tabindex="0">HTML에 대해</span>
<ul>
<li>
<a href="#">HTML5 소개</a>
</li>
<li>
<a href="#">레퍼런스 소개</a>
</li>
<li>
<a href="#">활용예제</a>
</li>
</ul>
</li>
<span>HTML에 대해</span>
<span role="button" tabindex="0">HTML에 대해</span>
<button>HTML에 대해</button>
<button aria-pressed="true">HTML에 대해</button>
=_=