NSAccessibilityElement

Panther·2021년 8월 7일
0

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

"The basic infrastructure necessary for interacting with an assistive app."

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

Declaration

class NSAccessibilityElement : NSObject

Overview

NSView로부터 상속받지 않거나 표준 AppKit 컨트롤을 상속받지 않은 UI 요소를 나타내기 위해 NSAccessibilityElement 클래스의 서브클래스를 생성할 수 있습니다. 이 클래스는 접근성 계층구조에서 UI 요소를 나타내고, 보조 앱과 작동하기 위해 필요한 세부사항을 관리합니다.

커스텀 UI 요소에서 접근성 기능을 지원하려면 아래 내용이 필요합니다.

  1. element(withRole:frame:label:parent:)를 사용함으로써 NSAccessibilityElement 서브클래스를 생성합니다. 이 값을 setAccessibilityRole(_:), setAccessibilityLabel(_:) , setAccessibilityParent(_:)를 사용해서 설정할 수도 있습니다.
  2. 서브클래스를 추가하기 위해 부모의 accessibilityAddChildElement(_:) 메소드를 호출합니다. setAccessibilityChildren(_:)을 사용해서 부모의 accessibilityChildren 배열에 서브클래스를 추가할 수도 있습니다.
  3. 서브클래스에서 setAccessibilityFrameInParentSpace(_:)를 호출합니다. 이는 컨트롤이 슈퍼뷰로 이동하는 것을 보장합니다.
  4. 서브클래스에서 role-specific 프로토콜을 채택하고, role을 커스터마이징 합니다. 그리고 다른 접근 가능한 컨트롤을 처리할 때 노티피케이션을 보냅니다. Custom Controls를 살펴보시기 바랍니다.
  5. 서브클래스에서 UI 요소의 접근성 동작을 커스터마이징 하기 위해 사용할 추가적인 속성 및 메소드를 구현합니다. NSAccessibilityProtocol을 살펴보시기 바랍니다.

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

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

0개의 댓글