Accessibility for AppKit

Panther·2021년 8월 7일
0

https://developer.apple.com/documentation/appkit/accessibility_for_appkit

"Make your AppKit apps accessible to everyone who uses macOS."

AppKit 앱을 macOS 사용자 모두가 접근 가능하도록 만듭니다.

Overview

앱을 접근 가능하게 만드는 것의 의미는 모든 사람에게 유용하다는 것을 의미합니다. 접근성을 염두에 두고 앱을 설계함으로써 모든 사람이 앱을 즐길 수 있도록 만들 수 있습니다. 더 많은 정보는 Accessibility를 살펴보시기 바랍니다.

Accessibility
https://developer.apple.com/documentation/accessibility
https://velog.io/@panther222128/Accessibility

AppKit 컨트롤과 뷰는 접근성이 내장되어 있으며, 기본값으로 접근 가능한 사용자 경험을 제공하고 있습니다. 표준 접근성 기능에 추가적으로 수행할 무언가는 없습니다.

어떤 경우 앱을 더 잘 내타내도록 하거나 추가적인 컨텍스트의 제공 혹은 앱을 통한 사용자의 흐름을 수정하기 위해 기본값을 수정하길 원할 수도 있습니다. AppKit은 이러한 커스터마이징을 간단하게 만들고 있습니다. 이는 정의하려는 UI를 만들 수 있도록 몇 줄의 코드 작성 혹은 인터페이스 조정을 통해 구현할 수 있습니다. AppKit 요소에 대한 접근성 커스터마이징은 NSAccessibilityProtocol을 살펴보시기 바랍니다.

NSAccessibilityProtocol
https://developer.apple.com/documentation/appkit/nsaccessibilityprotocol
https://velog.io/@panther222128/NSAccessibilityProtocol

만약 앱이 NSView를 서브클래싱한 커스텀 UI 요소를 포함하고 있는 경우 커스텀 컨트롤에서 role-based 프로토콜을 사용해 이 요소들의 접근성을 강화시키기 바랍니다. 만약 앱이 NSView로부터 상속받지 않은 커스텀 UI 요소 혹은 AppKit 클래스가 아닌 커스텀 UI 요소를 포함하고 있다면, 이 요소들에 대해 NSAccessibilityElement를 서브클래싱함으로써 접근 가능하도록 만드시기 바랍니다.

만약 SwiftUI로 앱을 빌드하고 있다면 Accessibilty를 살펴보시기 바랍니다.

첫 문단의 Accessibility와 링크가 다르며, 다른 내용을 포함하고 있습니다.

Accessibility
https://developer.apple.com/documentation/swiftui/view-accessibility
https://velog.io/@panther222128/Accessibility-qx9eve03

Topics


Custom View Subclasses

만약 커스텀 UI 요소 생성을 위해 AppKit 뷰를 서브클래싱하고자 한다면, 요소의 접근성을 강화하기 위해 하나 혹은 하나 이상의 role-specific 프로토콜을 채택할 수 있습니다.

Custom Controls

role-specific 프로토콜을 채택하고 이 프로토콜의 메소드를 구현함으로써 커스텀 UI 요소가 접근성을 지원하도록 합니다.

https://developer.apple.com/documentation/appkit/accessibility_for_appkit/custom_controls
https://velog.io/@panther222128/Custom-Controls

Accessibility Functions

커스텀 뷰 및 컨트롤에 대한 글로벌 접근성 함수입니다.

https://developer.apple.com/documentation/appkit/accessibility_for_appkit/accessibility_functions
https://velog.io/@panther222128/Accessibility-Functions


Custom Elements

AppKit 뷰를 서브클래싱하지 않고 완전히 커스텀인 UI 요소를 설계하는 경우 접근성 요소 클래스를 서브클래스해야 합니다.

NSAccessibilityElement

보조 앱과의 상호작용을 위해 필요한 기본적인 인프라입니다.

https://developer.apple.com/documentation/appkit/nsaccessibilityelement
https://velog.io/@panther222128/NSAccessibilityElement


See Also


User Interactions

Mouse, Keyboard, and Trackpad

마우스, 키보드, 트랙패드 관련 이벤트를 처리합니다.

https://developer.apple.com/documentation/appkit/mouse_keyboard_and_trackpad
https://velog.io/@panther222128/Mouse-Keyboard-and-Trackpad

앱과의 상호작용을 제공하기 위해 메뉴 및 커서를 구현하고, 업데이트 정보를 전달하기 위해 앱의 도크 타일을 사용합니다.

https://developer.apple.com/documentation/appkit/menus_cursors_and_the_dock
https://velog.io/@panther222128/Mouse-Keyboard-and-Trackpad

Gestures

제스쳐 리코그나이저에 있는 앱의 이벤트 처리 로직을 캡슐화합니다. 이로써 앱을 통해 해당 코드를 재사용할 수 있습니다.

https://developer.apple.com/documentation/appkit/gestures
https://velog.io/@panther222128/Gestures

Touch Bar

터치 바에 상호작용 컨텐트와 컨트롤을 표시합니다.

https://developer.apple.com/documentation/appkit/touch_bar
https://velog.io/@panther222128/Touch-Bar

Drag and Drop

드래그 앤 드롭을 사용해 앱 컨텐트를 직접 조작하는 것을 지원합니다.

https://developer.apple.com/documentation/appkit/drag_and_drop
https://velog.io/@panther222128/Drag-and-Drop-c5i2jzu8


0개의 댓글