https://developer.apple.com/documentation/appkit/nsaccessibilityelement
"The basic infrastructure necessary for interacting with an assistive app."
보조 앱과의 상호작용을 위해 필요한 기본적인 인프라입니다.
class NSAccessibilityElement : NSObject
NSView
로부터 상속받지 않거나 표준 AppKit
컨트롤을 상속받지 않은 UI 요소를 나타내기 위해 NSAccessibilityElement
클래스의 서브클래스를 생성할 수 있습니다. 이 클래스는 접근성 계층구조에서 UI 요소를 나타내고, 보조 앱과 작동하기 위해 필요한 세부사항을 관리합니다.
커스텀 UI 요소에서 접근성 기능을 지원하려면 아래 내용이 필요합니다.
element(withRole:frame:label:parent:)
를 사용함으로써 NSAccessibilityElement
서브클래스를 생성합니다. 이 값을 setAccessibilityRole(_:)
, setAccessibilityLabel(_:)
, setAccessibilityParent(_:)
를 사용해서 설정할 수도 있습니다.accessibilityAddChildElement(_:)
메소드를 호출합니다. setAccessibilityChildren(_:)
을 사용해서 부모의 accessibilityChildren
배열에 서브클래스를 추가할 수도 있습니다.setAccessibilityFrameInParentSpace(_:)
를 호출합니다. 이는 컨트롤이 슈퍼뷰로 이동하는 것을 보장합니다.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