티스토리 뷰

웹 접근성

05. 운용의 용이성 (1) | sohinggu๑°⌓°๑

댕발자 (●'-'●) 2019. 6. 10. 02:48

운용의 용이성 (1)

학습목표
1. 키보드 사용 보장에 대해 이해할 수 있다.
2. 초점 이동과 조작 가능에 대해 설명할 수 있다.
3. 응답시간 조절에 대해 설명할 수 있다.
4. 정지 기능에 대해 이해할 수 있다.

운용의 용이성(Operable)

어떤 사용자나 환경에서도 키보드 만으로도 자유롭게 웹 사이트에서 제공하는 모든 콘텐츠의 기능을 이용할 수 있게 해야 한다.

웹 접근성 검사항목 - 운용의 용이성

 

<항목8> 키보드 사용 보장: 모든 기능은 키보드 만으로도 사용할 수 있어야 한다.

<항목9> 초점이동: 키보드에 의한 초점이 논리적으로 이동해야 하며 시각적으로 구별할 수 있어야 한다.

<항목10> 조작 가능: 사용자 입력 및 컨트롤을 조작가능하도록 제공되어야 한다.

<항목11> 응답시간 조절: 시간제한이 있는 콘텐츠는 응답시간을 조절할 수 있어야 한다.

<항목12> 정지 기능 제공: 자동 변경되는 콘텐츠의 움직임을 제어할 수 있어야 한다.

키보드 사용 보장

1. 키보드 사용 보장의 개념

텍스트를 입력하기 위한 키보드 조작 이외에도 마우스로 이용할 수 있는 모든 기능에 대해 키보드로도 이용할 수 있도록 하는 것

2. 키보드 사용 보장의 필요성/목적

시각장애, 상지장애, 운동 장애 등 마우스를 이용하기 어려운 사용자가 키보드를 이용할 수 있도록 한다. 부가적인 효과로 일반 사용자도 마우스 없이 이용해야 할 때 키보드 입력을 통해 더욱 빠르고 정확한 컨트롤이 가능해진다.

3. 키보드 사용 보장의 검사항목 해설

[검사 적용 예외]

  • 자유롭게 움직이는 아날로그적인 기능
  • 시뮬레이션과 같은 콘텐츠
  • 입체적인 시각화 기능
  • 마우스를 끌어서 거리를 측정할 수 있는 기능

하지만, 이런 경우에도 마우스로 이용 가능한 기능은 키보드로도 이용할 수 있도록 구현하여햐 한다.

4. 키보드 사용 보장 제공 방법

(1) 제공 방법

기준: 모든 기능을 키보드로 접근 가능하고, 사용 가능하도록 제공한 경우 기준을 준수한 것으로 인정한다.

(2) 오류 유형

a. 마우스가 제어할 수 있는 요소를 키보드로 제어할 수 없는 경우

a-1. 이미지에 onclick 자바코드 이벤트를 적용한 경우 → A, input, select, textarea, button 등으로 수정 ( 키보드 제어가 가능한 요소 등을 사용하여 키보드가 접근할 수 있도록 하는 것이 매우 중요)

키보드 사용 보장 오류 유형1 (출처: 배움나라)

 

[Tip] 기타 이미지 키보드 적용법

- 개선 전: <img>에 onclick 이벤트 핸들러를 사용한 경우 키보드로는 접근이 되지 않게 된다.

- 개선 후: <img>요소를 포커스가 진입할 수 있는 요소인 <a>로 감싸고, href속성을 지정해 주는 방식으로 수정하게 되면 키보드 포커스를 받을 수 있다.

 

a-2. 마우스에 대응되는 키보드 이벤트 핸들러를 적용하지 않아 키보드 접근이 안 되는 경우(키보드 포커스 초첨이 영역을 벗어나면 동작하지 않음) → 키보드 이벤트 핸들러 추가

키보드 사용 보장 오류 유형2 (출처: 배움나라)

 

[Tip] 마우스와 키보드 이벤트 핸들러 비교

