안녕하세요. 야무입니다. 세션 3번째 시간 “WCAG 2.1 Reflow 성공 기준에 대응하는 우리들의 자세“ 발표를 시작하겠습니다. 지난 2018년 6월 5일. 그러니까… 약 1년 전에 WCAG 2.0을 보완하는 2.1 공식 권고안이 발표되었습니다. 2008년 WCAG 2.0 권고안이 발표된 지 약 10년 만의 일입니다. 눈 부신 기술의 발전 속도에 비해, 현저하게 더딘 10년 만의 업그레이드 소식은 다소 아쉽습니다. 아쉬움을 전하긴 했지만, 사람을 위한 보다 나은 접근성 향상 방법이 공식화 되고, 서비스를 제작하는 이들에게 가이드를 제시한다는 점은 분명 반가운 소식입니다. WCAG 2.1 웹 콘텐츠 접근성 지침 문서(웹)는 https://www.w3.org/TR/WCAG21/ 에서 볼 수 있습니다. WCAG 2.1은 2.0 버전 내용을 포함하는 Super Set(상위 집합) 입니다. 즉, 2.0 내용은 변경 없고 새로운 성공 기준이 추가된 버전입니다. 이미 2.0 내용을 잘 알고 있는 분들은 2.1 문서 내용을 모두 읽기 보다는 새롭게 추가된 내용만을 모아 제공하는 문서를 읽는 것이 좋습니다. What’s New in WCAG 2.1 https://www.w3.org/WAI/standards-guidelines/wcag/new-in-21/ WCAG 2.1에 새롭게 추가된 성공 기준은 모바일, 저시력, 인지/학습 장애 접근성을 개선합니다. 모바일 8개, 저시력 5개, 인지/학습 장애 4개 총 17개의 성공 기준이 추가되었습니다. WCAG 2.1의 적합성 수준별 성공기준은 서로 다른 상황의 요구 사항을 충족시키기 위해 3가지 적합성 수준(A, AA, AAA)으로 분류됩니다. A는 최소 수준의 적합성으로 광범위한 접근성 준수를 달성하기는 어렵습니다. AA는 가장 일반적인 수준의 적합성으로 대부분의 법률/공식 요구사항으로 준수를 권장합니다. AAA는 어려운 수준의 적합성으로 구현하기 쉽지 않고, 비교적 많은 시간과 노력이 요구됩니다. WCAG 2.0과 WCAG 2.1의 변경 사항을 비교한 표입니다. 간단하게 변경사항을 요약하면 1개의 지침과 17개의 성공 기준이 추가 되었습니다. 그림 대신 실제 표를 통해 내용을 확인할 분들은 https://bit.ly/wcag2vs21로 접속해서 내용을 확인하세요. 이 시간에 WCAG 2.1의 변경 사항을 모두 살펴보기는 어렵습니다. 앞으로 남은 시간도 얼마 없으니까요. 이제 본론으로 들어가겠습니다. 새롭게 추가된 WCAG 2.1의 17개의 성공 기준 중 우리가 살펴 볼 것은 1.4.10 리플로우(Reflow) 입니다. WCAG 2.1 공식 권고안 Reflow 성공 기준 입니다. 저 시력 장애로 힘들어 하는 이들에게 도움을 주기 위해 고안된 이 성공 기준의 적합성 수준은 AA 입니다. Success Criterion 1.4.10 Reflow https://www.w3.org/TR/WCAG21/#reflow Reflow 성공 기준 원문 내용을 살펴보면 콘텐츠는 정보나 기능의 손실 없이 양 방향(수직/수평)으로 스크롤 되지 않도록 제공되어야 한다고 명시되어 있습니다. 수직 방향으로 스크롤 되는 콘텐츠의 경우, 너비(width) 기준을 320px로 잡았을 때 수평 방향으로 스크롤 바가 생기면 안 된다는 것입니다. 반대로 수평 방향으로 스크롤 되는 콘텐츠는 높이(height) 기준을 256px로 잡았을 때 수직 방향으로 스크롤 바가 생기면 안됩니다. 여러분의 이해를 돕기 위해 그림을 살펴봅시다. 데스크탑 웹 사이트를 사용자가 브라우저 화면 확대 기능(Ctrl + Plus, Minus 키)을 사용해 최대 400%까지 확대 했을 때 한 쪽 방향이 아니라, 양 쪽 방향 모두 스크롤 바가 생기지 않도록 서비스를 제작해야 한다는 성공 기준이 Reflow 입니다. 여러분! 질문 입니다. 왜? 400% 까지 확대를 기준으로 든 것일까요? 힌트를 드리면 CSS 픽셀 입니다. Understanding Success Criterion 1.4.10: Reflow - Viewing distance and display resolution https://www.w3.org/WAI/WCAG21/Understanding/reflow.html#viewing-distance-and-display-resolution 간단히 말해서 각 장치는 픽셀 농도가 각기 다릅니다. 디스플레이 기술이 발전함에 따라 동일한 크기의 물리적 공간에 픽셀 개수를 더 많이 넣을 수 있게 되었습니다. 픽셀 농도(density)는 배율(ratio)로 구분하는데 1x, 2x, 3x 처럼 픽셀 농도가 커질 수록 배율 또한 높아집니다. 즉, 배율이 클 수록 픽셀이 촘촘합니다. 이러한 변화(기술적, 환경적)에 따라 설계(Design) 방법 또한 변화해왔습니다. 특히 디자이너가 만들어 내는 에셋은 비트맵(JPG, PNG 등) 포멧이 일반적인데 비트맵 이미지 포멧은 앞서 이야기 한 픽셀 밀도에 영향을 받습니다. 그러므로 비주얼 디자인(예: 아이콘, 로고 등) 시 픽셀 밀도를 고려해야 합니다. 예를 들어 10을 기준으로 하는 디자인은 3배율 픽셀 밀도를 가진 장치에서 30px로 처리되어야 합니다. 반면 CSS, SVG와 같은 포멧은 픽셀 밀도에 전혀 영향을 받지 않습니다. 즉, CSS에서 사용하는 단위는 장치의 픽셀 밀도와 무관하게 독립적으로 사용 가능한 단위가 됩니다. 쉽게 말해 앞서 그림에서 10에 해당 됩니다. 실제 사용 시에는 10px 단위로 쓰지만, 장치 독립적이기에 3배율 픽셀 밀도를 가진 장치에서 30px로 처리가 되는 것입니다. 이런 이유로 Reflow 성공 기준의 단위는 CSS 기준인 것입니다. ※ 참고로 iOS 앱은 장치 독립적인 단위로 pt를, Android 앱은 dp 단위를 사용합니다.