iOS의 접근성

이 페이지에서는 iOS 접근성 API를 사용하여 접근성 검사 목록에 따라 앱을 빌드하는 방법을 설명합니다. 다른 플랫폼 API에 대한 Android 접근성OS X 접근성 페이지를 참조하세요.

UI 요소 설명

iOS는 개발자가 VoiceOver 화면 읽기 프로그램에서 컨트롤의 접근성을 높이는 데 사용할 수 있는 설명 텍스트를 추가할 수 있는 속성과 AccessibilityHint 속성을 제공합니다AccessibilityLabel. 액세스 가능 모드에서 추가 컨텍스트를 제공하는 하나 이상의 특성으로 컨트롤에 태그를 지정할 수도 있습니다.

일부 컨트롤은 액세스할 수 없을 수도 있습니다(예: 텍스트 입력의 레이블 또는 순전히 장식용 이미지) IsAccessibilityElement . 이러한 경우 접근성을 사용하지 않도록 설정하기 위해 제공됩니다.

UI 디자이너

Properties Pad에는 iOS UI 디자이너에서 컨트롤을 선택할 때 이러한 설정을 편집할 수 있는 접근성 섹션이 포함되어 있습니다.

Accessibility Settings

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로 이동하여 설정 앱에서 사용하도록 설정됩니다.

Setting the speaking rate

접근성 화면에서는 확대/축소, 텍스트 크기, 색 및 대비 옵션, 음성 설정 및 기타 구성 옵션에 대한 설정도 제공합니다.

다음 VoiceOver 지침에 따라 iOS 디바이스에서 접근성을 테스트합니다.

시뮬레이터 테스트

시뮬레이터 에서 테스트할 때 접근성 검사 기를 사용하여 접근성 속성 및 이벤트가 올바르게 구성되었는지 확인할 수 있습니다. 일반 > 접근성 > 접근성 검사로 이동하여 설정 앱에서 검사기를 켭니다.

Enable Accessibility Inspector

사용하도록 설정하면 항상 검사기 창이 iOS 화면 위로 마우스를 가져옵니다. 다음은 테이블 뷰 행을 선택할 때 출력의 예입니다. 레이블 에 행의 내용을 제공하는 문장과 "완료"(예: 틱이 표시됨)가 포함됩니다.

Using Accessibility Inspector

검사기는 표시되는 동안 왼쪽 위에 있는 "X" 아이콘을 사용하여 오버레이를 일시적으로 표시 및 숨기고 접근성 설정을 사용하거나 사용하지 않도록 설정합니다.