마우스를 올리면 어떤 동작을 하는 마우스 이벤트 핸들러를 사용하게 되면 마우스로는 해당 동작이 가능하지만 키보드로는 해당 동작을 하지 못하는 경우가 있다. 키보드 사용을 보장하기 위해서는 마우스 이벤트 핸들러에 해당하는 키보드 이벤트 핸들러를 같이 사용해주어야 한다.

마우스에 대응되는 키보드 이벤트 핸들러 (출처: 배움나라)

 

a-3. readonly속성을 사용하여 키보드 접근이 안되는 경우 → readonly 속성 제거, 버튼을 href에 유효한 URL로 수정

키보드 사용 보장 오류 유형3 (출처: 배움나라)
키보드 사용 보장 오류 유형3 (출처: 배움나라)

a-4. 마우스에 종속적인 자바코드를 사용한 경우 → hover에 정의했던 기능에서 keyup 이벤트 추가

키보드 사용 보장 오류 유형4 (출처: 배움나라)

b. 부가 어플리케이션 콘텐츠의 wmode값 설정으로 키보드 이용이 불가능한 경우 → 플래시 콘텐츠 wmode갑을 window로 지정하여 수정

키보드 사용 보장 오류 유형5 (출처: 배움나라)

HTML문서 위에 플래시 콘텐츠를 구성하는 경우 투명한 느낌을 주려면 아예 플래시 제작도구 내에서 레이어를 겹치는 효과를 만들어 내고 웹 문서 안에서는 wmode값을 window로 지정해주는 방법이 있습니다.

 

[Tip] wmode값에 따른 레이어의 변화

플래시 콘텐츠를 만들고 이를 웹 문서 속에 포함시킬 때는 wmode값을 지정하도록 되어 있다. 이때 웹 접근성을 준수하기 위해서는 wmode값을 transparent가 아니라 window로 해주어야 한다. 그래야만 하나의 도로에서 정보가 오고 가는 것 처럼 MSAA에 의해 지원되는 보조기술을 이용할 수 있다. 아래 그림과 같이 wmode가 window인 경우 창이 하나가 되고, transparent인 경우 플래시 콘텐츠 위의 레이어에 있게 된다. 2층의 정보는 MSAA에서 지원하지 않게 되므로 1층의 정보만 읽어드린다. 이와 같은 이유로 MS에서 제공하는 접근성 API뿐만 아니라 타 브라우저에서 제공하는 API들을 보조기기가 활용해야만 타 브라우저에서도 이와 같은 응용프로그램과 다양한 기술에 의한 콘텐츠를 접근성 있게 구현하고 보조기술에 활용할 수 있게 된다.

wmode값에 따른 레이어의 변화 (출처: 배움나라)

 

(3) 주의사항

a. 반드시 IE8에서 확인할 것

b. onkeypress. onkeydown, onkeyup 이벤트 핸들러를 사용하여 키보드로 제어가 불가한 경우 감점

c. 지리정보(GIS), 가상현실(VR) 콘텐츠의 경우 예외로 인정하나 기타 인터페이스는 키보드만으로 사용할 수 있어야 함

d. 키보드로 탭 메뉴에서 탭1-탭2-탭3으로 이동하여 모든 탭 내용을 확인할 수 없는 경우 감점

e. onfocus="this.blur();"를 사용하는 경우 검사항목8, 9, 10에서 동시 감점

f. 플래시 콘텐츠의 wmode값을 transparent 또는 opaque로 지정하게 되면 화면낭독기로 인식이 불가함

초점 이동

1. 초점 이동의 개념

키보드에 의한 초점은 논리적으로 이동해야 하며 시각적으로 구별할 수 있어야 한다.
-초점: 웹 사이트에서 현재 위치하는 영역을 시각적으로 안내하기 위해 제공되는 형태로써 포커스 형태와 커서 형태 등으로 위치를 안내하는 것

2. 초점 이동의 필요성/목적

시각장애인이나 상지장애인 등 키보드로만 웹 사이트를 이용하는 사용자가 운용이 용이할 수 있도록 현재의 초점의 위치를 이해하고 이를 통해 원하는 콘텐츠를 이용할 수 있도록 한다.

