SlideShare a Scribd company logo
1 of 36
모바일 인앱 실무에
활용한 접근성 해결 방안
2018 제 6회 널리 세미나
NTS
4차 산업혁명과 정보 접근성
모바일 인앱 실무에
활용한 접근성 해결 방안
2018 제 6회 널리 세미나
NTS
4차 산업혁명과 정보 접근성
개요 Overview
사례 Reference
해결방안 Measures
결론 Result
Session8. Contents
개요 OverviewSession8. Contents
4차 산업혁명과 정보 접근성
4
[Overview 1/4] 배경
실무에서는 접근성 실태조사, 사용자 편의제공 등 다양한 배경의 접근성을 대응
그 중에서 개발에 미치는 영향을 최소화 하면서 접근성을 포함하는 방법과
접근성 사양을 구현하기 위해서 안정적이고 세부적인 가이드가 필요
NWARS모니터링지침 오류 유형 W3C명세
4차 산업혁명과 정보 접근성
5
[Overview 2/4] 실무 가이드 진행 프로세스
체크리스트 지침 중 우선 순이거나 반복되는 높은 유형을 선정하여
해결을 위한 기술 검수 및 세부 내용을 정리하여 배포
4차 산업혁명과 정보 접근성
6
[Overview 3/4] 환경분석
보이스 오버 톡 백
- 다이렉트 실행
- 로터(rotor) – 빠른 탐색 옵션
- 음성 출력 표시
- iOS VoiceOver
- Android TalkBack
기능(▶)
화면 내용을 음성으로 알려주는 접근성 기능
4차 산업혁명과 정보 접근성
7
[Overview 4/4] 환경분석
사용자 환경
다양한 도구를 복합적으로 사용하는 사용자의 다양성 이해
점자 단말기 화면 자막
고대비 모드
안구 추적 기
기
사례 ReferenceSession8. Contents
4차 산업혁명과 정보 접근성
9
[Reference 1/4] 네이버 및 타사 서비스의 사례 소개
콘텐츠와 초점 위치가
다름
콘텐츠와 초점 크기가
불일치
네이버 다음
4차 산업혁명과 정보 접근성
10
[Reference 2/4] 네이버 및 타사 서비스의 사례 소개
선택된 메뉴 “선택됨”
상태 값 없음
구글
선택된 메뉴 “선택됨”
상태 값 없음
야후
4차 산업혁명과 정보 접근성
11
동일 링크 여러 초점 이
동
불필요한 중복 적용
[Reference 3/4] 네이버 및 타사 서비스의 사례 소개
뉴욕타임즈
적절하지 않은 대체 텍스
트
“발음 할 수 없음"
IBM(▶)
4차 산업혁명과 정보 접근성
12
[Reference 4/4] 네이버 및 타사 서비스의 사례 소개
페이스북
입력 메시지 도움말이
입력 시 음성 지원 안됨
유투브
“선택됨 인기” 선택 메뉴 상태 값
탭 메뉴 순서, 개수 정보 제공
해결방안 MeasuresSession8. Contents
4차 산업혁명과 정보 접근성
14
[Measures 1/16] 대체 텍스트 (텍스트가 아닌 콘텐츠에 대체 텍스트를 제공하는가)
- 적절하지 않은 대체 텍스트를 제공하는 것도 오류
- 섬네일(thumbnail)이미지 정보와 대체 텍스트를 동등하게 제공
적절하지 않는 대체 텍스트
“mnate_ad”
적절하지 않은 경
우
동등한 대체 텍스
트
이미지 정보와 다른
대체 텍스트 “다음 초기 광고”
4차 산업혁명과 정보 접근성
15
[Measures 2/16] 대체 텍스트
- 영어를 모르는 사용자를 배려한 한글로 제공
- 영어 콘텐츠는 영어로 제공
사용자 배려한 한글로 제
공
영어 오류 아닌 경우
영어 콘텐츠는 영어로
제공하여도 오류 아님
4차 산업혁명과 정보 접근성
16
[Measures 3/16] 대체 텍스트 기법
Alt Aria-label
<img> <area>에 alt 요소로
이미지가 포함한 정보를
대체 텍스트로 제공
role=“img”를 선언한 경우,
aria-label을 함께 제공
- Alt, ARIA를 통해 도움말이나 설명을 추가하거나 별도 텍스트가 있는 경유 alt속성은 빈 값으로 제공
빈 값
4차 산업혁명과 정보 접근성
17
[Measures 4/16] 대체 텍스트 기법
Aria-labelledby
사용자에게 추가적인 설명이
필요할 때 유용한 기법
Aria-describedby (▶)
DOM에 있는 다른 요소 ID를 지정할
수
있는 관계 속성
관련 정보를 여러 개로 제공 가능
(aria-labelledby="name1 name2")
- Alt, ARIA를 통해 도움말이나 설명 텍스트를 추가
4차 산업혁명과 정보 접근성
18
의미(영어) 대체 텍스트 의미(영어) 대체 텍스트
ad 광고 live 실시간
alert 경고 movie 영화
back 뒤로 가기 new 신규
calendar 달력 prev / next 이전 / 다음
delete 삭제 play 재생
etc 기타 search 검색
hot 인기 top 맨 위로, 위로
[Measures 5/16] 영어 대체 텍스트
- 한글 서비스 콘텐츠는 한글로 제공을 권장
4차 산업혁명과 정보 접근성
19
[Measures 6/16] 외래어 대체 텍스트
- 상용화된 외래어로 인한 한글 오류 발생을 대응
의미(외래어) 대체 텍스트 의미(외래어) 대체 텍스트
app 앱 id 아이디
capture 캡쳐 music 뮤직 / 음악
category 카테고리 open 오픈 / 열림, 펼침, 열기
click 클릭 password 패스워드 / 비밀번호
email 이메일 review 리뷰
event 이벤트 toolbar 툴바
home 홈 update 업데이트
4차 산업혁명과 정보 접근성
20
[Measures 7/16] 초점
- 정보를 전달하는 모든 콘텐츠에 초점을 적용
- 하나의 링크 요소에 여러 번 초점이 이동하지 않도록 한다 (불필요한 초점)
초점의 분리형 <a>요소 초점의 일체형
- 동일 링크 불필요한 초점(중
복)
- block, br 요소가 초점을 분리
- Inline이 2개 이상일 때 일체화
- before나 after의 content:
‘00a0’; font-size:0; 적용 시
일체화※ 00a0란 non-breaking-space로 빈공백 유니코드
4차 산업혁명과 정보 접근성
21
[Measures 8/16] 초점
- 초점의 표시가 콘텐츠 위치와 크기와 일치
초점과 콘텐츠 크기 불일
치
- 초점 표시와 콘텐츠 크기가 다름
- 터치 기반 디바이스는 최소 9mm
이상 적용
초점과 콘텐츠 크기 일치
iOS는 텍스트, 이미지 기준으로 초점
크기를 갖지만 Android는 크기 관련
CSS값 만큼 갖는다.
4차 산업혁명과 정보 접근성
22
[Measures 9/16] 초점
- 초점이 이동하지 않게 하는 방법 (CSS, WAI-ARIA 사용 : display:none; visibility: hidden; 등)
WAI-ARIA 사용한 방법
레이아웃에 영향을 주지 않고,
스크린리더의 초점이 이동하지
않음
aria-hidden=“true”
의미 없는 콘텐츠로 초점
이 적용되지 않음
4차 산업혁명과 정보 접근성
23
[Measures 10/16] 초점
- 초점 표시가 시각적으로 나타나야 한다(초점의 크기, 위치, 시각화)
삭제 버튼 초점이 이동하고
음성 출력은 되지만 초점
표시가 없음
보이지 않는 초점
숨김텍스트를 VIEWPORT
밖으로 위치할 때 초점이
보이지 않게 된다.
시각적 오류를 발생시키는 CSS
- text-indent, line-height, position 등
- 성능 최적화 영향 줌 (렌더레이어(Graphic Layer) 크기에 주의)
초점의 시각화
4차 산업혁명과 정보 접근성
24
[Measures 11/16] 초점
- 초점의 논리적 순서 이동 (왼쪽에서 오른쪽으로, 위에서 아래로)
초점의 논리적 순서(▶)
- 버튼 선택 후 팝업의 첫 요소로 초점 이동
- Tabindex는 모바일에서 초점 순서에 영향을 주지 않음
- 초점 순서는 Html 코드 순서 선형화 대로 이동
1 2
7
9
10
3 4 5 6
8
11
12
〓
4차 산업혁명과 정보 접근성
25
[Measures 12/16] 보조 기술의 호환성 : 가이드 구성
- 네이버에서 제공하는 UI에 WAI-ARIA 적용 시 동일한 코드 제공을 목적으로 함
- WAI-ARIA 1.1 권장 사용 패턴 기준 (W3C 스펙을 참고)으로 모바일 가이드를 정의
네이버 모바일 앱(웹) 보조 기술의 호환성 가이드
구성
개요
구성 요소와 코드
동영상 보기
- HTML 자체 기능을 우선 함(중복 역할 지양)
- 접근성만의 네이밍 제시, ARIA와 연결된 ID에 “wa_” 식의 접두사 적용
- 구성요소를 표로 제시, 필수 유무를 두어 선택 적용하도록 가이드 함
패턴
4차 산업혁명과 정보 접근성
26
필수 유무 Role Property State
필수 role=“checkbox”
필수 aria-checked
- 여러 항목 중 한 개 이상 선택할 때 사용하며 용도와 상태 및 유형 정보를 제공
- 선택 정보를 제공하는 경우, 유형 정보와 함께 '선택됨' 등의 상태 정보를 제공
[Measures 13/16] 보조 기술의 호환성 : CheckBox
CheckBox (▶) CheckBox 구성요소
클릭 시 선택/해제 동작이 반복되는 토글 형태,
여러 값을 동시에 받을 수 있는 요소
4차 산업혁명과 정보 접근성
27
필수 유무 Role Property State
필수 role=“combobox” aria-haspopup=“
listbox”
aria-expanded
선택 aria-owns, aria-controls
선택 aria-autocomplete
필수 role=“listbox”
필수 role=“option”
필수 aria-selected
- 사용자가 자동 선택 목록이 있는 컨트롤 임을 알 수 있도록 '콤보상자' 유형 정보와 옵션 '선택됨' 상태 정보
를 제공
- 인라인 텍스트 박스와 리스트 박스 2가지 요소의 조합으로 구성
[Measures 14/16] 보조 기술의 호환성 : ComboBox
인라인 텍스트 박스에 문자를 입력하면
동일한 조건의 리스트 박스 값을 팝업 형태로 제시
ComboBox 구성요소ComboBox(▶)
4차 산업혁명과 정보 접근성
28
필수 유무 Role Property State
필수 role=“menu”
필수 role=“menubar”
필수 role=“presentation”
필수 role=“menuitem”
필수 aria-current
필수 aria-haspopup=“
menu”
필수 aria-expanded
- 같은 기능의 집합으로 사용자에게 선택 목록을 제시, 메뉴 유형 정보와 현재위치 상태 정보를 제공
- 메뉴는 aria-selected 상태를 갖지 않으므로 aria-current를 통해 시각적으로 활성화된 상태 정보 제공
[Measures 15/16] 보조 기술의 호환성 : Menu or Menubar
하위 메뉴가 선택 형 메뉴 아이템을 제공하는 경우
menuitemcheckbox또는 menuitemradio를 제공
Menu(▶) Menu or Menubar 구성요소
4차 산업혁명과 정보 접근성
29
[Measures 16/16] 보조 기술의 호환성 : Menu or Menubar
Menu or Menubar 구성요소
- 일반적으로 Menu는 세로 형태, menubar는 가로 형태를 지칭
결론 ResultSession8. Contents
4차 산업혁명과 정보 접근성
31
[Result] 업무 효율을 위한 실무 가이드
사용자와 그들의 환
경
디바이스 별 도구
활용 가능한 코드
전맹 사용자, 저시력자, 색맹, 청각, 고령층
등
이미지를 제거하고 글만 읽는 경우
동일한 코드 적용 시 도구 별 다른 결과
브라우저 별 다른 결과
HTML자체 기능, WAI-ARIA, 스크립트 등
4차 산업혁명과 정보 접근성
32
개성 강한 서비스들
수 많은 예제들과 산재된 조금씩 다른 인터렉티브들
[Result]
4차 산업혁명과 정보 접근성
33
WAI-ARIA가 해결?
복잡해진 HTML
[Result]
4차 산업혁명과 정보 접근성
34
HTML 표준 및 자체 기능을 우선하며 WAI-ARIA를 활용
개발에 미치는 영향을 최소화 하면서 접근성을 포함하는 방법
브라우저 및 스크린리더를 지원하는 가이드
4차 산업혁명과 정보 접근성
35
대상 범위를 확장하여 개선하고
해결방안을 제시한 가이드를 통해 반영
감사합니다.

