본문 바로가기
Design/HIG

[HIG] Accessibility (접근성)

by Callie_ 2024. 8. 4.

 

실용적인 앱을 만들려면 무엇을 공부하고 고려해야 할지 고민하다가, 언젠가 봐야겠다고 생각했던 애플의 Human Interface Guidelines (HIG)접근성(Accessibility) 문서를 파고들어 정리해 보았다. 단순히 문서를 읽고 이해한 대로 정리한 것이지만, 공식 가이드를 전체적으로 살펴보는 것이기에 매우 의미 있는 작업이라 생각한다.

 

최근 회사 새 프로젝트에 참여하면서 기획이나 디자인 단계에서 iOS 구현 가능 여부를 팀과 논의해야 할 때가 종종 있는데, 직접 구현해 보기 전까지는 나 역시 잘 모를 때가 있어 앞으로 이런 상황에서 큰 도움이 될 것이라 기대한다.

 

특히 이번에 정리하면서 텍스트 파트에서 많은 것을 배웠다. 개인 앱 업데이트 시 내가 놓쳤던 부분들을 다시 한번 고려해봐야겠다.

 

 


 

모두를 위한 개인화: 접근성

애플의 접근성 기능은 사람들이 애플 기기를 사용할 때 각자의 상황에 맞춰 개인화된 편리함을 제공한다. 접근성은 단순히 '장애'를 가진 사람만을 위한 것이 아니다. 대략 7명 중 한 명이 장애를 가졌을 뿐만 아니라, 사람들은 선천적 장애 외에도 일상에서 정도의 차이는 있지만 일시적인 장애나 불편을 겪을 수 있다. 애플의 접근성 개인화는 이러한 개인의 조건이 기기 사용에 미치는 영향을 최대한 줄이고자 한다.

 

접근성 디자인 모범 사례

애플은 다음과 같은 항목을 접근성 모범 사례로 명시했다.

  • 접근성을 고려한 디자인: 접근성은 단순히 장애를 가진 사람만 사용할 수 있게 하는 것을 넘어, 어떤 장애나 상황과도 상관없이 '모든' 사람이 사용 가능하도록 하는 것이 애플이 지향하는 목표다. 접근성을 고려한 디자인은 간단함과 인지 가능성을 최우선으로 한다. 이는 각 요소가 장애나 개인 상황으로 인해 기기와 일반적인 방식으로 상호작용하기 어려운 사람들을 소외시키지 않음을 검증하는 디자인을 의미한다.
    • 간단함: 복잡한 작업을 간단하고 직관적으로 수행할 수 있도록, 익숙하고 일관된 상호작용을 지원해야 한다.
    • 인지 가능성: 시각, 청각, 촉각 등에 구애받지 않고 디자인된 모든 요소를 인지할 수 있어야 한다.
  • 개인화 지원: 사람들은 이미 기기 구매 및 사용 시 취향, 화면 사이즈, 해상도, 색상 영역 등의 개인화 경험을 한다. 이러한 경험을 개인의 상황이나 기기 환경에 영향받지 않고 즐길 수 있도록 디자인해야 한다.
  • 앱 감사 및 테스트 진행: 접근성 테스트를 꾸준히 진행하여 접근성을 고려한 사용자 경험을 더욱 안정적으로 개선할 수 있다.

 

 

 


 

상호작용 (인터랙션)

VoiceOver, AssistiveTouch, Pointer Control, Switch Control 같은 보조 기술은 사람들이 기기와 상호작용할 수 있는 방법을 확장시켜준다. 이러한 보조 기술들은 시스템에서 제공하는 상호작용 방식을 통합하여 사용되므로, 개발자는 올바른 방식으로 시스템 상호작용을 지원하는 것이 매우 중요하다.

 

