cleanUrl: /programming/accessibility-is-not-about-supporting-blind-people/

모바일 앱에서 접근성을 지원한다고 했을 때, 많은 분들이 시각장애인 지원을 가장 먼저 떠올립니다. 이는 자연스러운 일이라고 생각해요. 하지만 주의를 기울이지 않으면 아주 쉽게 “접근성 지원 == 시각 장애인 지원”이라는 등식이 머리에 새겨지는 경우도 있는 것 같습니다. 하지만 사실은 결코 그렇지 않습니다. 접근성을 고려해 앱을 만드는 일은 시각장애인 뿐만이 아닌, 모든 장애인 그리고 모든 비장애인을 위한 일입니다.

이번 글에서는 VoiceOver 지원을 넘어서, 우리가 모바일 앱의 접근성을 높이기 위해 어떤 노력을 기울일 수 있는지, 그리고 기울여야 하는지에 대해 알아보도록 하겠습니다.

저데이터모드 대응하기

iOS13에서는 저데이터모드라는 기능이 추가되었습니다. 특정 네트워크 환경에서는 최대한 적은 데이터를 쓰고싶다는 유저의 의지를 개발자가 인지 할 수 있도록 한 내용이지요.

유저가 이 옵션을 사용중인지의 여부는 여러가지 방법으로 알 수 있습니다. 대응할 수 있는 방법들도 간단합니다. 이미지 요청을 할 때 가급적 저해상도 이미지를 요청하거나, 아예 요청을 하지 않고 플레이스홀더 이미지를 사용하는등의 방법도 있고, 유저가 명시적으로 실행시키지 않은 네트워크 요청들을 제한하는 방법들도 있습니다.

그런데 여기서 아마 많은 분들이 저데이터모드에 대응하는 게 좋은 것은 알겠는데, 그게 접근성과 무슨 상관이 있지? 이건 일반 사람들한테도 모두 적용되는 내용이 아닌가? 라는 의문을 떠올리셨을 것이라고 생각합니다. 맞습니다. 저데이터모드를 지원하는 것은 “모든 “사람들이 더 편하게 앱을 쓸 수 있도록 만드는 일입니다.

아주 많은 분들이 쉽게 오해하시는데, “접근성을 지원한다”는 것은 결코

이 아닙니다. 접근성 지원은 “모든 사람들”이 앱을 편하게 쓸 수 있도록 하는 일입니다. 거꾸로 말해, 장애, 성별, 경제적 계급, 거주하는 지역등의 여러 조건들로 인해 차별을 받지 않을 수 있도록 돕는 일입니다. 예컨대 저데이터모드를 지원하는 일은, 네트워크환경이 좋지 않은 시골에서도 유저가 앱이 제공하는 중요 정보에 접근 할 수 있도록 돕는 일입니다.

Video Auto Play

iOS13의 손쉬운 사용에서는 “비디오 미리보기 자동 재생”여부를 켜고 끌 수 있는 기능이 추가되었습니다. 넷플릭스와 같은 앱들은 사용자의 스크롤이 멈췄을 때 자동으로 예고편등을 재생시키는데요, 이는 순식간에 적지않은 데이터를 소모할 뿐만 아니라, 특정 인지장애가 있으신 분들에게는 앱을 사용하기 어렵게 만드는 요소가 될 수도 있습니다.

유저가 비디오 미리보기 자동재생을 껏는지의 여부는UIAccessibility.isVideoAutoplayEnabled 을 통해서 알 수 있습니다. 이 속성을 활용하면 자동재생을 실행시키는 로직의 코드를 다음과 같이 수정 할 수 있겠습니다.

func main() {
    let shouldPlayVideo: Observable<Bool> =
        scrollView.rx
         .didFinishScrolling
         .filter { _ in UIAccessibility.isVideoAutoplayEnabled }
}

UISearchController

테이블뷰를 구현 할 때 무한스크롤링을 구현한다 라는 표현을 종종 쓰곤 합니다. 그 만큼 테이블뷰나 컬렉션뷰에는 무한히 많은 정보가 들어갈 수 있습니다. 이 수많은 정보들 중에서 내가 필요로 하는 정보를 가장 빠르게 찾을 수 있는 방법이 뭐가 있을까요? 바로 검색입니다.

이런 검색기능은 비장애인에게도 매우 유용하지만, VoiceOver 유저들에게는 사실 훨씬 더 중요합니다. 비장애인은 한 눈에 화면을 훑어서 그 화면에 필요한 정보가 없으면 바로 스크롤을 진행 할 수 있지만, VoceOver유저들은 어떤 셀에 필요한 정보가 있을지 알기 어렵기 때문에 모든 셀을 하나 하나 확인해봐야 하는 경우가 많습니다.

이 때 만약 해당 테이블뷰에 UISeaerchController를 활용한 검색기능이 추가되어 있다면, 다음 영상과 같이 아주 손쉽게 필요한 정보를 확인 할 수 있습니다.

UISearchController는 그 사용법이 매우 쉽기도 하지만, 문서화도 매우 잘 되어있고 공식 샘플프로젝트도 잘 정리되어 있습니다. 간단한 수정으로 장애인과 비장애인 모두에게 큰 임팩트를 끼칠 수 있는 UISearechController를 적극 활용합시다!