More Related Content

Similar to [2018널리세미나] 모바일 인앱 실무에 활용한 접근성 해결 방안​

오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례Youngjo Seong
 
Active ad 광고라이브러리 소개
Active ad 광고라이브러리 소개Active ad 광고라이브러리 소개
Active ad 광고라이브러리 소개logeo
 
Elements of user experience
Elements of user experienceElements of user experience
Elements of user experienceHyunjin Yoo
 
Web Accessibility, When you need empathy led by the market!
Web Accessibility, When you need empathy led by the market!Web Accessibility, When you need empathy led by the market!
Web Accessibility, When you need empathy led by the market!Youngil Ryu
 
HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향Jonathan Jeon
 
IoT 세상의 사업 기회와 고려 사항
IoT 세상의 사업 기회와 고려 사항IoT 세상의 사업 기회와 고려 사항
IoT 세상의 사업 기회와 고려 사항Donghyung Shin
 
Google analytics in business
Google analytics in businessGoogle analytics in business
Google analytics in businessTae Young Lee
 
A Case Study on Accessibility of Online Learning Content in Korea
A Case Study on Accessibility of Online Learning Content in KoreaA Case Study on Accessibility of Online Learning Content in Korea
A Case Study on Accessibility of Online Learning Content in KoreaGreg SHIN
 
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018승호 박
 