제스처

  • 제스처 덮어쓰기는 금지: 시스템을 작동시키는 제스처가 사용 중인 앱의 제스처와 겹쳐져 사용에 방해가 돼서는 안 된다. 예를 들어, 어떤 앱을 사용하든 아래로 스와이프하면 알림 센터가 나와야 한다.
  • 최대한 간단하게: 일반적인 상호작용 시에는 간단하고 최소화된 제스처를 권장한다. 여러 손가락 터치, 오래 누르기 등 복잡한 제스처를 요구할 경우 많은 사람이 이용에 어려움을 겪을 수 있으므로 지양해야 한다.
  • 제스처 대안 방안 제공: 제스처로 제공되는 기능이 있다면, 제스처를 사용하지 않고도 기능을 사용할 수 있는 대안을 제시해야 한다. 예를 들어, 리스트 항목에서 왼쪽으로 스와이프하여 삭제할 수 있다면, 스와이프 없이도 삭제할 수 있는 방법(편집 모드나 삭제 버튼)을 제공해야 한다.
  • 앱의 주요 기능 접근에 한 가지 방식 이상의 물리적 상호작용 제공: 카메라 앱에서 사진을 찍을 때 화면을 탭하거나 볼륨 버튼으로 찍을 수 있는 것처럼, 한 가지 이상의 방식을 제공하여 약한 악력 등으로 사용할 수 없는 사람들도 주요 기능을 사용할 수 있도록 지원해야 한다.
    • 추가적으로 VoiceOver, Dwell Control, Switch Control 또는 드래그 앤 드롭 기능에 대해 더 알아볼 필요가 있을 경우 애플 문서를 다시 확인하는 것이 좋다.

 

버튼과 컨트롤

  • Hit Target 영역은 충분한 크기로: 터치스크린에서 필요한 최소 터치 영역(Hit Target) 크기는 44 x 44pt이다.
  • 커스텀 요소의 접근성 특징화: 시스템 API를 사용하여 해당 컴포넌트가 어떻게 동작하는지 보조 기술이 사용자에게 알려줄 수 있도록 특징화해야 한다.
  • 버튼의 중요도와 스타일 일관성 유지: 가장 중요한 액션을 수행하는 버튼은 시각적으로 채워진 스타일을 사용하여 강조하고, 덜 중요한 액션을 수행하는 버튼은 회색이나 일반적인 스타일을 적용하는 등, 버튼을 보는 것만으로도 해당 버튼의 액션과 중요도를 사용자가 쉽게 알 수 있도록 일관된 스타일을 유지해야 한다.
  • 시스템에서 제공하는 스위치 구성 사용 권장: SwiftUI와 같이 애플 시스템에서는 이미 스위치(토글)의 상태를 손잡이(knobs)와 색 채우기 등으로 표시한다. 여기에 텍스트를 추가하면 일부 사용자의 상태 인식을 더 명확하고 쉽게 할 수 있다. 시스템 스위치를 사용하면 자동으로 'on/off' 상태가 표시되어 접근성을 높일 수 있다.
  • 링크에 색상 외 시각적 요소 추가: 색상만으로 링크를 구별하려 하면 색맹과 같이 인지에 어려움이 있는 사람들이 구분하기 힘들다. 따라서 시각적 요소에 밑줄 등을 추가하는 것이 좋다.

 

사용자 입력

  • 음성 입력 지원: 텍스트 필드에 음성 입력 버튼을 추가하여 사용자가 음성 입력을 선호하는 방식으로 사용할 수 있도록 해야 한다. 커스텀 키보드를 제공하고 있다면 음성 입력 기능을 추가했는지 확인해야 한다.
  • Siri 및 단축어 지원: 음성으로 사용자 입력 시 Siri나 단축어 지원을 고려해야 한다.
  • 일반 텍스트 선택 허용: 가능하다면 사용자가 번역이나 정의를 확인하기 위해 일반 텍스트 선택을 막지 않아야 한다.
  • 햅틱 피드백 지원: 화면을 볼 수 없는 많은 사용자가 햅틱 기능을 활용하고 있으므로, 시스템에서 정의한 햅틱 기능을 제공할 수 있다면 지원해야 한다. 

 

 

 


 
 
 

텍스트 (Text Display)

  • 다이내믹 타입(Dynamic Type) 사용: 텍스트는 폰트 사이즈 조절이 가능한 다이내믹 타입을 사용해야 한다.
  • 텍스트 잘림 현상 최소화: 폰트 사이즈에 따라 텍스트 잘림 현상을 최소화해야 한다. 긴 텍스트를 잘림 현상 없이 보여줘야 한다면 numberOfLines 속성을 사용해서 효율적으로 나타낼 수 있다.

 

 