3. 초점 이동의 검사항목 해설

(1)초점의 시각화

- <검사항목8. 키보드 사용보장>과 관련

- 키보드가 접근할 수 없어서 초점 여부를 볼수 없는 경우: 키보드 사용보장을 준수하지 못한 것

- 초점을 안 보이게 감추거나 정확하게 어떤 객체의 라인, 초점이 겹쳐 확인되지 않는 경우: 초점 이동을 준수하지 못한 것

(2) 초점의 논리적 순서

- <검사항목19.콘텐츠의 선형구조>와 관련

- CSS를 제거하고 나서 콘텐츠의 순서가 논리적이지 않은 경우: 콘텐츠 선형구조를 준수하지 못한 것

- Tab index, 자바스크립트 코드 포커스를 강제 이동시켜 논리적 순서를 지키지 않은 경우: 초점 이동을 준수하지 못한 것

 

* 초점은 반드시 기본 점선일 필요는 없지만, 초점을 받았을 때 시각적으로 구분 가능하고 현재 키보드 위치를 이해할 수 있게 하면 된다.

4. 초점 이동 제공 방법

(1) 제공 방법

기준: 키보드 초점을 받은 링크, 컨트롤 및 입력 서식은 초점을 받지 않은 객체들로부터 구분될 수 있도록 제공한 경우 기준을 준수한 것으로 인정한다.

(2) 오류 유형

a. 초점의 이동순서가 논리적이지 않으며 일관성이 없는 경우 → 논리적 순서로 소스코드를 배열하고 CSS를 활용하여 초점 개선

초점 이동 오류 유형1 (출처: 배움나라)

b. 초점 또는 키보드의 위치를 나타내는 요소가 시각적으로 표시되지 않는 경우 → onfocus="this.blur()"를 제거하여 개선

초점 이동 오류 유형2 (출처: 배움나라)

 

[Tip] CSS를 활용한 초점 부각 방법

CSS는 보통 웹 사이트의 꾸미기를 위해 사용하지만 초점을 받은 요소에 대한 화면 표시를 정희하기 위해 :focus를 사용할 수 있다. 이때 :focus와 대응되는 마우스 기능인 :hover도 같이 정의해주면 마우스를 사용하는 경우에도 초점이 명확하게 보여질 수 있다.

1. 초점 선의 굵기와 색상 변경

CSS를 활용한 초점 부각 방법1 - 선 스타일 (출처: 배움나라)

2. 텍스트의 굵기 변경

CSS를 활용한 초점 부각 방법2 - 텍스트 굵기 (출처: 배움나라)

3. 텍스트이 밑줄 표현

CSS를 활용한 초점 부각 방법3 - 텍스트 밑줄 (출처: 배움나라)

4. 스크립트를 사용하여 배경색이나 경계선 변경

CSS를 활용한 초점 부각 방법4 - 배경색, 전경색 (출처: 배움나라)

 

c.<area> 요소의 진행 순서에 의미가 있으나 키보드 접근 순서가 의미와 일치하지 않은 경우 → 이미지 맵을 부서명과 그에 속한 '과'계층의 순서로 소스 순서를 바꿈

초점 이동 오류 유형3 (출처: 배움나라)

(3) 주의사항

onfocus="this.blur()"를 사용하는 경우 키보드 접근은 물론 초점의 시각적 구분이 불가하고, 의도하지 않은 초점변화가 실행되므로 검사항목 8, 9, 19에서 동시 감점

조작 가능

1. 조작 기능의 개념

사용자의 입력 및 컨트롤을 조작할 수 있도록 하는 것
- 콘텐츠에 포함된 모든 컨트롤은 대각선 방향의 길이를 6.0mm 이상으로 제공해야함

2. 조작 가능의 필요성/목적

터치스크린을 채용한 기기를 이용하는 손 떨림이 있는 사용자와 시각장애인도 컨트롤을 용이하게 찾아서 조작가능하게 한다.

3. 조작 가능의 검사항목 해설