강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_fontYoung Choi
 
[Msd10]mobile design02
[Msd10]mobile design02[Msd10]mobile design02
[Msd10]mobile design02JY LEE
 
강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_font강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_fontYoung Choi
 
사물인터넷 강의
사물인터넷 강의사물인터넷 강의
사물인터넷 강의Daesung Yeon
 

Similar to [2018널리세미나] 모바일 인앱 실무에 활용한 접근성 해결 방안​ (15)

오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례
 
Active ad 광고라이브러리 소개
Active ad 광고라이브러리 소개Active ad 광고라이브러리 소개
Active ad 광고라이브러리 소개
 
Elements of user experience
Elements of user experienceElements of user experience
Elements of user experience
 
Web Accessibility, When you need empathy led by the market!
Web Accessibility, When you need empathy led by the market!Web Accessibility, When you need empathy led by the market!
Web Accessibility, When you need empathy led by the market!
 
HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향
 
2012 Business Platform Day
2012 Business Platform Day2012 Business Platform Day
2012 Business Platform Day
 
IoT 세상의 사업 기회와 고려 사항
IoT 세상의 사업 기회와 고려 사항IoT 세상의 사업 기회와 고려 사항
IoT 세상의 사업 기회와 고려 사항
 
Google analytics in business
Google analytics in businessGoogle analytics in business
Google analytics in business
 
A Case Study on Accessibility of Online Learning Content in Korea
A Case Study on Accessibility of Online Learning Content in KoreaA Case Study on Accessibility of Online Learning Content in Korea
A Case Study on Accessibility of Online Learning Content in Korea
 
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
 
강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font강의 개요 및 교안 2013 4차수_font
강의 개요 및 교안 2013 4차수_font
 
Digital signage 소개 자료 15 08
Digital signage 소개 자료 15 08Digital signage 소개 자료 15 08
Digital signage 소개 자료 15 08
 
[Msd10]mobile design02
[Msd10]mobile design02[Msd10]mobile design02
[Msd10]mobile design02
 
강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_font강의 개요 및 교안 2014 1차수_font
강의 개요 및 교안 2014 1차수_font
 
사물인터넷 강의
사물인터넷 강의사물인터넷 강의
사물인터넷 강의
 

More from Nts Nuli

Link branding & brand identity overview
Link branding & brand identity overviewLink branding & brand identity overview
Link branding & brand identity overviewNts Nuli
 
Link branding & brand identity overview
Link branding & brand identity overviewLink branding & brand identity overview
Link branding & brand identity overviewNts Nuli
 