출처: 애플 문서

 

  • 큰 폰트 사이즈 레이아웃 조정: 큰 폰트 사이즈를 사용할 때 텍스트 레이아웃을 스택(Stack) 등을 활용해서 조정해야 한다.
  • 아이콘 크기 고려: 폰트 사이즈가 커지면 의미 전달을 하는 인터페이스 아이콘의 크기도 그만큼 커져야 한다는 점을 고려해야 한다.
  • 일관된 정보 전달 구조 유지: 현재 글꼴 크기와 관계없이 일관된 정보 전달 구조를 유지해야 한다. 사람들이 전달되어야 하는 주요 정보를 한눈에 알아볼 수 있게 해야 하기 때문이다.
  • 볼드체 사용 확인: 앱에서 볼드체를 적용했을 때 사용자가 읽기 편한지 올바르게 사용했는지 확인해야 한다.
  • 커스텀 폰트 가독성: 커스텀 폰트는 읽기 가능해야 한다. 간혹 읽기 힘든 커스텀 폰트가 존재하므로 이런 점을 고려해야 한다.
  • 텍스트 정렬: 전체 정렬로 텍스트의 정렬 설정을 하면 텍스트에 집중해서 읽는 것이 힘들 수 있으므로, 언어에 따라 왼쪽 또는 오른쪽 정렬을 해야 한다.
  • 강조 외 이탤릭체/대문자 지양: 긴 텍스트 구절은 강조가 필요한 부분 외에 전체 텍스트에 이탤릭체나 대문자 사용을 지양해야 한다.
  • 가독성을 위한 텍스트 두께 활용: 가독성을 위해 애플이 가이드한 텍스트 두께를 활용한다.
    • 추천 두께: Regular, Medium, Semibold, Bold
    • 피해야 할 두께: UltraLight, Thin, Light

 

 

출처: 애플 문서

 
 


 
 
 

색상과 효과 (Color and effects)

  • 색상 외 시각 요소 추가: 객체 구분 및 주요 정보를 전달할 때 색상 외에 레이블이나 모양을 추가하여 모든 사람들이 해당 의미를 전달받을 수 있도록 해야 한다.
  • 시스템 색상 사용 선호: 색상 반전을 하거나 대비를 변경했을 때 올바르게 적용되기 때문에 텍스트를 사용할 때 시스템 색상 사용을 선호하는 것이 좋다.
  • Smart Invert 적용 확인: Smart Invert 기능을 사용했을 때 해당 색상 적용이 되어야 하는 대상에 맞게 올바르게 되는지 확인해야 한다. (사진, 영상, 앱 아이콘 등은 색상 반전이 되어서는 안 된다.)
  • 높은 색상 대비: 읽는 것이 쉬울 수 있도록 색상 대비가 강한 컬러를 사용해야 한다. 특히, 가독성 보장을 위해 작거나 얇은 텍스트에 더 강한 대비가 필요하다.
    • Reduce Transparency 기능은 번역에서 생략되었다.

 

 

출처: https://support.apple.com/en-mide/111773

 

 




 

모션 (Motion)

  • 불필요한 애니메이션 자제: 애니메이션이 꼭 필요하지 않다면 사용을 자제해야 한다. 앱 사용 시 애니메이션에 지나치게 의존하는 앱 개발은 지양한다.
  • Reduce Motion 기능 대응: 애니메이션을 원하지 않는 사용자가 'Reduce Motion' 기능을 설정하면 그에 맞게 애니메이션 효과가 대응되어야 한다.
  • 영상 및 모션 효과 제어 허용: 사용자가 영상 및 기타 모션 효과를 제어할 수 있게 해야 한다. 자동 재생되는 영상은 자제하고, 제어 버튼이나 원치 않는 모션을 제어할 수 있는 다른 대안 방안을 마련해야 한다.
  • 움직이거나 깜빡이는 요소 주의: 움직이거나 깜빡이는 요소는 사람들에게 여러 불편을 초래할 수 있으므로, 정보 전달의 유일한 방법으로 사용해서는 안 되며 적용 시 매우 신중해야 한다.

 

 


 

 

 

Reference


https://developer.apple.com/design/human-interface-guidelines/accessibility

 

 

Accessibility | Apple Developer Documentation

People use Apple’s accessibility features to personalize how they interact with their devices in ways that work for them.

developer.apple.com

 
https://support.apple.com/en-mide/111773

 

Use display and text size preferences on your iPhone, iPad, and iPod touch - Apple Support

With iOS accessibility features for the display, you can enlarge your text, make it bold, increase contrast, apply color filters, use Smart Invert, control auto-brightness, and more.

support.apple.com