Accessibility for UIKit

Panther·2021년 8월 7일
0

https://developer.apple.com/documentation/uikit/accessibility_for_uikit

"Make your UIKit apps accessible to everyone who uses iOS and tvOS."

UIKit 앱을 iOS 및 tvOS를 사용하는 모두에게 접근 가능한 형태로 만듭니다.

Overview

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

Accessibility
https://developer.apple.com/documentation/accessibility

UIKit 컨트롤과 뷰는 기본값으로 접근 가능한 사용자 경험을 제공하는 접근성이 내장되어 있습니다. 표준 접근성 기능을 활성화하기 위해 추가적으로 작업해야 할 내용은 없습니다.

어떤 경우에는 앱을 더 잘 표현할 수 있고, 추가적인 컨텍스트를 제공하거나 앱을 통한 사용자의 흐름을 수정하기 위해 기본값을 수정하길 원할 수 있습니다. UIKit은 약간의 코드 추가 혹은 인터페이스 빌더 조정을 통해 UI를 정의함으로써 커스터마이징을 쉽게 할 수 있도록 도와줍니다. UIKit 요소에 대한 접근성 커스터마이징 정보를 더 알고 싶으시다면 UIAccessibility를 살펴보시기 바랍니다.

UIAccessibility
https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibility

만약 앱이 UIView 혹은 접근성이 내장된 다른 UIKit 중 한 가지로부터 상속받지 않은 커스터 UI 요소를 포함하고 있다면, 이 요소들을 UIAccessibilytElement 서브클래싱을 통해 접근 가능한 형태로 만드시기 바랍니다.

SwiftUI를 사용해 빌드하는 경우 Accessibility를 살펴보시기 바랍니다.

첫 문단의 Accessibility와 제목은 같지만 다른 링크를 포함하고 있으며, 다른 내용입니다.

Accessibility
https://developer.apple.com/documentation/swiftui/view-accessibility

Topics


Essentials

UIAccessibility

앱의 UI에서 뷰와 컨트롤에 대한 접근성 정보를 제공하는 메소드의 집합입니다.

https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibility
https://velog.io/@panther222128/UIAccessibility

UIAccessibilityContainer

분리되어 있는 요소들로써 하위컴포넌트가 접근 가능한 성격을 갖도록 뷰 서브클래스가 사용하는 메소드의 집합을 제공합니다.

https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibilitycontainer
https://velog.io/@panther222128/UIAccessibilityContainer

Supporting VoiceOver in Your App

시각적 결함을 갖는 사용자에게 더 접근성 있는 iOS 앱을 만들 수 있도록 보이스오버 지원을 추가합니다.

https://developer.apple.com/documentation/accessibility/supporting_voiceover_in_your_app
https://velog.io/@panther222128/Supporting-VoiceOver-in-Your-App


Behaviors

UIAccessibilityFocus

보이스오버와 같은 보조 앱이 접근 가능한 요소에 초점을 맞출지 여부를 결정하기 위한 방법을 제공하는 비공식 프로토콜입니다.

https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibilityfocus
https://velog.io/@panther222128/UIAccessibilityFocus


Actions

UIAccessibilityAction

접근성 요소가 특정 액션을 지원하기 위해 사용할 수 있는 메소드의 집합입니다.

https://developer.apple.com/documentation/objectivec/nsobject/uiaccessibilityaction
https://velog.io/@panther222128/UIAccessibilityAction

UIAccessibilityCustomAction

접근 가능한 객체에 수행할 수 있는 커스텀 액션입니다.

https://developer.apple.com/documentation/uikit/uiaccessibilitycustomaction
https://velog.io/@panther222128/UIAccessibilityCustomAction


Elements

UIAccessibilityElement

장애를 갖는 사용자로부터 접근 가능해야만 하는 요소이지만, 기본값을로 접근가능하지 않아야 합니다.

https://developer.apple.com/documentation/uikit/uiaccessibilityelement
https://velog.io/@panther222128/UIAccessibilityElement


UIAccessibilityCustomRotor

보이스오버 사용자가 관련 요소의 다음 인스턴스를 찾도록 돕는 컨텍스트 민감 함수입니다.

https://developer.apple.com/documentation/uikit/uiaccessibilitycustomrotor
https://velog.io/@panther222128/UIAccessibilityCustomRotor

UIAccessibilityCustomRotorItemResult

커스텀 로터가 참조하는 타깃 요소입니다.

https://developer.apple.com/documentation/uikit/uiaccessibilitycustomrotoritemresult
https://velog.io/@panther222128/UIAccessibilityCustomRotorItemResult

UIAccessibilityCustomRotorSearchPredicate

다음 일치하는 커스텀 로터 아이템 결과를 결정하도록 돕는 검색 파라미터입니다.

https://developer.apple.com/documentation/uikit/uiaccessibilitycustomrotorsearchpredicate
https://velog.io/@panther222128/UIAccessibilityCustomRotorSearchPredicate


Drag-and-Drop Support

UIAccessibilityLocationDescriptor

보조 앱에서 사용을 위한 것으로, 뷰 내에서 특정 기하학적 관심 지점에 대한 접근성 설명자입니다.

https://developer.apple.com/documentation/uikit/uiaccessibilitylocationdescriptor
https://velog.io/@panther222128/UIAccessibilityLocationDescriptor


Notifications

Notification Names

접근성 시스템이 생성하는 노티피케이션의 이름입니다.

https://developer.apple.com/documentation/uikit/accessibility_for_uikit/notification_names
https://velog.io/@panther222128/Notification-Names

Notification Dictionary Keys

사용자 정보 딕셔너리에서 키를 갖는 노티피케이션을 처리합니다.

https://developer.apple.com/documentation/uikit/accessibility_for_uikit/notification_dictionary_keys
https://velog.io/@panther222128/Notification-Dictionary-Keys


See Also


User Interactions

Touches, Presses, and Gestures

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

https://developer.apple.com/documentation/uikit/touches_presses_and_gestures
https://velog.io/@panther222128/Touches-Presses-and-Gestures

Drag and Drop

뷰에서 상호작용 API를 사용해 앱으로 드래그 앤 드롭 기능을 가져옵니다.

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

Pointer Interactions

커스텀 컨트롤 및 뷰에서 포인터 상호작용을 지원합니다.

https://developer.apple.com/documentation/uikit/pointer_interactions
https://velog.io/@panther222128/Pointer-Interactions

Pencil Interactions

애플 펜슬을 사용해 더블 탭 사용자 상호작용을 처리합니다.

https://developer.apple.com/documentation/uikit/pencil_interactions
https://velog.io/@panther222128/Pencil-Interactions

Focus-Based Navigation

원격, 게임 컨트롤러, 키보드를 사용해 UIKit 앱의 인터페이스를 탐색합니다.

https://developer.apple.com/documentation/uikit/focus-based_navigation
https://velog.io/@panther222128/Focus-Based-Navigation

메뉴 시스템, contextual 메뉴, 홈 스크린 퀵 액션, 키보드 단축키를 사용해 앱과의 상호작용을 단순화합니다.

https://developer.apple.com/documentation/uikit/menus_and_shortcuts
https://velog.io/@panther222128/Menus-and-Shortcuts


0개의 댓글