[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성
[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성
[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성Nts Nuli
 
[2019널리세미나] 듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선
[2019널리세미나]  듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선[2019널리세미나]  듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선
[2019널리세미나] 듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선Nts Nuli
 
[2019널리세미나] 접근성은 별책 부록
[2019널리세미나] 접근성은 별책 부록[2019널리세미나] 접근성은 별책 부록
[2019널리세미나] 접근성은 별책 부록Nts Nuli
 
[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성
[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성
[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성Nts Nuli
 
[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성
[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성
[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성Nts Nuli
 
[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트
[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트
[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트Nts Nuli
 
[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성
[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성
[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성Nts Nuli
 
[2018널리세미나] 4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제
[2018널리세미나]  4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제[2018널리세미나]  4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제
[2018널리세미나] 4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제Nts Nuli
 
[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II
[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II
[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 IINts Nuli
 
[2017널리세미나] 네이버 접근성 진단솔루션
[2017널리세미나] 네이버 접근성 진단솔루션[2017널리세미나] 네이버 접근성 진단솔루션
[2017널리세미나] 네이버 접근성 진단솔루션Nts Nuli
 
[2017널리세미나] Accessibility at Microsoft
[2017널리세미나] Accessibility at Microsoft[2017널리세미나] Accessibility at Microsoft
[2017널리세미나] Accessibility at MicrosoftNts Nuli
 
[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성
[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성
[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성Nts Nuli
 
[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각
[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각
[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각Nts Nuli
 
[2016널리세미나] 웹 접근성 체험관을 소개합니다!
[2016널리세미나] 웹 접근성 체험관을 소개합니다![2016널리세미나] 웹 접근성 체험관을 소개합니다!
[2016널리세미나] 웹 접근성 체험관을 소개합니다!Nts Nuli
 
[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자
[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자
[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자Nts Nuli
 
[2016널리세미나] 남의 문제 나의 문제 우리의 문제
[2016널리세미나] 남의 문제 나의 문제 우리의 문제[2016널리세미나] 남의 문제 나의 문제 우리의 문제
[2016널리세미나] 남의 문제 나의 문제 우리의 문제Nts Nuli
 
[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까
[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까
[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까Nts Nuli
 
[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?
[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?
[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?Nts Nuli
 

More from Nts Nuli (20)

Link branding & brand identity overview
Link branding & brand identity overviewLink branding & brand identity overview
Link branding & brand identity overview
 
Link branding & brand identity overview
Link branding & brand identity overviewLink branding & brand identity overview
Link branding & brand identity overview
 
[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성
[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성
[2019널리세미나] 청각장애인 택시 운전기사를 위한 접근성
 
[2019널리세미나] 듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선
[2019널리세미나]  듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선[2019널리세미나]  듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선
[2019널리세미나] 듣고 말하는 서비스로 발전하는 네이버 어학사전의 접근성 개선
 
[2019널리세미나] 접근성은 별책 부록
[2019널리세미나] 접근성은 별책 부록[2019널리세미나] 접근성은 별책 부록
[2019널리세미나] 접근성은 별책 부록
 
[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성
[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성
[2019널리세미나] 비슷하지만 다른 웹과 모바일 접근성
 
[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성
[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성
[2019널리세미나] 모두를 위한 제품 및 서비스 - 구글 웹 프로덕트 및 구글 플레이의 접근성
 
[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트
[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트
[2018널리세미나] 지못미(지켜주지 못해 미안해) 마우스이벤트
 
[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성
[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성
[2018널리세미나] 모두가 쉽게 쓰는 그날까지... 함께 만드는 접근성
 
[2018널리세미나] 4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제
[2018널리세미나]  4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제[2018널리세미나]  4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제
[2018널리세미나] 4차 산업혁명에서 정보 접근성 교육 현황과 앞으로의 과제
 
[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II
[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II
[2018널리세미나] 정보 접근성 자동화 솔루션 개발 현황 및 방향 II
 
[2017널리세미나] 네이버 접근성 진단솔루션
[2017널리세미나] 네이버 접근성 진단솔루션[2017널리세미나] 네이버 접근성 진단솔루션
[2017널리세미나] 네이버 접근성 진단솔루션
 
[2017널리세미나] Accessibility at Microsoft
[2017널리세미나] Accessibility at Microsoft[2017널리세미나] Accessibility at Microsoft
[2017널리세미나] Accessibility at Microsoft
 
[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성
[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성
[2016널리세미나] 청각장애와 유니버셜 디자인 그리고 웹 접근성
 
[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각
[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각
[2016널리세미나] 사용자 경험 향상을 위한 N가지 생각
 
[2016널리세미나] 웹 접근성 체험관을 소개합니다!
[2016널리세미나] 웹 접근성 체험관을 소개합니다![2016널리세미나] 웹 접근성 체험관을 소개합니다!
[2016널리세미나] 웹 접근성 체험관을 소개합니다!
 
[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자
[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자
[2016널리세미나] 모바일애플리케이션접근성 이것만알아두자
 
[2016널리세미나] 남의 문제 나의 문제 우리의 문제
[2016널리세미나] 남의 문제 나의 문제 우리의 문제[2016널리세미나] 남의 문제 나의 문제 우리의 문제
[2016널리세미나] 남의 문제 나의 문제 우리의 문제
 
[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까
[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까
[2016널리세미나] 스크립트를 통한 접근성은 어떻게 지켜야 할까
 
[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?
[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?
[2012널리세미나] 모바일 크로스 브라우징, 그 끝은 어디인가?
 

[2018널리세미나] 모바일 인앱 실무에 활용한 접근성 해결 방안​

  • 1. 모바일 인앱 실무에 활용한 접근성 해결 방안 2018 제 6회 널리 세미나 NTS 4차 산업혁명과 정보 접근성 모바일 인앱 실무에 활용한 접근성 해결 방안 2018 제 6회 널리 세미나 NTS 4차 산업혁명과 정보 접근성
  • 2. 개요 Overview 사례 Reference 해결방안 Measures 결론 Result Session8. Contents
  • 4. 4차 산업혁명과 정보 접근성 4 [Overview 1/4] 배경 실무에서는 접근성 실태조사, 사용자 편의제공 등 다양한 배경의 접근성을 대응 그 중에서 개발에 미치는 영향을 최소화 하면서 접근성을 포함하는 방법과 접근성 사양을 구현하기 위해서 안정적이고 세부적인 가이드가 필요 NWARS모니터링지침 오류 유형 W3C명세
  • 5. 4차 산업혁명과 정보 접근성 5 [Overview 2/4] 실무 가이드 진행 프로세스 체크리스트 지침 중 우선 순이거나 반복되는 높은 유형을 선정하여 해결을 위한 기술 검수 및 세부 내용을 정리하여 배포
  • 6. 4차 산업혁명과 정보 접근성 6 [Overview 3/4] 환경분석 보이스 오버 톡 백 - 다이렉트 실행 - 로터(rotor) – 빠른 탐색 옵션 - 음성 출력 표시 - iOS VoiceOver - Android TalkBack 기능(▶) 화면 내용을 음성으로 알려주는 접근성 기능
  • 7. 4차 산업혁명과 정보 접근성 7 [Overview 4/4] 환경분석 사용자 환경 다양한 도구를 복합적으로 사용하는 사용자의 다양성 이해 점자 단말기 화면 자막 고대비 모드 안구 추적 기 기
  • 9. 4차 산업혁명과 정보 접근성 9 [Reference 1/4] 네이버 및 타사 서비스의 사례 소개 콘텐츠와 초점 위치가 다름 콘텐츠와 초점 크기가 불일치 네이버 다음
  • 10. 4차 산업혁명과 정보 접근성 10 [Reference 2/4] 네이버 및 타사 서비스의 사례 소개 선택된 메뉴 “선택됨” 상태 값 없음 구글 선택된 메뉴 “선택됨” 상태 값 없음 야후
  • 11. 4차 산업혁명과 정보 접근성 11 동일 링크 여러 초점 이 동 불필요한 중복 적용 [Reference 3/4] 네이버 및 타사 서비스의 사례 소개 뉴욕타임즈 적절하지 않은 대체 텍스 트 “발음 할 수 없음" IBM(▶)
  • 12. 4차 산업혁명과 정보 접근성 12 [Reference 4/4] 네이버 및 타사 서비스의 사례 소개 페이스북 입력 메시지 도움말이 입력 시 음성 지원 안됨 유투브 “선택됨 인기” 선택 메뉴 상태 값 탭 메뉴 순서, 개수 정보 제공
  • 14. 4차 산업혁명과 정보 접근성 14 [Measures 1/16] 대체 텍스트 (텍스트가 아닌 콘텐츠에 대체 텍스트를 제공하는가) - 적절하지 않은 대체 텍스트를 제공하는 것도 오류 - 섬네일(thumbnail)이미지 정보와 대체 텍스트를 동등하게 제공 적절하지 않는 대체 텍스트 “mnate_ad” 적절하지 않은 경 우 동등한 대체 텍스 트 이미지 정보와 다른 대체 텍스트 “다음 초기 광고”
  • 15. 4차 산업혁명과 정보 접근성 15 [Measures 2/16] 대체 텍스트 - 영어를 모르는 사용자를 배려한 한글로 제공 - 영어 콘텐츠는 영어로 제공 사용자 배려한 한글로 제 공 영어 오류 아닌 경우 영어 콘텐츠는 영어로 제공하여도 오류 아님
  • 16. 4차 산업혁명과 정보 접근성 16 [Measures 3/16] 대체 텍스트 기법 Alt Aria-label <img> <area>에 alt 요소로 이미지가 포함한 정보를 대체 텍스트로 제공 role=“img”를 선언한 경우, aria-label을 함께 제공 - Alt, ARIA를 통해 도움말이나 설명을 추가하거나 별도 텍스트가 있는 경유 alt속성은 빈 값으로 제공 빈 값
  • 17. 4차 산업혁명과 정보 접근성 17 [Measures 4/16] 대체 텍스트 기법 Aria-labelledby 사용자에게 추가적인 설명이 필요할 때 유용한 기법 Aria-describedby (▶) DOM에 있는 다른 요소 ID를 지정할 수 있는 관계 속성 관련 정보를 여러 개로 제공 가능 (aria-labelledby="name1 name2") - Alt, ARIA를 통해 도움말이나 설명 텍스트를 추가
  • 18. 4차 산업혁명과 정보 접근성 18 의미(영어) 대체 텍스트 의미(영어) 대체 텍스트 ad 광고 live 실시간 alert 경고 movie 영화 back 뒤로 가기 new 신규 calendar 달력 prev / next 이전 / 다음 delete 삭제 play 재생 etc 기타 search 검색 hot 인기 top 맨 위로, 위로 [Measures 5/16] 영어 대체 텍스트 - 한글 서비스 콘텐츠는 한글로 제공을 권장
  • 19. 4차 산업혁명과 정보 접근성 19 [Measures 6/16] 외래어 대체 텍스트 - 상용화된 외래어로 인한 한글 오류 발생을 대응 의미(외래어) 대체 텍스트 의미(외래어) 대체 텍스트 app 앱 id 아이디 capture 캡쳐 music 뮤직 / 음악 category 카테고리 open 오픈 / 열림, 펼침, 열기 click 클릭 password 패스워드 / 비밀번호 email 이메일 review 리뷰 event 이벤트 toolbar 툴바 home 홈 update 업데이트
  • 20. 4차 산업혁명과 정보 접근성 20 [Measures 7/16] 초점 - 정보를 전달하는 모든 콘텐츠에 초점을 적용 - 하나의 링크 요소에 여러 번 초점이 이동하지 않도록 한다 (불필요한 초점) 초점의 분리형 <a>요소 초점의 일체형 - 동일 링크 불필요한 초점(중 복) - block, br 요소가 초점을 분리 - Inline이 2개 이상일 때 일체화 - before나 after의 content: ‘00a0’; font-size:0; 적용 시 일체화※ 00a0란 non-breaking-space로 빈공백 유니코드
  • 21. 4차 산업혁명과 정보 접근성 21 [Measures 8/16] 초점 - 초점의 표시가 콘텐츠 위치와 크기와 일치 초점과 콘텐츠 크기 불일 치 - 초점 표시와 콘텐츠 크기가 다름 - 터치 기반 디바이스는 최소 9mm 이상 적용 초점과 콘텐츠 크기 일치 iOS는 텍스트, 이미지 기준으로 초점 크기를 갖지만 Android는 크기 관련 CSS값 만큼 갖는다.
  • 22. 4차 산업혁명과 정보 접근성 22 [Measures 9/16] 초점 - 초점이 이동하지 않게 하는 방법 (CSS, WAI-ARIA 사용 : display:none; visibility: hidden; 등) WAI-ARIA 사용한 방법 레이아웃에 영향을 주지 않고, 스크린리더의 초점이 이동하지 않음 aria-hidden=“true” 의미 없는 콘텐츠로 초점 이 적용되지 않음
  • 23. 4차 산업혁명과 정보 접근성 23 [Measures 10/16] 초점 - 초점 표시가 시각적으로 나타나야 한다(초점의 크기, 위치, 시각화) 삭제 버튼 초점이 이동하고 음성 출력은 되지만 초점 표시가 없음 보이지 않는 초점 숨김텍스트를 VIEWPORT 밖으로 위치할 때 초점이 보이지 않게 된다. 시각적 오류를 발생시키는 CSS - text-indent, line-height, position 등 - 성능 최적화 영향 줌 (렌더레이어(Graphic Layer) 크기에 주의) 초점의 시각화
  • 24. 4차 산업혁명과 정보 접근성 24 [Measures 11/16] 초점 - 초점의 논리적 순서 이동 (왼쪽에서 오른쪽으로, 위에서 아래로) 초점의 논리적 순서(▶) - 버튼 선택 후 팝업의 첫 요소로 초점 이동 - Tabindex는 모바일에서 초점 순서에 영향을 주지 않음 - 초점 순서는 Html 코드 순서 선형화 대로 이동 1 2 7 9 10 3 4 5 6 8 11 12 〓
  • 25. 4차 산업혁명과 정보 접근성 25 [Measures 12/16] 보조 기술의 호환성 : 가이드 구성 - 네이버에서 제공하는 UI에 WAI-ARIA 적용 시 동일한 코드 제공을 목적으로 함 - WAI-ARIA 1.1 권장 사용 패턴 기준 (W3C 스펙을 참고)으로 모바일 가이드를 정의 네이버 모바일 앱(웹) 보조 기술의 호환성 가이드 구성 개요 구성 요소와 코드 동영상 보기 - HTML 자체 기능을 우선 함(중복 역할 지양) - 접근성만의 네이밍 제시, ARIA와 연결된 ID에 “wa_” 식의 접두사 적용 - 구성요소를 표로 제시, 필수 유무를 두어 선택 적용하도록 가이드 함 패턴
  • 26. 4차 산업혁명과 정보 접근성 26 필수 유무 Role Property State 필수 role=“checkbox” 필수 aria-checked - 여러 항목 중 한 개 이상 선택할 때 사용하며 용도와 상태 및 유형 정보를 제공 - 선택 정보를 제공하는 경우, 유형 정보와 함께 '선택됨' 등의 상태 정보를 제공 [Measures 13/16] 보조 기술의 호환성 : CheckBox CheckBox (▶) CheckBox 구성요소 클릭 시 선택/해제 동작이 반복되는 토글 형태, 여러 값을 동시에 받을 수 있는 요소
  • 27. 4차 산업혁명과 정보 접근성 27 필수 유무 Role Property State 필수 role=“combobox” aria-haspopup=“ listbox” aria-expanded 선택 aria-owns, aria-controls 선택 aria-autocomplete 필수 role=“listbox” 필수 role=“option” 필수 aria-selected - 사용자가 자동 선택 목록이 있는 컨트롤 임을 알 수 있도록 '콤보상자' 유형 정보와 옵션 '선택됨' 상태 정보 를 제공 - 인라인 텍스트 박스와 리스트 박스 2가지 요소의 조합으로 구성 [Measures 14/16] 보조 기술의 호환성 : ComboBox 인라인 텍스트 박스에 문자를 입력하면 동일한 조건의 리스트 박스 값을 팝업 형태로 제시 ComboBox 구성요소ComboBox(▶)
  • 28. 4차 산업혁명과 정보 접근성 28 필수 유무 Role Property State 필수 role=“menu” 필수 role=“menubar” 필수 role=“presentation” 필수 role=“menuitem” 필수 aria-current 필수 aria-haspopup=“ menu” 필수 aria-expanded - 같은 기능의 집합으로 사용자에게 선택 목록을 제시, 메뉴 유형 정보와 현재위치 상태 정보를 제공 - 메뉴는 aria-selected 상태를 갖지 않으므로 aria-current를 통해 시각적으로 활성화된 상태 정보 제공 [Measures 15/16] 보조 기술의 호환성 : Menu or Menubar 하위 메뉴가 선택 형 메뉴 아이템을 제공하는 경우 menuitemcheckbox또는 menuitemradio를 제공 Menu(▶) Menu or Menubar 구성요소
  • 29. 4차 산업혁명과 정보 접근성 29 [Measures 16/16] 보조 기술의 호환성 : Menu or Menubar Menu or Menubar 구성요소 - 일반적으로 Menu는 세로 형태, menubar는 가로 형태를 지칭
  • 31. 4차 산업혁명과 정보 접근성 31 [Result] 업무 효율을 위한 실무 가이드 사용자와 그들의 환 경 디바이스 별 도구 활용 가능한 코드 전맹 사용자, 저시력자, 색맹, 청각, 고령층 등 이미지를 제거하고 글만 읽는 경우 동일한 코드 적용 시 도구 별 다른 결과 브라우저 별 다른 결과 HTML자체 기능, WAI-ARIA, 스크립트 등
  • 32. 4차 산업혁명과 정보 접근성 32 개성 강한 서비스들 수 많은 예제들과 산재된 조금씩 다른 인터렉티브들 [Result]
  • 33. 4차 산업혁명과 정보 접근성 33 WAI-ARIA가 해결? 복잡해진 HTML [Result]
  • 34. 4차 산업혁명과 정보 접근성 34 HTML 표준 및 자체 기능을 우선하며 WAI-ARIA를 활용 개발에 미치는 영향을 최소화 하면서 접근성을 포함하는 방법 브라우저 및 스크린리더를 지원하는 가이드
  • 35. 4차 산업혁명과 정보 접근성 35 대상 범위를 확장하여 개선하고 해결방안을 제시한 가이드를 통해 반영

Editor's Notes

  1. 안녕하세요. NTS 이현경 입니다. 본 세션에서는 모바일 인앱을 대상으로 실무에 활용한 접근성 해결방안을 말씀드리겠습니다.
  2. 내용은 개요(배경), 사례, 해결방안, 결론으로 구성하였습니다.
  3. 개요는 배경과 환경에 대한 내용입니다.
  4. 실무에서는 실태조사, 편의제공 등 다양한 현황에 맞춰 접근성에 대응해야 합니다. 개발에 미치는 영향은 최소화 하면서 접근성 적용을 위한 접근성 사양을 구현하기 위해 세부적인 가이드가 필요했습니다.
  5. 다음은 가이드를 진행한 프로세스입니다. 지침과 체크리스트를 확인하고 우선 순, 반복된 유형을 선정하여 오류리스트를 작성합니다. 이에 맞는 서비스 사례를 조사하고 W3C명세, 지침 등과 대조하여 확인합니다 다음은 테스트을 통해 코드화하여 샘플작업을 합니다 앞에서 나온 결과들로 해결방안이 정리되면 접근성팀의 전문가를 통해 검증을 합니다. 이후 실무자를 대상으로 배포 및 교육을 진행합니다.
  6. 가이드 진행 전 어떤 기능들을 어떻게 사용하는지 모바일 환경에 대해 살펴보았습니다. IOS는 보이스오버, 안드로이드는 톡백이라는 프로그램을 사용합니다. 이중 IOS는 빠른 탐색을 할 수 있는 로터 기능을 제공합니다. 안드로이드는 음성 안내를 출력 표시해주는 기능을 제공하고 있습니다. (잠깐 볼까요?)
  7. 사용자 환경에 대해서도 살펴보았습니다. 점자 단말기나 화면 자막 등 다양한 도구를 복합적으로 사용하고 있는 것을 알 수 있었습니다.
  8. 다음은 사례입니다. 다양한 사례를 통해 어떤 이슈들이 있는지 확인해보겠습니다.
  9. 이 장에서는 네이버 및 타사사례를 소개합니다. 좌측은 네이버 실시간 급상승으로 화살표의 초점의 크기가 일치하지 않습니다. 우측은 다음의 월드컵이미지에 초점 위치와 크기가 다른 것을 볼 수 있습니다.
  10. 구글과 야후 검색에서는 선택된 “상태 값”을 제공하지 않고 있습니다. 선택된 것인지 현재위치인지 구분이 어렵습니다.
  11. 좌측은 동일링크에 초점이 여러번 이동하여 불필요하게 중복 적용이 된 경우이며, 우측은 적절하지 않은 대체 텍스트를 제공한 잘못된 경우입니다. (영상클릭)
  12. 다음은 입력 창에 텍스트 입력시, 입력에 대한 도움말을 음성으로 제공하지 않는 경우입니다. 유투브는 선택된 상태 값과 전체 탭의 개수 정보인 3개 중에 2번째라고 제공하고 있어, 탭이라는 유형과 상태정보를 알 수 있는 경우였습니다.
  13. 앞에서 여러 사례를 봤는데요 다음은 그에 대한 몇가지 해결방안들을 보겠습니다.
  14. 대체텍스트는 텍스트 콘텐츠가 아닌 곳에 대체 텍스트를 제공하는 것을 말합니다. 이 외에도 적절하지 않은 대체 텍스트이거나 섬네일 이미지와 동등한 정보를 제공하지 않는 경우는 오류가 됩니다. 좌측의 배너는 mnate_ad라는 적절하지 않은 대체텍스트를, 우측은 분양광고의 내용과 동등하지 않은 대체 텍스트가 적용되었습니다.
  15. 다음은 영어 대체 텍스트입니다. 한글 서비스 경우, 영어를 모르는 사용자들을 배려해서 한글로 제공해주는 것이 좋겠습니다. ‘Delete버튼’이 아니라 ‘삭제버튼’으로 제공합니다. 그러나 영어 콘텐츠 경우는 영어로 제공해도 오류는 아닙니다.
  16. 다음은 앞서 본 대체 텍스트에 대응할 방법들 입니다. 대체 텍스트는 alt, aria를 통해 도움말이나 설명을 추가할 수 있습니다. 웹툰 배너와 대체텍스트가 동등하게 제공되고 있습니다. 아래는 별도 텍스트가 있기 때문에 alt를 빈값으로 제공 있습니다. 오류는 아닙니다. aria-label도 좋은 방법 중 하나인데요. 단, 현재까지는 role을 선언하거나 클리커블한 요소에서만 음성이 지원되는 것을 확인 할 수 있었습니다. 또한 버튼에 자체 텍스트와 aria-label이 모두 있는 경우, 네이티브 레이블을 무시하여 aria-label값만 사용하는 것을 확인 할 수 있었습니다.
  17. 다음은 관련정보를 연결하여 지원하는 관계 속성들 입니다. Aria-labelledby는 DOM에 있는 ID를 지정해서 관련정보를 제공해줍니다. 관련정보를 여러 개로도 제공할 수 있습니다. Aria-describedby는 추가적인 설명이 필요할 때 유용한 기법입니다. (영상클릭) 빨간색 도움말이 해당합니다.
  18. 다음은 영어 대체 텍스트를 표로 구성한 목록입니다. back은 뒤로가기, hot보다는 인기로, new는 신규로 하는 것이 좋겠습니다.
  19. 다음은 상용화된 외래어 입니다. 외래어도 역시 한글서비스라면 한글로 제공하는 것이 좋겠지요. APP은 앱으로, ID는 아이디로, open은 오픈, 열림으로 password는 패스워드, 비밀번호로 제공해주면 좋겠습니다.
  20. 다음은 초점입니다. 정보를 전달하는 모든 콘텐츠에는 초점이 적용되야 합니다. 하나의 링크에 여러 번 초점이 이동하는 것은 중복적용으로 오류이기 때문에 블럭된 형태로 묶어서 제공해주는 것이 좋습니다. 이 경우 Block이나 br태그는 초점을 분리시킵니다. 때문에 블럭된 일체화를 위해서 인라인 요소를 2개이상으로 적용하거나 가상요소의 content에 논브레이킹스페이스 유니코드를 적용하면 블럭 형태가 됩니다.
  21. 다음은 초점의 위치와 크기에 관한 것입니다. 좌측을 보시면 화살 모양에 초점이 매우 작게 잡힌 것을 볼 수 있습니다. 이때 터치 기반 디바이스는 최소 9mm이상이 되로독 적용해야 합니다. IOS는 텍스트, 이미지 기준으로 초점이 크기를 갖지만, 안드로이드는 크기 관련 CSS값으로 적용해주면 됩니다.
  22. 초점은 모든 콘텐츠에 적용해야 하지만, 의미없는 콘텐츠의 경우는 다릅니다. 레이아웃에 영향을 주지 않고 스크린리더의 초점이 이동하지 않는 방법으로 Aria-hidden=“true”가 있습니다. 이 외 dispaly:none;, visibility:hidden;, 백그라운드이미지를 적용하는 방법도 있습니다.
  23. 다음은 초점의 시각화입니다. 음성으로는 들리는데 화면상에서 초점이 보이지 않는 경우 입니다. 이 경우 숨김 텍스트를 뷰포트 밖으로 위치시켜 보이지 않는 것인데요. text-indent, line-height, position 등을 적용한 경우 입니다. 이는 성능 최적화에도 영향을 주기때문에 지양하는 것이 좋습니다. (렌더레이어(Graphic Layer) 크기에 주의)
  24. 초점의 논리적 순서입니다. 왼쪽에서 오른쪽으로 위에서 아래로 순서적으로 이동하도록 합니다. (영상클릭) 콘텐츠 순서에 맞게 순서적으로 이동 이때 Tabindex는 모바일에서 영향을 주지 않기 때문에 HTML 코드 순서에 맞게 구성하는 것이 좋습니다.
  25. 다음은 보조기술 호환성입니다. 네이버에서 제공하는 UI에 WAI-ARIA를 동일한 코드로 제공하는 것을 목적으로 하고 있습니다. W3C 권장 사용 패턴을 기준으로 모바일 가이드를 정의하였습니다. HTML 자체기능을 우선으로 하며, 개발과의 혼선을 주지 않기 위해 접근성만의 네이밍을 제시합니다. ARIA와 연결된 ID에 “00_” 형식의 접두사를 적용하는 것입니다. ARIA의 역할, 속성, 상태를 구성요소 표로 제시하여 필수유무에 따라 선택 적용하도록 하였습니다.
  26. 체크박스입니다. 체크박스는 여러 항목 중 한 개 이상 선택할 때 사용하며, 용도, 상태값, 유형정보를 제공해야 합니다. 구성표를 보시면 role="checkbox" 상태 정보는 aria-checked로 선택됨을 확인할 수 있도록 상태값을 제공합니다. (영상클릭) 유형과 선택된 상태정보를 알 수 있습니다.
  27. 콤보 박스는 인라인 텍스트 박스와 리스트 박스 2가지 요소의 조합으로 구성한 것을 말합니다. 사용자가 자동 선택 목록이 있음을 알도록 유형 정보와 옵션에서 선택된 상태정보를 제공해야 합니다. 구성표를 보면 role="combobox", 하위 리스트박스가 있음을 알리기 위해 aria-haspopup="listbox"의 명시적인 값을 적용합니다. aria-owns, aria-autocomplete 관계 속성과 자동 서식을 나타내는 속성으로 선택사항 입니다. 리스트에 role="listbox" 옵션에 선택 상태를 알리기 위해 aria-seleted를 적용합니다. (영상 클릭)
  28. 다음은 메뉴입니다. Menu는 같은 기능의 집합으로 사용자에게 선택 목록을 제공합니다. Menu는 aria-selected 상태를 갖지 않기 때문에, aria-current를 통해 시각적으로 활성화된 “현재 위치”를 나타내야 합니다. (영상클릭) 구성요소는 role에 menu를 메뉴항목에는 menuitem을 적용합니다. 여기에 aria-current로 현재위치를 나타내고 하위 메뉴가 있다면 aria-haspopup=“menu”라는 명시적인 값을 줍니다. 하위 메뉴가 선택 형인 경우가 있는데요, 여기에는 menuitemcheckbox또는 menuitemradio를 제공합니다. (링크클릭)
  29. 일반적으로 Menu는 세로 형태, menubar는 가로 형태로 생각하시면 됩니다.
  30. 지금까지 여러 사례를 통한 해결방안 가이드를 보았습니다.
  31. 저희는 업무 효율을 위해 가이드를 제작했습니다. 그전에 사용자와 그들의 환경을 보았구요. 전맹사용자, 저시력자, 색맹, 고령층 다양한 사용 범위를 알게 되었습니다. 디바이스별로 동일한 코드를 사용해도 다르게 노출되는 결과를 보여주는 어려움도 겪었습니다. W3C명세를 통해 HTML의 표준을 우선하며 WAI-ARIA, Script를 접목해야 했습니다.
  32. 수 많은 예제와 조금씩 다른 인터렉티브들이 산재했습니다.
  33. WAI-ARIA가 답이라고 생각하고 테스트를 진행했지만,,,, 아직은 모든 기능을 지원하지는 않습니다.
  34. 이러한 현황에서 접근성팀과 실무진으로 모바일 접근성 TF팀을 구성하였고 사례와 테스트를 수차례 진행하면서 실무에는 최적화되고, 개발에는 최소화의 영향을 주며, 접근성을 포함하는 해결방안을 정리하였습니다. 그리고 접근성팀 전문가들을 통해 검증된 내용을 가이드 하였습니다.
  35. 이전의 접근성 대응은 전맹, 청각 사용자에게 치중되어 있었다면 현 가이드는 저시력자, 색맹, 고령층 등 소수이거나 다양한 사용자를 대상으로 그 범위를 넓혔습니다. 또한 W3C명세, 지침, 스크린리더 기능들이 계속 업데이트 되고 있기 때문에 저희는 주기적인 모니터링과 NWARS를 통한 이슈 체크 등 해결방안을 계속 적용해 나갈 것 입니다.
  36. 감사합니다.