iOS의 접근성
이 페이지에서는 iOS 접근성 API를 사용하여 접근성 검사 목록에 따라 앱을 빌드하는 방법을 설명합니다. 다른 플랫폼 API에 대한 Android 접근성 및 OS X 접근성 페이지를 참조하세요.
UI 요소 설명
iOS는 개발자가 VoiceOver 화면 읽기 프로그램에서 컨트롤의 접근성을 높이는 데 사용할 수 있는 설명 텍스트를 추가할 수 있는 속성과 AccessibilityHint
속성을 제공합니다AccessibilityLabel
. 액세스 가능 모드에서 추가 컨텍스트를 제공하는 하나 이상의 특성으로 컨트롤에 태그를 지정할 수도 있습니다.
일부 컨트롤은 액세스할 수 없을 수도 있습니다(예: 텍스트 입력의 레이블 또는 순전히 장식용 이미지) IsAccessibilityElement
. 이러한 경우 접근성을 사용하지 않도록 설정하기 위해 제공됩니다.
UI 디자이너
Properties Pad에는 iOS UI 디자이너에서 컨트롤을 선택할 때 이러한 설정을 편집할 수 있는 접근성 섹션이 포함되어 있습니다.
C#
이러한 속성은 코드에서 직접 설정할 수도 있습니다.
usernameInput.AccessibilityLabel = "Search";
usernameInput.Hint = "Press Enter after typing to search employee list";
someLabel.IsAccessibilityElement = false;
displayOnlyText.AccessibilityTraits = UIAccessibilityTrait.Header | UIAccessibilityTrait.Selected;
AccessibilityIdentifier란?
AccessibilityIdentifier
UIAutomation API를 통해 사용자 인터페이스 요소를 참조하는 데 사용할 수 있는 고유 키를 설정하는 데 사용됩니다.
AccessibilityIdentifier
값은 사용자에게 절대로 말하거나 표시되지 않습니다.
PostNotification
이 UIAccessibility.PostNotification
메서드를 사용하면 직접 상호 작용 외부에서 사용자에게 이벤트를 발생하도록 허용합니다(예: 특정 컨트롤과 상호 작용하는 경우).
알림
코드에서 알림을 보내 일부 상태가 변경되었음을 사용자에게 알릴 수 있습니다(예: 백그라운드 작업이 완료됨). 사용자 인터페이스에 시각적 표시가 함께 표시될 수 있습니다.
UIAccessibility.PostNotification (
UIAccessibilityPostNotification.Announcement,
new NSString(@"Item was saved"));
LayoutChanged
알림은 LayoutChanged
화면 레이아웃이 다음과 같은 경우에 사용됩니다.
UIAccessibility.PostNotification (
UIAccessibilityPostNotification.LayoutChanged,
someControl); // someControl gets focus
접근성 및 지역화
레이블 및 힌트와 같은 접근성 속성은 사용자 인터페이스의 다른 텍스트와 마찬가지로 지역화할 수 있습니다.
MainStoryboard.strings
사용자 인터페이스가 스토리보드에 배치된 경우 다른 속성과 동일한 방식으로 접근성 속성에 대한 번역을 제공할 수 있습니다. 아래 UITextField
예제에서는 스페인어로 설정되는 지역화 IDPqa-aa-ury
와 두 개의 접근성 속성이 있습니다.
/* Accessibility */
"Pqa-aa-ury.accessibilityLabel" = "Notas input";
"Pqa-aa-ury.accessibilityHint" = "escriba más información";
이 파일은 스페인어 콘텐츠의 es.lproj 디렉터리에 배치됩니다.
Localizable.strings
또는 지역화된 콘텐츠 디렉터리(예: Localizable.strings) 파일에 번역을 추가할 수 있습니다. 스페인어용 es.lproj):
/* Accessibility */
"Notes" = "Notas input";
"Provide more information" = "escriba más información";
이러한 번역은 메서드를 통해 LocalizedString
C#에서 사용할 수 있습니다.
notesText.AccessibilityLabel = NSBundle.MainBundle.LocalizedString ("Notes", "");
notesText.AccessibilityHint = NSBundle.MainBundle.LocalizedString ("Provide more information", "");
콘텐츠 지역화에 대한 자세한 내용은 iOS 지역화 가이드 를 참조하세요.
접근성 테스트
VoiceOver는 일반 > 접근성 > VoiceOver로 이동하여 설정 앱에서 사용하도록 설정됩니다.
접근성 화면에서는 확대/축소, 텍스트 크기, 색 및 대비 옵션, 음성 설정 및 기타 구성 옵션에 대한 설정도 제공합니다.
다음 VoiceOver 지침에 따라 iOS 디바이스에서 접근성을 테스트합니다.
시뮬레이터 테스트
시뮬레이터 에서 테스트할 때 접근성 검사 기를 사용하여 접근성 속성 및 이벤트가 올바르게 구성되었는지 확인할 수 있습니다. 일반 > 접근성 > 접근성 검사로 이동하여 설정 앱에서 검사기를 켭니다.
사용하도록 설정하면 항상 검사기 창이 iOS 화면 위로 마우스를 가져옵니다. 다음은 테이블 뷰 행을 선택할 때 출력의 예입니다. 레이블 에 행의 내용을 제공하는 문장과 "완료"(예: 틱이 표시됨)가 포함됩니다.
검사기는 표시되는 동안 왼쪽 위에 있는 "X" 아이콘을 사용하여 오버레이를 일시적으로 표시 및 숨기고 접근성 설정을 사용하거나 사용하지 않도록 설정합니다.