WAI-ARIA는 HTML 요소에 추가적으로 의미를 부여할 수 있게 해준다. 보조적으로 사용하면 웹 접근성을 향상할 수 있다.
WAI-ARIA는 HTML 태그 내부에 속성을 추가로 의미를 부여해 줄 수 있다.
HTML의 요소 중료와 역할이 서로 맞지 않을 때 어떤 역할을 하는지 명시해 줄 때 사용하는 속성이다.
<div role="button">div이지만 button으로 사용되는 요소</div>
HTML 요소로 충분히 파악할 수 있는 내용은 작성 해주지 않는다.
// WAI-ARIA의 잘못된 사용 예시
<button role="button">button인 요소</button>
시멘틱 요소 본연의 의미를 임의로 바꾸지 않는다.
// WAI-ARIA의 잘못된 사용 예시
<h1 role="button">h1인 요소</h1
태그들만 봤을때 태그가 어떤기능을 하는지 파악하기 힘듦으로 WAI-ARIA으로 설명을 해준다.
<ul role="tabList">
<li role="tab">Tab1</li>
<li role="tab">Tab2</li>
<li role="tab">Tab3</li>
</ul>
<div role="tabpanel">Tab menu ONE</div>
<div role="tabpanel">Tab menu TWO</div>
<div role="tabpanel">Tab menu THREE</div>
위의 테이블 예시에서 어떤 탭이 선택되었는지에 선택 상태에 관련해 작성 해줄수 있는 속성이다.
<ul role="tabList">
<li role="tab" aria-selected="true">Tab1</li>
<li role="tab" aria-selected="false">Tab2</li>
<li role="tab" aria-selected="false">Tab3</li>
</ul>
<div role="tabpanel">Tab menu ONE</div>
<div role="tabpanel">Tab menu TWO</div>
<div role="tabpanel">Tab menu THREE</div>
3개의 탭 중 첫번째 탭이 선택된 상태임을 알 수 있다.
이미지만 들어있는 버튼의 경우 HTML 요소의 구조만으로 어떤 역할을 하는 버튼인지 파악하기 힘든 경우가 있다. 이런 상황에 사용하는 속성이다.
<button aria-label="닫기"/> <img src="X.png" /> </button>
<button aria-label="검색"/> <img src="돋보기.png" /> </button>
aria-label
속성을 넣어줌으로써 각 버튼들이 어떤기능을 하고있는지 바로 알 수 있다.브라우징 도중 내용을 띄우는 alert, modal, dialog등과 같은 역할을 하는 요소나, AJAX 기술을 사용하여 실시간으로 내용을 변경하는 영역에 사용하는 속성이다.