다음을 통해 공유


macOS의 접근성

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

macOS(이전의 OS X)에서 접근성 API가 작동하는 방식을 이해하려면 먼저 OS X 접근성 모델을 검토합니다.

UI 요소 설명

AppKit는 프로토콜을 NSAccessibility 사용하여 사용자 인터페이스에 액세스할 수 있도록 하는 데 도움이 되는 API를 노출합니다. 여기에는 단추 AccessibilityLabel설정과 같은 접근성 속성에 대한 의미 있는 값을 설정하려는 기본 동작이 포함됩니다. 레이블은 일반적으로 컨트롤 또는 뷰를 설명하는 단일 단어 또는 짧은 구입니다.

스토리보드 파일

Xamarin.Mac은 Xcode 인터페이스 작성기를 사용하여 스토리보드 파일을 편집합니다. 아래 스크린샷과 같이 디자인 화면에서 컨트롤을 선택하면 ID 검사 기에서 접근성 정보를 편집할 수 있습니다.

Adding accessibility in Xcode's Interface Builder

코드

Xamarin.Mac은 현재 setter로 AccessibilityLabel 노출되지 않습니다. 다음 도우미 메서드를 추가하여 접근성 레이블을 설정합니다.

public static class AccessibilityHelper
{
    [System.Runtime.InteropServices.DllImport (ObjCRuntime.Constants.ObjectiveCLibrary)]
    extern static void objc_msgSend (IntPtr handle, IntPtr selector, IntPtr label);

    static public void SetAccessibilityLabel (this NSView view, string value)
    {
        objc_msgSend (view.Handle, new ObjCRuntime.Selector ("setAccessibilityLabel:").Handle, new NSString (value).Handle);
    }
}

그런 다음, 다음과 같이 코드에서 이 메서드를 사용할 수 있습니다.

AccessibilityHelper.SetAccessibilityLabel (someButton, "New Accessible Description");

이 속성은 AccessibilityHelp 컨트롤 또는 뷰가 수행하는 작업에 대한 설명이며 레이블이 충분한 정보를 제공하지 못할 수 있는 경우에만 추가해야 합니다. 도움말 텍스트는 가능한 한 짧게 유지되어야 합니다(예: "문서 삭제").

일부 사용자 인터페이스 요소는 접근성 액세스와 관련이 없습니다(예: 고유한 접근성 레이블 및 도움말이 있는 입력 옆에 있는 레이블). 이러한 경우 화면 읽기 프로그램 또는 기타 접근성 도구에서 이러한 컨트롤 또는 보기를 건너뛰도록 설정합니다 AccessibilityElement = false .

Apple은 접근성 레이블 및 도움말 텍스트에 대한 모범 사례를 설명하는 접근성 지침을 제공합니다.

사용자 지정 컨트롤

필요한 추가 단계에 대한 자세한 내용은 액세스 가능한 사용자 지정 컨트롤에 대한 Apple의 지침을 참조하세요.

접근성 테스트

macOS는 접근성 기능을 테스트하는 데 도움이 되는 접근성 검사 기능을 제공합니다. 검사기는 Xcode에 포함됩니다.

처음 시작되면 접근성 검사기에서 접근성을 통해 컴퓨터를 제어할 수 있는 권한이 필요합니다.

Accessibility Inspector requesting permission to run

설정 화면(필요한 경우 왼쪽 아래)의 잠금을 해제하고 접근성 검사기를 선택합니다.

Settings screen to enable Accessibility Inspector

사용하도록 설정하면 검사기는 화면 주위로 이동할 수 있는 부동 창으로 나타납니다. 아래 스크린샷은 샘플 Mac 앱 옆에 실행 중인 검사기를 보여줍니다. 커서가 창 위로 이동되면 검사기는 각 컨트롤의 액세스 가능한 모든 속성을 표시합니다.

Example of Accessibility Inspector running

자세한 내용은 OS X에 대한 테스트 접근성 가이드를 참조하세요.