장애인, 고령자 등이 웹 사이트의 정보에 접근하고 이해할 수 있는 것
WCAG(Web Content Accessibility Guidelines) 2.0 을
한국 실정에 맞게 수정한 ‘한국형 웹 콘텐츠 접근성 지침 2.1
모든 콘텐츠를 사용자가 인식할 수 있는가
텍스트가 아닌 콘텐츠는 대체 텍스트 제공해야 한다
alt
속성 사용<img src="이미지 주소" alt="대체 텍스트" />
alt
을 빈문자열 줘서 스크린 리더가 인식하지 않게 한다멀티미디어 콘텐츠에서 자막, 원고나 수화를 제공하는가
vidio
요소 안에 track
요소로 자막 파일 부르기<video ... >
<track src="자막.vtt" kind="captions" />
</video>
색에 상관없이 콘텐츠가 인식되는가
모양, 크기, 위치, 방향, 색, 소리 등 관계없이 지시사항이 인식되는가
텍스트 - 배경 간 명도대비는 4.5 대 1 이상이어야 한다
텍스트를 명확하게 보기 위해 명도대비를 지켜야 한다
밑의 경우 콘텐츠-배경 명도대비 3 대 1까지 허용된다
텍스트가 18pt 또는 굵은(Bold) 14pt 이상일 경우, 확대 가능한 페이지인 경우, 비활성화 된 콘텐츠인 경우, 장식 목적의 콘텐츠인 경우
이웃한 콘텐츠는 시각적으로 구별되어야 한다
UI 구성요소는 조작 가능하고 내비게이션 할 수 있어야 한다.
키보드만으로 모든 기능 사용가능하게 하기
키보드의 초점 이동을 논리적, 시각적으로 구별해야 한다
사용자 입력, 컨트롤은 조작 가능하도록 제공해야 한다
시간제한있는 콘텐츠는 응답시간 조절할 수 있어야 함
자동 변경 콘텐츠의 움직임을 제어 가능해야 한다
초당 3~50회 주기의 깜빡임,번쩍이는 콘텐츠 제공 안해야 한다
반복 영역의 건너뛰기 구현
페이지, 프레임, 콘텐츠 블록에는 적절한 제목을 제공
용도, 목적을 이해할 수 있어야 한다
콘텐츠는 이해 가능해야 한다
주로 사용하는 언어를 명시
lang
속성 사용<html lang="ko">
lang
속성 표기사용자가 의도하지 않은 기능(새 창, 초점에 의한 맥락 변화 등)은 실행되지 않아야 한다.
페이지 진입 시 팝업 뜨지 않아야 하고, 모달은 가장 상단에 제공하여 가장 먼저 제어해야 한다.
스크린 리더 사용자는 새 창이 떴음를 인지못하고 기존 페이지를 계속 보고있다고 생각할 수 있기때문에 새 창 떴음을 안내해야 한다
링크 요소 안에 보이지 않는 요소를 넣어 새 창에 접근하게 됨을 안내
<a href="...">페이지<span class="blind">새 창</span></a>
링크 요소에 title
속성으로 "새 창" 작성
<a href="..." title="새 창">페이지</a>
링크 요소에 target=”_blank”
속성 작성
<a href="..." target="_blank">페이지</a>
논리적인 순서로 콘텐츠 제공
이해하기 쉽게 표 구성
caption
요소로 표 제목이나 간단한 요약 작성<th>
, 데이터 셀은<td>
사용사용자 입력에 대응하는 레이블 제공
<input>
에 value
나 placeholder
속성만 설정하는 것은 적합하지 않음(X) <input type="text" placeholder="아이디" />
<input>
에 id
설정하고 <label>
요소의 for
속성으로 연결(O) <lable for="user_id">아이디</label>
<input id="user_id" type="text" placeholder="아이디" />
title
속성 사용(O) <input type="text" title="아이디" placeholder="아이디" />
aria-label
속성 사용(O) <input type="text" aria-label="아이디" placeholder="아이디" />
WAI-ARIA의 경우 꼭 필요한 경우가 아니면 사용하지 않는 것이 좋다.
HTML 속성이나 요소로 대체 가능하면 속성이나 요소를 우선적으로 사용해라.
입력 오류를 정정하는 방법 제공하기
미래 기술로도 접근 가능하게 견고하게 만들어야 한다.
: 마크업 언어의 요소는 열고/닫음, 중첩 관계 및 속성 선언에 오류가 없어야 한다.
(X) <div><span></div></span>
(O) <div><span></span></div>
(X) <div class="중복" class="사용"></div>
(O) <div class="안 돼요"></div>
(X) <div id="아이디"><span id="아이디"></span></div>
콘텐츠에 포함된 웹 애플리케이션도 접근성 갖추기