티스토리 뷰

728x90
반응형

Accessibility 관련 헷갈리는 것 정리-!!
특히 accessibilityElementsHidden 이 용어 때문에 헷갈리는 것 같다,,,
(서브뷰들을 모두 접근성 element로 안해줘야지! 할 때 child, all 이란 용어가 떠오르면서 이 단어가 생각이 잘안나는 듯 ㅠㅠ)

[1] isAccessibilityElement

 

somView.isAccessibilityElement = false


someView의 accessibility가 disable 된다.

[2] accessibilityElementsHidden

 

somView.accessibilityElementsHidden = true



someView 뿐만 아니라 someView의 모든 subviews들의 accessibility도 함께 disable 된다.

[3] accessibilityElements

 

someView.accessibilityElements = [ subview1, subview2 ]


someView의 subivews 중에서 accessibility를 설정해주고 싶은 것들만 지정해줄 수 있다.

그리고 이 배열의 순서대로 보이스오버가 subview들을 읽어준다.
(가끔 보이스오버가 뷰들을 위에서 아래로 안읽어줄 때 이 배열을 지정해줬다. 왜 그러는 지 궁금. 호옥시 다른 방법이 있는 지 궁금.)

 

 

[4] UIKit 그룹핑 

 

isAccessibilityElement 가 false 인 뷰의 경우,

true 로 세팅해주면 

해당 뷰가 접근성요소로 잡히고 하위뷰는 안잡힌다 (그룹핑)

 

예를들어 이런 상황에서 원래 보이스오버는 Label 두개를 각각 읽어주지만

 

 

yellowView 를 접근성요소로 잡으면 하위뷰는 안잡히게 된다. 

yellowView.isAccessibilityElement = true

 

 

 

 

 

 

 

--- 

 

반면 isAccessibilityElement가 true 인 뷰의 경우,

그룹핑을 하고 싶다면 (서브뷰들을 각각 안잡히게 하고 싶다면)

서브뷰의 isAccessibiltiyElement 를 false 로 바꿔야한다. 

 

예를들어 textview 가 label 을 subview로 가지고 있는 경우,

이렇게 해줘야 label 이 안잡힌다. 

label.isAccessibilityElement = false

 

 

 

반응형

'🍏 > Accessibility' 카테고리의 다른 글

[SwiftUI] hyperlink accessibility  (0) 2023.12.29
[SwiftUI] AccessibilityElements like UIKit  (0) 2023.12.26
[iOS] Custom Rotor  (0) 2021.06.09
[iOS] Accessibility in SwiftUI  (0) 2021.06.06
[iOS] UIAccessibilityCustomAction  (0) 2021.06.01
댓글