0

android.widget.Button에서 상속받지 않는 Android에서 버튼으로 맞춤보기를 사용하고 있습니다. 접근성 서비스를 버튼이라고 말하는 가장 좋은 방법은 무엇입니까?TalkBack에게 맞춤보기가 버튼으로 사용 중임

보기에서 setClickable(true)으로 전화하면 충분합니까?

표준 Button 인 경우 음성 안내 지원은 "버튼"이라는 단어를 힌트로 추가하지만 맞춤보기에서는 해당 단어가 표시되지 않습니다. 나는 "단추"라는 단어를 어딘가에 힌트로 추가해야합니까?

iOS에서는보기에 "특성"단추를 추가하고 VoiceOver는 단추로 표시합니다. Android에 비슷한 기능이 있습니까? 당신은 음성 안내 지원 프로젝트를 통해 발굴 경우

답변

3

, Role.java에, 당신은 힌트 텍스트 "버튼"다음과 같은 경우에 적용되는 것을 볼 수 있습니다 :

  • 요소는 android.widget의 클래스가 있습니다. 버튼

또는

  1. 요소는 android.widget.ImageView
  2. 의 클래스를 가지고 요소 isClickable()

아무렇지도 않게, isClickable()에는 "double tap to ...."이라는 힌트 텍스트가 적용됩니다. 따라서 대답은 '아니오'입니다. '버튼'은 음성 안내 지원 사용자에게 매우 특정한 것을 의미하며, Android 운영체제와 음성 안내 지원을 함께 사용하여 무엇이 그 것인지 파악할 수 있도록하는 것이 가장 좋습니다.

TalkBack이 지연된 힌트 텍스트에 정보를 넣는 대신 모든 사소한 클릭 가능한 것을 버튼으로 발표 한 경우 더 좋을까요? "두 번 탭하세요."(... = 확장, 활성화 등) on control) 예, 가능할 수 있습니다.

Android에서 다음과 같이 말할 수 있다면 더 좋을까요? '예, 서브 클래 싱 한 것은 버튼입니다', iOS 특성과 유사합니다. 예, 아마도 그럴 것입니다.

실제로, 나는 "Double tap to ...."발표에서이 시나리오에서 "버튼"발표가 추가 정보라고 주장합니다. "버튼"은 두 번 탭하여 행동을 취할 수있는 것 이상을 의미하지 않습니다. "버튼"공지 사항이 "버튼"에만 적용되는 경우 "android.widget.Button"객체의 스타일이 특정 방식 (일반적으로)으로되어 있기 때문에 그렇지 않습니다. 그러나 IMAGE_VIEWS에도 적용되므로 다른 간단한 '클릭 가능'보기에는 적용되지 않고 그 목적은 진부하며 궁극적으로 쓸모없고 혼란 스럽습니다. 그리고 아니, 이것을 교정하려고해서는 안됩니다. 이 권한을 얻는 것은 TalkBack의 임무이며, 다른 방법으로는 가능합니다. 설명해 드리겠습니다 :

버튼의 발표는 본질적으로 더 이상 사용되지 않으며 "double tap to ..."이라는 지연된 발표로 대체되었습니다. "버튼"발표는 그 발표에 익숙한 사용자를위한 레거시 지원으로 남겨졌습니다.

요약 : "더블 탭 ...."이 사용자가 제어 한 후에 발표되도록하십시오. 하지만 노드에 클릭 리스너와 "isClickable"이 있는지 확인하는 것으로 충분합니다. 이 지연된 힌트 발표는 중요한 비트입니다. '버튼'발표는 TalkBack 프로젝트를 개발할 때 초기에 제기 된 불행한 결정으로 인한 중요하지 않은 유산 폐기물입니다.또는 향후 릴리스에서 클릭 가능한 모든 항목 (예 : 사용자 지정 컨트롤)에 적용되도록 수정 될 예정입니다. 어떤 방법 으로든 콘텐츠 설명에 '버튼'이라는 단어를 추가하는 것은 좋지 않습니다.