2011-10-07 3 views
5

나는 UIScrollView가 내게 필요한 옵션 레이블 또는 접근성을 설정할 수있는 접근성 영역을 언급하지 않았다는 것을 알아 냈습니다. 이는 활동 지표에도 적용되는 것으로 보입니다.UIScrollview에 인터페이스 작성기의 액세스 가능성 영역이없는 이유는 무엇입니까?

UIScrollView 및 UIActivityIndicatorView가 아닌 ​​UIVIews, UIButtons 및 기타 영역이이 영역에있는 이유는 무엇입니까?

답변

8

좋은 질문 - 스크롤 뷰의 이유는 Apple이 접근성있는 요소라고 생각하지 않기 때문입니다.

당신이 UIAccessibility 문서를 보면, 애플을 찾을 수있는에 '접근 요소'로 계산 무엇을 말하고 다음과 같습니다

유일한 예외는 [뷰에 액세스 할 수있는]입니다 액세스 할 수 있어야하는 다른 항목의 컨테이너 역할을하는 뷰입니다. 이러한보기는 UIAccessibilityContainer 프로토콜을 구현하고이 속성을 NO로 설정해야합니다. (당신은 인터페이스 빌더에서 내게 필요한 옵션이 표시되지 않는 따라서 왜)의 isAccessibilityElement 속성을 no로 설정되도록

UIScrollView, 단순히 파단의 컨테이너입니다.

기본적으로 스크롤보기를 사용하는 경우 내의 항목에 액세스 할 수 있어야하지만 스크롤보기 자체는 사용할 수 없습니다.

+1

고마워요! 이것은 실제로 UIAutomation을 사용하는 또 다른 문제점을 해결했습니다. :-) – MdaG

+0

iOS 9에서는 더 이상 관련이 없습니다. 스크롤보기에 AI를 추가 할 수 있습니다 – konradowy

0

UIScriptView의 UIAutomation 접근성 레이블에 대한 자세한 내용을 추가하려면 ScrollView에 대한 인덱스를 사용하여 스크롤 뷰의 하위 뷰에 액세스해야합니다. 예 :

target.frontMostApp().mainWindow().scrollViews()[0].buttons()["logoutButton"].tap(); 

참고 : 가정은 "logoutButton는"로그 아웃 버튼의 접근성 라벨입니다이며 스크롤 뷰의 서브 뷰입니다.

관련 문제