App Store Connect 도움말
VoiceOver 평가 기준
설명
사용자는 Apple의 VoiceOver 스크린 리더를 사용하여 화면을 보지 않고도 앱의 인터페이스를 탐색할 수 있습니다. 대부분의 시각 장애인 또는 저시력 사용자는 앱의 이해 및 제어를 위해 VoiceOver를 사용합니다.
목표
모든 사람은 신체적 상태와 무관하게 앱을 원활하게 사용할 수 있어야 합니다. 앱에서 마우스나 터치 스크린 제스처를 사용하여 탭하거나 클릭하거나 드래그할 수 있는 경우, VoiceOver도 함께 작동하도록 노력해야 합니다. 화면에서 중요한 항목이 표시되는 경우, 앱은 VoiceOver 사용자가 음성이나 점자로 인식할 수 있는 레이블 또는 설명을 사용해야 합니다.
참고: VoiceOver 사용자가 앱에 액세스할 수 있도록 하는 대부분의 작업은 “음성 명령”, “스위치 제어” 및 “텍스트 표시”와 같은 다른 보조 기술 사용자도 앱에 더 쉽게 액세스할 수 있도록 만듭니다. 따라서 “음성 명령”을 테스트하기 전에 “VoiceOver”를 통한 손쉬운 사용 평가를 시작하는 것을 권장합니다.
다음 섹션은 앱이 “VoiceOver”를 제대로 지원하는지 확인하는 방법에 대해 자세히 설명합니다. 몸이 불편한 사용자가 앱의 모든 일반적인 작업을 원활하게 활용할 수 있도록 하는 것이 목표이므로, 이 평가를 완료하면 앱이 App Store에서 VoiceOver 지원을 표시할지 여부를 결정하는 데 도움이 됩니다.
테스트 시작하기
이 레이블을 정확하게 평가하려면 앱이 지원하는 모든 기기에서 VoiceOver를 사용한 숙련된 테스트가 필요합니다. VoiceOver 테스트 숙련도를 높이기 위해 아래의 자료를 검토하십시오.
-
iPhone의 경우, VoiceOver로 iPhone 또는 iPad 탐색하는 방법(How to Navigate your iPhone or iPad with VoiceOver)을 시청한 다음, iPhone에서 VoiceOver 켜기 및 연습하기, iPhone에서 VoiceOver 제스처 사용하기 및 VoiceOver가 켜져 있을 때 iPhone 조작하기 페이지를 방문합니다.
-
For iPad의 경우, VoiceOver로 iPhone 또는 iPad 탐색하는 방법(How to Navigate your iPhone or iPad with VoiceOver)을 시청한 다음, iPad에서 VoiceOver 켜기 및 연습하기, iPad에서 VoiceOver 제스처 사용하기 및 VoiceOver가 켜져 있을 때 iPad 조작하기 페이지를 방문합니다.
-
Mac의 경우, Mac용 VoiceOver 학습 및 연습하기 페이지를 방문하고 macOS용 VoiceOver 사용 설명서에서 다른 주제를 확인해 봅니다.
-
Apple TV의 경우, Apple TV에서 VoiceOver 사용하기 페이지를 방문합니다.
-
Apple Vision Pro의 경우, Apple Vision Pro에서 VoiceOver 켜기 및 연습하기와 Apple Vision Pro의 VoiceOver 제스처 알아보기 페이지를 방문합니다.
-
Apple Watch의 경우, Apple Watch에서 VoiceOver 사용하기 페이지를 방문합니다.
VoiceOver의 기본 사항을 학습하면 테스트를 시작할 수 있습니다. 단, 사용자에게 최상의 VoiceOver 경험을 제공하려면 사용자 가이드에서 VoiceOver 사용자가 사용할 수 있는 고급 기능에 대해 더 깊이 있게 알아보는 것을 권장합니다.
VoiceOver 지원 여부 표시
사용자가 VoiceOver만 사용하여 텍스트, 미디어, 버튼, 컨트롤과 같은 시각적 요소를 탐색하고 조작할 수 있는 경우 앱이 VoiceOver를 지원함을 나타낼 수 있습니다. 사용자는 제스처 또는 키보드 명령을 사용하여 UI의 각 부분에 집중할 수 있어야 하며, 각 부분의 내용을 듣고, 활성화할 수 있어야 합니다. 사용자가 시력의 도움 없이 VoiceOver만 사용하여 앱의 모든 일반적인 작업을 완료할 수 있는지 확인합니다.
모든 조작에는 간결하고 정확한 레이블이 있어야 합니다.
“대체 텍스트”라고도 불리는 레이블은 VoiceOver 사용자가 각 제어 또는 인터페이스 요소의 목적을 신속하게 이해할 수 있도록 도와줍니다.
-
버튼, 아이콘, 양식 조절 및 기타 모든 요소는 VoiceOver 사용자에게 해당되는 텍스트로써 간결한 레이블을 포함해야 합니다. 대화형 텍스트 필드 및 이와 유사한 양식 컨트롤에는 선택 영역 또는 콘텐츠의 텍스트 값(“555-555-1212”) 외에 레이블(예를 들어, “전화번호”)이 있어야 합니다.
-
레이블은 간결해야 하며, 사용자가 해당 인터페이스를 통해 빠르게 탐색하고 이해할 수 있도록 합니다. 예를 들어, 새 메시지를 작성하는 버튼은 “새로운 음악 메시지를 작성하려면 누르십시오”와 같은 장황한 표현이 아닌 “새로운 메시지”라는 레이블을 사용해야 합니다.
-
레이블이 문맥에 맞는지 확인합니다. VoiceOver를 사용하면 요소를 각기 다른 방식으로 활용하게 될 수 있으므로, “여기를 클릭해” 또는 “추가 정보”와 같이 비선형적인 순서의 항목을 마주할 때 명확하지 않은 모호한 레이블은 사용하지 않아야 합니다. 쇼핑 카트에서 “삭제”와 같이 여러 개의 동작 요소가 같은 레이블을 가질 경우, 특히 파괴적인 동작인 경우에는 레이블 텍스트가 해당 동작이 무엇을 하는지 명확하게 알려야 합니다. 예를 들어, 어떤 카트 항목이 삭제될 것인지 분명하게 명시해야 합니다.
-
레이블에 “체크박스”와 같은 제어 유형 또는 “선택됨”과 같은 상태가 포함되지 않아야 합니다. 그렇지 않으면 VoiceOver가 사용자에게 “체크박스, 체크박스 구독 취소”와 같은 중복된 정보를 말할 수 있습니다. 대신, 특성으로 구현하거나 기기에 적합한 유사한 API를 통해 앱에서 구현하십시오.
-
대부분의 이미지는 관련 설명 또는 대체 텍스트를 포함해야 합니다. 이미지가 단순히 장식용인 경우, VoiceOver가 해당 이미지를 완전히 무시하도록 설정하십시오.
-
앱에서 사용자가 이미지와 같은 미디어를 업로드할 수 있도록 하는 경우, 사용자가 사용자 생성 콘텐츠에 레이블이나 설명을 추가할 수 있는 방법을 제공하여 VoiceOver 사용자가 미디어 사용할 때 해당 설명을 들을 수 있도록 해야 합니다.
-
차트 및 기타 데이터 시각화는 더욱 구체적인 차트 API를 통해 손쉬운 사용 정보를 제공하거나, 최소한 비교적 완전한 대체 텍스트를 포함해야 합니다.
-
타사 또는 사용자 생성 콘텐츠가 일반적인 작업에 필요한 경우, 손쉬운 사용 지원 여부 표시 레이블(Accessibility Nutrition Labels)에 있는 타사 콘텐츠 관련 내용을 참고하십시오.
-
더 많은 아이디어는 훌륭한 손쉬운 사용 레이블 작성하기(Writing Great Accessibility Labels)와 앱의 차트에 손쉬운 사용 적용하기(Bring accessibility to charts in your app)를 참고하세요.
VoiceOver 사용자는 요소의 유형과 컨트롤 상태 또는 값을 인지할 수 있어야 합니다.
체크박스에 체크된 상자와 같은 시각적 수단을 통해서만 상태 또는 가치를 전달할 수 있기 때문에, VoiceOver에 의존하는 사람들은 단순한 레이블 및 텍스트 콘텐츠보다 더 많은 정보를 들어야 하는 경우가 많습니다. 해당 정보를 특성으로 구현하거나 기기에 적합한 유사한 API를 통해 앱에서 구현하십시오.
-
VoiceOver 사용자가 항목에 접근하면, VoiceOver는 레이블 또는 텍스트 콘텐츠 외에도 해당 요소의 유형을 말해야 합니다. 예를 들어, “모든 이메일 구독 취소, 체크박스”와 같이 들려야 합니다.
-
사용자는 컨트롤의 상태와 값을 이해할 수 있어야 합니다. 체크박스의 “선택 해제됨” 상태와 같은 기본 상태는 내포된 상태이므로 VoiceOver를 통해 이를 음성으로 읽지 못할 수 있습니다. 예시: “모든 이메일 구독 취소, 체크박스” 또한, 제어 상태 및 값의 API를 업데이트할 때 주의하십시오. 예를 들어, 사용자가 체크박스를 선택하면, VoiceOver는 이를 “모든 이메일 구독 취소, 선택됨 체크박스”라고 읽게 됩니다.
VoiceOver는 앱에 보이는 모든 텍스트를 말할 수 있어야 하며, VoiceOver 사용자가 모든 텍스트 입력 방법을 조작할 수 있어야 합니다.
Apple 프레임워크를 사용할 경우, 표시되는 대부분의 텍스트에 대한 손쉬운 사용은 자동으로 지원됩니다. 그러나 앱이 다른 프레임워크를 사용하거나 사용자화 텍스트 입력 방법을 사용하는 경우, 추가적인 작업이 필요할 수 있습니다. 예를 들어, Apple은 유니티 기반 앱을 위한 오픈 소스 손쉬운 사용 플러그인을 보유하고 있습니다.
-
앱에 표시되는 모든 텍스트는 VoiceOver를 포함하는 보조 기술에 액세스할 수 있어야 합니다. 단락과 같은 일반 텍스트 요소는 별도의 레이블이 필요하지 않지만 VoiceOver가 텍스트 내용을 말할 수 있도록 해야 합니다.
-
사용자 설정 키보드 및 텍스트 입력 방법(예를 들어, 사용자 설정 키보드 또는 핀 코드 입력 위젯)은 정확한 텍스트 입력 및 선택을 제공할 뿐만 아니라, VoiceOver와 함께 작동하고, 사용자가 볼 수 있도록 올바른 음성/점자를 출력해야 합니다.
-
임시 상태 배너 및 중요한 앱 내 알림은 AccessibilityNotification을 사용하여 신속하되, VoiceOver 사용자를 방해하지 않는 방식으로 전달해야 합니다.
VoiceOver 탐색 및 그룹은 일관적이고 완전해야 하며, 논리 순서를 사용해야 합니다.
VoiceOver 사용자는 페이지 순서대로 탐색하거나, VoiceOver 로터와 같은 기능을 사용해 화면의 특정 부분으로 직접 이동할 수 있어야 합니다.
-
VoiceOver 사용자는 화면의 모든 가시적 요소로 탐색할 수 있어야 하며, 순차 탐색(오른쪽 스와이프, VO+오른쪽 등) 또는 로터 및 터치 탐색 기능을 통해 이를 수행할 수 있어야 합니다.
-
VoiceOver 사용자는 현재 위치한 요소에서 벗어나 앞으로 진행하거나 뒤로 가거나(왼쪽 스와이프, VO+왼쪽 등), 로터 또는 터치 탐색을 통해 이동할 수 있어야 합니다.
-
여러 개의 요소나 작업이 그룹으로 제시되는 경우, VoiceOver 사용자는 그룹의 각 항목으로 이동하거나 사용자화 작업과 같은 기능을 통해 그룹화된 동작(예를 들어, 회신, 전달, 삭제)과 상호 작용할 수 있어야 합니다.
-
VoiceOver 사용자는 항목을 건너뛰거나 동일 항목에 반복적으로 되돌아가지 않고 모든 요소를 순차적으로 탐색할 수 있어야 합니다. 전체 콘텐츠를 순방향 및 역방향으로 탐색해 보고, 로터 항목도 순방향과 역방향 모두 시도해 보십시오.
-
콘텐츠가 백그라운드에서 새로 고쳐질 때, VoiceOver 사용자의 읽기 위치가 예기치 않게 초기화되지 않아야 합니다. 예를 들어, 콘텐츠 피드의 하단에 있을 때 새 콘텐츠가 로드되면 VoiceOver 커서가 목록의 맨 위로 이동하지 않아야 합니다.
-
화면이 바뀌거나 모달 대화창이 나타나면 VoiceOver 커서가 새로운 콘텐츠 영역으로 이동해야 합니다. VoiceOver 사용자가 보이지 않거나, 화면에서 벗어나거나, 배경이 되는 콘텐츠로 이동할 수 없어야 합니다.
모든 상호작용 요소와 컨트롤은 검색과 조작이 가능해야 하며, VoiceOver와 일관적으로 작동해야 합니다.
앱에서 무언가를 마우스나 터치 스크린 제스처로 탭, 클릭, 드래그할 수 있는 경우, 해당 앱을 VoiceOver와 함께 사용해야 합니다.
-
VoiceOver의 동작(선택 후 두 번 탭)과 키보드 명령어(VO+스페이스)는 표준 탭 또는 클릭과 동일한 동작을 실행해야 합니다.
-
표준 키보드 조작(예를 들어, 화살표 키) 및 키보드 조합 단축키는 VoiceOver가 활성화된 경우에도 계속 작동해야 하며, VoiceOver 커서는 탭 키, 화살표 키와 같은 표준 키보드 탐색으로 실행되는 변경 사항을 따라야 합니다.
-
앱 컨트롤이 컨텍스트 메뉴를 제공하거나 길게 누르기를 오버로드하거나 비표준 동작을 제공하는 경우, VoiceOver의 동작 로터(actions rotor) 또는 VO+Shift+M 키보드 명령을 통해 동일한 기능을 사용자화 작업으로 제공하십시오.
-
VoiceOver는 대화창 같은 모달 뷰와도 호환되어야 합니다. 앱은 모달 뷰가 활성화되어 있는 동안, 그 뒤의 비활성 콘텐츠에 VoiceOver가 접근하지 않도록 해야 합니다. 또한, VoiceOver 사용자가 ESC 키 또는 accessibilityPerformEscape 동작을 통해 모달 뷰를 닫을 수 있도록 지원해야 합니다.
-
드래그 앤 드롭이나 멀티터치 제스처와 같은 복잡한 앱 동작은 VoiceOver 사용자도 접근 가능하고 발견할 수 있는 방식으로 제공해야 하며, 사용자 정의 로터나 동작 등을 통해 구현할 수 있습니다. 가능한 경우 Apple에서 제공하는 기본 API를 사용하여 구현의 복잡도를 줄이십시오.
-
앱 또는 포함된 프레임워크에서 사용자화 요소를 사용하는 경우, Apple UIKit, AppKit 및 SwiftUI 프레임워크에서 제공하는 네이티브 요소와 동등한 손쉬운 사용 기능을 제공해야 합니다. 예를 들어, 사용자 설정 버튼, 탭 바 및 슬라이더는 VoiceOver로 조작할 수 있어야 하며, 표준 API를 사용하는 컨트롤을 사용하여 동일한 정보를 전달할 수 있어야 합니다.
앱의 일반적인 작업 진행 시 “VoiceOver” 지원을 표시할 수 있게 된 후에도 손쉬운 사용에 추가적으로 개선할 수 있는 부분이 존재할 수 있습니다. 앱을 매번 업데이트할 때 “VoiceOver” 지원에 대해 재검토하고, 구체적인 목표를 설정하여 앱의 새로운 버전을 출시할 때마다 더 많은 사람들이 손쉽게 사용할 수 있도록 해야 합니다.