링크, 사용자 입력 및 기타 컨트롤은 테두리 안쪽으로 1픽셀 이상의 여백을 두고 이곳에서는 위치 지정 도구의 조작에 반응하지 않도록 구현하는 것이 바람직하다.

4. 조작 가능의 제공 방법

(1) 제공 방법

기준: 웹 페이지에서 제공하는 모든 이웃한 컨트롤들은 개별적으로 선택하고 사용할 수 있도록 대각선 길이가 6.0mm 이상의 크기와 컨트롤의 안쪽 여백이 1픽셀 이상을 갖도록 제공한 경우 기준을 준수한 것으로 인정한다.

(2) 오류 유형

a. 컨트롤 대각선 길이가 6.0mm 이하인 경우

b. 링크, 사용자 입력, 기타 컨트롤의 테두리 안쪽으로 1픽셀 이상의 여백을 제공하지 않은 경우

응답시간 조절

1. 응답시간 조절의 개념

제한된 시간 안에 요구되는 지시, 읽어야할 내용이 있는 콘텐츠의 경우 그 시간을 조절할 수 있도록 기능을 제공해야 한다.

2. 응답시간 조절의 필요성/목적

일반적인 사용자 수준에 맞추어 주어진 제한시간은 감각에 장애가 있는 사용자에게는 접근 방식에 따라 시간이 부족할 수 있으므로 적용된 제한시간을 멈추거나 회피할 수 있도록 하여 동등한 정보의 인식을 위해 보완해준다.

3. 응답시간 조절의 검사항목 해설

원천적으로, 제한된 시간이 해당 콘텐츠의 주요한 목적이 되거나 수단이 되는 경우(일반적인 사용자를 위해 제시된 경우) 예외로 한다. 하지만 제한된 시간이 일반적 사용자를 위한 것일 경우 장애인과 같은 사용자에게는 차별 요소가 될 수 있다. 따라서, 시간제한이 있는 콘텐츠에 대해서도 정지하거나 시간을 연장할 수 있는 기능을 제공해야 한다.

응답시간 조절 예시 (출처: 배움나라)

4. 응답시간 조절의 제공 방법

(1) 제공 방법

기준: 시간 제한이 있는 콘텐츠의 응답시간을 조절할 수 있도록 제공한 경우 기준을 준수한 것으로 인정한다.

(2) 오류 유형

a. 페이지 재 이동 시 회피할 수 있는 수단을 제공하지 않은 경우 → 확인, 취소 버튼 제공 및 충분한 시간을 제공하여 개선

응답시간 조절 오류 유형1 (출처: 배움나라)

b. 제한 시간을 연장하는 방법에 제한 시간이 있는 경우 → 로그인 연장 단축키를 제공하여 개선

응답시간 조절 오류 유형2 (출처: 배움나라)

(3) 주의사항

a. 원천적으로 콘텐츠의 이용에 따르는 시간 조절을 허용할 수 없는 콘텐츠는 예외로 인정

b. 검사대상은 자동전환 페이지(Redirection page), 제한시간 연장, 제한시간 만료 경고 등이 해담됨

정지 기능 제공

1. 정지 기능의 개념

자동 변경되는 콘텐츠는 움직임을 제어할 수 있어야 한다.
- 자동으로 변경되는 콘텐츠: 스크롤되는 배너, 뉴스, 실시간 검색어 등과 같이 자동으로 흐르거나 움직이는 콘텐츠

2. 정지 기능의 필요성/목적

자동으로 움직이는 콘텐츠에 대한 인식이 느린 고령자, 어린이, 인지 등에 장애가 있는 사용자의 경우 콘텐츠를 인식하는 시간이 오래걸리므로 정지 기능을 제공함으로써 사용자가 자동으로 변경되는 콘텐츠를 놓치지 않도록 한다.

3. 정지 기능의 검사항목 해설

한정된 공간에서 좀 더 많은 콘텐츠를 활용하기 위해 만든 자동 롤링 배너존, 포털의 한줄 뉴스같은 콘텐츠를 주로 검사한다.

정지 기능 예시 (출처: 배움나라)

