모바일 웹 어플리케이션...
-
Upload
eun-cho -
Category
Technology
-
view
1.143 -
download
2
Transcript of 모바일 웹 어플리케이션...
모바일 웹 어플리케이션 접근성
조 은
NHN Technology ServicesUIT Development Office
http://techhtml.org
모바일 웹
모바일 웹 접근성
모바일 웹 접근성 지침
모바일 웹 접근성 지침
모바일 앱 접근성 지침한국형 웹 콘텐츠 접근성 지침
모바일 앱 접근성 지침한국형 웹 콘텐츠 접근성 지침
하던 것만 잘 지켜도…
하던 것만 잘 지켜도…그러나
포인터 터치
화면제어
모바일 앱 접근성 지침한국형 웹 콘텐츠 접근성 지침
모바일 웹 어플리케이션 모범사례+
한국형 웹 콘텐츠 접근성 지침모바일 웹 어플리케이션 모범사례+
널리 모바일 웹 접근성 체크리스트
http://nuli.nhncorp.com/accessibility/nwcag/checklist
WAI-ARIAW3C Recommendation
요소에 역할, 상태, 속성을부여하자
요소에 역할을부여하자
<ul> <li><a href=“#webtoon”>뿜/웹툰</a></li> <li><a href=“#videos”>동영상</a></li> <li><a href=“#app”>앱/게임</a></li></ul>
<section id=“webtoon”> <h1 class=“blind”>뿜/웹툰</h1></section>
<section id=“videos”> <h1 class=“blind”>동영상</h1></section>
<section id=“app”> <h1 class=“blind”>앱/게임</h1></section>
<ul> <li><a href=“#webtoon”>뿜/웹툰</a></li> <li><a href=“#videos”>동영상</a></li> <li><a href=“#app”>앱/게임</a></li></ul>
<section id=“webtoon”> <h1 class=“blind”>뿜/웹툰</h1></section>
<section id=“videos”> <h1 class=“blind”>동영상</h1></section>
<section id=“app”> <h1 class=“blind”>앱/게임</h1></section>
<ul> <li><a href=“#webtoon”>뿜/웹툰</a></li> <li><a href=“#videos”>동영상</a></li> <li><a href=“#app”>앱/게임</a></li></ul>
<section id=“webtoon”> <h1 class=“blind”>뿜/웹툰</h1></section>
<section id=“videos”> <h1 class=“blind”>동영상</h1></section>
<section id=“app”> <h1 class=“blind”>앱/게임</h1></section>
<ul> <li><a href=“#webtoon” role=“tab">뿜/웹툰</a></li> <li><a href=“#videos” role=“tab">동영상</a></li> <li><a href=“#app” role=“tab">앱/게임</a></li></ul>
<section id=“webtoon” role=“tabpanel”> <h1 class=“blind”>뿜/웹툰</h1></section>
<section id=“videos” role=“tabpanel”> <h1 class=“blind”>동영상</h1></section>
<section id=“app” role=“tabpanel”> <h1 class=“blind”>앱/게임</h1></section>
Role의 4가지 카테고리
Role의 4가지 카테고리
Document Structure Roles
Abstract RolesWidget Roles
Landmark Roles
Role의 4가지 카테고리Abstract Roles
온톨로지를 위해 사용하는 역할입니다.콘텐츠에 사용해서는 안됩니다.
Role의 4가지 카테고리
Widget Roles위젯에서 사용하는 유저 인터페이스를 나타낼 때 사용합니다.
Role의 4가지 카테고리
문서의 구조를 나타낼 때 사용합니다.
Document Structure Roles
Role의 4가지 카테고리
페이지의 네비게이션을 나타낼 때 사용합니다.
Role의 4가지 카테고리
페이지의 네비게이션을 나타낼 때 사용합니다.
Landmark Roles
Ajax 접근성
페이지 일부분을 업데이트하기 위한정보를 서버에 바로 요청
사용자 입력 값의 유효성 검사에 용이
이 때 동적 변경 영역을Live Region이라 합니다
스크린리더에 따라 못 읽어 줄 수도 있다.
AJAX의 단점을 해결할 4개의 속성들
aria-busy (state)
aria-livearia-atomic
aria-relevant
AJAX의 단점을 해결할 4개의 속성들
AJAX의 단점을 해결할 4개의 속성들aria-live
콘텐츠가 업데이트 될 때 그 내용을r 보조기기에 알려주는 시점을 결정합니다.
<ul> <li><strong>아이유</strong></li> <li><strong>아이유</strong> 봄사랑벚꽃말고</li> <li><strong>아이유</strong> 단발</li> <li><strong>아이유</strong> 은혁</li> <li><strong>아이유</strong> 다이어트</li></ul>
aria-live=“polite”
aria-live=“off”
aria-live=“assertive”
<ul aria-live=“polite”> <li><strong>아이유</strong></li> <li><strong>아이유</strong> 봄사랑벚꽃말고</li> <li><strong>아이유</strong> 단발</li> <li><strong>아이유</strong> 은혁</li> <li><strong>아이유</strong> 다이어트</li></ul>
업데이트를 알리지 않음
입력이 끝나면 전달
업데이트가 발생하면 바로 전달
(default)
aria-atomic콘텐츠가 업데이트 될 때i
변경된 요소만 알려줄 지 모두를 알려줄 지 결정합니다.
AJAX의 단점을 해결할 4개의 속성들
aria-atomic=“false”
aria-atomic=“true”
<ul aria-live=“polite” aria-atomic=“true”> <li><strong>아이유</strong></li> <li><strong>아이유</strong> 봄사랑벚꽃말고</li> <li><strong>아이유</strong> 단발</li> <li><strong>아이유</strong> 은혁</li> <li><strong>아이유</strong> 다이어트</li></ul>
모든 내용을 알림
업데이트 되는 요소만 알림
(default)
aria-busy (state)Live Region 내의 요소가i
업데이트를 진행 중인지 여부를 결정합니다.
AJAX의 단점을 해결할 4개의 속성들
aria-busy=“false”
aria-busy=“true”
<ul aria-live=“polite” aria-busy=“true”> <li><strong>아이유</strong></li> <li><strong>아이유</strong> 봄사랑벚꽃말고</li> <li><strong>아이유</strong> 단발</li> <li><strong>아이유</strong> 은혁</li> <li><strong>아이유</strong> 다이어트</li></ul>
Live Region은 여전히 업데이트 되고 있습니다.
Live Region에 더 이상 업데이트 할 것이 없습니다.
(default)
aria-relevant
Live Region의 내용이 변경 될 때i어떤 변경유형을 감시해서 알려줄 지 결정합니다.
AJAX의 단점을 해결할 4개의 속성들
aria-relevant=“removals”
aria-relevant=“additions”
aria-relevant=“text”
<ul aria-live=“polite” aria-relevant=“additions”> <li><strong>아이유</strong></li> <li><strong>아이유</strong> 봄사랑벚꽃말고</li> <li><strong>아이유</strong> 단발</li> <li><strong>아이유</strong> 은혁</li> <li><strong>아이유</strong> 다이어트</li></ul>
Region 내의 DOM에 요소가 추가되었을 때
Region 내의 DOM에 요소가 삭제되었을 때
요소의 콘텐츠가 변경되었을 때
aria-relevant=“all”위의 세가지 조건 모두 감시
(default)
(default)
그러나
WAI-ARIA는보조하는 기술일 뿐,
그게 주가 되어서는 안된다.
결론
힘들다고 주저말고귀찮다고 포기말고
하던대로 열심히
감사합니다.