[web] 접근성을 고려한 UI 제작 (HTML&CSS)

접근성을 고려한 UI 제작 (HTML&CSS)

강사: 김데레사 (seulbinim@gmail.com)

발표자료

목표

내용

Part 1. 웹접근성과 웹표준

웹접근성(Web Accessibility): 웹사이트에서 제공하는 정보를 차별 및 제한없이 동등하게 이용할 수 있도록 보장하는 것

웹접근성을 고려한 UI 제작 준비

  1. 웹접근성 지침 준수
  2. 웹표준 기술의 활용

디바이스의 파편화 극심함. 변태 해상도들까지 대응하다보면 시간과 비용, 노력이 추가된다. 이를 해결하기 위해 표준 스펙을 가져와 작업한다 (표준 = 기술 스펙)

웹접근성 지침 및 기술

웹 표준(Web Standartds)

Part 2. 웹접근성을 고려한 HTML Markup

기본 언어 설정 및 적절한 제목 제공

원칙 2 운용의 용이성(Operable) - 사용자 인터페이스 구성요소는 조작 가능하고 내비게이션 할 수 있어야 한다.

​ 2.4.2 (제목 제공) - 페이지, 프레임, 콘텐츠 블록에는 적절한 제목을 제공해야 한다.

원칙 3 이해의 용이성(Understandable) - 콘텐츠는 이해할 수 있어야 한다.

​ 3.1.1 (기본 언어 표시) - 주로 사용하는 언어를 명시해야 한다.

논리적인 순서와 시맨틱 마크업

원칙 3 이해의 용이성(Understandable) - 콘텐츠는 이해할 수 있어야 한다.

​ 3.3.1 (콘텐츠의 선형화) - 프레임, 콘텐츠는 논리적인 순서로 제공해야 한다.

시맨틱 마크업 - 보조기기(스크린 리더, …) 사용자 고려

다양한 환경에 대한 웹접근성 보장 - 스크린 리더 등 보조 기기를 사용하는 사용자가 콘텐츠의 의미를 이해할 수 있도록 제공해야 한다

구조 설계 (HTML)

구조 설계 (ARIA)

제목의 중요성

레이블 제공 및 숨김 콘텐츠

원칙 3 이해의 용이성(Understandable) - 콘텐츠는 이해할 수 있어야 한다.

​ 3.4.1 (레이블 제공) - 사용자 입력에는 대응하는 레이블을 제공해야 한다.

숨김 콘텐츠 - 보조기기 사용자 고려

다양한 환경에 대한 웹접근성 보장 - 콘텐츠에 대한 이해를 위해 사용자에게 전달이 필요한 콘텐츠와 그렇지 않은 콘텐츠를 구분해서 제공해야 한다.

키보드 사용 보장 및 초점 이동

원칙 1 인식의 용이성(Perceivable) - 모든 콘텐츠는 사용자가 인식할 수 있어야 한다.

​ 1.1.1 (적절한 대체 텍스트 제공) - 텍스트 아닌 콘텐츠는 그 의미나 용도를 이해할 수 있도록 대체 텍스트를 제공해야 한다.

원칙 2 운용의 용이성(Operable) - 사용자 인터페이스 구성요소는 조작 가능하고 내비게이션 할 수 있어야 한다.

​ 2.1.1 (키보드 사용 보장) - 모든 기능은 키보드만으로도 사용할 수 있어야 한다.

​ 2.1.2 (초점 이동) - 키보드에 의한 초점은 논리적으로 이동해야 하며 시각적으로 구별할 수 있어야 한다.

버튼의 포커스(초점)이 사라지는건 바람직하지 않으며, 대안이 필요함

링크 요소를 버튼으로 역할 변경하기

팝업 창 정보 제공하기

원칙 3 이해의 용이성(Understandable) - 콘텐츠는 이해할 수 있어야 한다.

​ 3.2.1 (사용자 요구에 따른 실행) - 사용자가 의도하지 않은 기능 (새 창, 초점 변화 등)은 실행되지 않아야 한다.

팝업(Modal)창 - 보조기기 사용자 고려

다양한 환경에 대한 웹접근성 보장 - 보조 기기를 사용하는 사용자가 새창임을 이해할 수 있도록 제공하거나 모달 레이어의 경우 포커스를 강제로 모달 레이어 안쪽으로 옮겨주어야 합니다. 그렇지 않으면 포커스가 이동하지 않아 모달 레이어가 실행되었음을 알 수 없습니다.

<div class="ediya-menu__item--detail" hidden 
	role="dialog" aria-modal="true" aria-labelledby="ediya-menu__item1">
	...
</div>

HTML Validation(유효성 검사)

원칙 4 견고성(Robust) - 웹 콘텐츠는 미래의 기술로도 접근할 수 있도록 견고하게 만들어야 한다.

​ 4.1.1 (마크업 오류 방지) - 마크업 언어의 요소는 열고 닫음, 중첩 관계 및 속성 선언에 오류가 없어야 한다.

프로그래밍 언어라면, 문법 검사는 기본이다.

Part 3. 웹접근성을 고려한 CSS Style

Universal Design

원칙 1 인식의 용이성(Perceivable) - 모든 콘텐츠는 사용자가 인식할 수 있어야 한다.

​ 1.3.1 (색에 무관한 콘텐츠 인식) - 콘텐츠는 색에 관계없이 인식될 수 있어야 한다.

​ 1.3.3 (텍스트 콘텐츠의 명도 대비) - 텍스트 콘텐츠와 배경 간의 명도 대비는 4.5대 1 이상이어야 한다.

​ 1.3.5 (콘텐츠 간의 구분) - 이웃한 콘텐츠는 구별될 수 있어야 한다.

색상에 의존한 정보 제공 오류