정보를 제공하는 콘텐츠가 자동으로 변경되는 경우 반드시 '이전, 다음, 정지' 기능을 제공해야 한다.

4. 정지 기능의 제공 방법

(1) 제공 방법

기준: 자동으로 변경되는 콘텐츠의 움직임을 제어할 수 있도록 제공한 경우 기준을 준수한 것으로 인정한다.

(2) 오류 유형

a. 시간에 따라 변화하는 콘텐츠에 정지, 이전, 다음 기능이 없는 경우 → 정지, 이전, 다음 버튼 소스를 앞 부분으로 수정

정지 기능 오류 유형1 (출처: 배움나라)

b. 시간에 따라 변화하는 콘텐츠가 마우스와 키보드로 제어 불가능한 경우 → 콘텐츠를 제어할 수 있는 정지 버튼을 제공하여 수정

정지 기능 오류 유형2 (출처: 배움나라)

(3) 주의사항

a. 움직이는 배너, 뉴스 등 시간에 따라 변화하는 콘텐츠를 키보드와 마우스로 평가

b. 키보드 포커스 및 마우스 오버 시 콘텐츠의 변화가 멈춰지면 정지 기능이 제공된 것으로 인정

c. 검사대상은 자동적으로 스크롤되는 배너, 자동 변경되는 실시간 검색순위 등이 해당

내용 정리

1. 키보드 사용 보장

  • (1) 개념: 모든 기능은 키보드 만으로도 사용할 수 있어야 함
  • (2) 필요성: 마우스를 이용하기 어려운 사용자의 어려움 해소
  • (3) 검사항목 해설: 마우스로 이용 가능한 기능이 키보드로도 이용할 수 있도록 구현
  • (4) 제공방법: 모든 기능을 키보드로 접근, 사용 가능하도록 제공

2. 초점 이동

  • (1) 개념: 키보드에 의한 초점이 논리적으로 이동해야 하며 시각적으로 구별할 수 있어야 함
  • (2) 필요성: 키보드로만 웹 사이트를 이용하는 사용장의 어려움 해소
  • (3) 검사항목 해설: 초점을 받았을 때 시각적으로 구분, 사용자가 현재 키보드 위치를 이해할 수 있도록 함
  • (4) 제공방법: 키보드 초점을 받으 링크, 컨트롤 및 입력 서식 초점을 받지 않은 객체들로부터 구분될 수 있게 제공

3. 조작 가능

  • (1) 개념: 사용자의 입력 및 컨트롤을 조작할 수 있도록 하는 것
  • (2) 필요성: 손 떨림이 있는 사용자와 시각 장애인의 용이한 조작
  • (3) 검사항목 해설: 링크, 사용자 입력, 기타 컨트롤 등의 안쪽 여백을 두고 이곳에서는 위치 지정 도구가 조작에 미반응 해야 함
  • (4) 제공방법: 모든 컨드롤들은 대각선의 길이가 6.0mm 이상, 안쪽 여백이 1픽셀 이상이어야 함

4. 응답시간 조절

  • (1) 개념: 시간제한이 있는 콘텐츠는 응답시간을 조절할 수 있어야 함
  • (2) 필요성: 감각 장애가 있는 사용자의 어려움 해소
  • (3) 검사항목 해설: 시간제한이 있는 콘텐츠는 정지, 시간 연장할 수 있는 기능 제공
  • (4) 제공방법: 시간제한이 있는 콘텐츠는 응답시간 조절이 가능하게 제공

5. 정지 기능 제공

  • (1) 개념: 자동 변경되는 콘텐츠의 움직임을 제어할 수 있어야 함
  • (2) 필요성: 콘텐츠에 대한 인식이 느린 사용자의 어려움 해소
  • (3) 검사항목 해설: 정보를 제공하는 콘텐츠가 자동으로 변경되는 경우 반드시 이전, 다음, 정지 기능을 제공
  • (4) 제공방법: 자동 변경되는 콘텐츠의 움직임을 제어할 수 있도록 제공
댓글
© 2018 webstoryboy