2016-06-13 3 views
1

, 내 응용 프로그램의 레이아웃에 나는 RecyclerView 내부 CardViews의 목록을 가지고, 각 CardView 여러 TextViews 여러 버튼이 포함되어 App layout image버튼을 상위보기와 연결하고 음성 안내 지원을 통해 사용자에게 알리는 방법은 무엇입니까? 내 안드로이드 애플 리케이션을위한 음성 안내 지원 작업을하기 위해 노력하고있어

내가 안드로이드 음성 안내 지원, VoiceView는 모든 TextView를 발표하지만 버튼을 알리지 않습니다. 계속 오른쪽으로 스 와이프하면 단추가 하나씩 초점을 맞 춥니 다. 내 이해가 정확한지 확실하지 않지만 TalkBack이 버튼을 집중할 수 있기 때문에 TextView와 버튼을 다르게 처리하는 것처럼 보입니다.

음성 안내 지원을 사용하여 CardView (TextViews 및 Buttons)의 모든 콘텐츠를 알리고 버튼을 계속 집중시킬 수있는 방법이 있습니까? 그렇다면 여전히 스 와이프하여 버튼에 초점을 맞출 수 있습니까?

PS : 직접 CardView의 내용 설명을 설정하고, 내용 설명을 TextViews와 버튼의 모든 콘텐츠를 포함하는 것이지만, 그 종류의 해키, 그래서려고했다

하나의 솔루션 더 나은 해결책을 찾으십시오.

도움을 주시면 감사하겠습니다. 감사!

+0

버튼을 사용할 수 있습니다. 사용자가 각 버튼의 작업을 수행 할 수있게하려면 별도로 포커스를 지정할 수 있어야합니다. 액션이 불가능한 경우 단추가되어서는 안됩니다. – ChrisCM

+0

이것이 TalkBack의 의도 된 동작이라고 생각합니다. 나는 그냥 그대로 두겠다. 감사. – yxt423

답변

0

버튼을 사용할 수 있습니다. 사용자가 각 버튼의 작업을 수행 할 수있게하려면 별도로 포커스를 지정할 수 있어야합니다. 액션이 불가능한 경우 단추가되어서는 안됩니다.

0

설명 된 동작이 예상되며 솔루션이 올바른 것입니다.

명시적인 콘텐츠 설명이없는 ViewGroup의 경우 음성 안내 지원은 모든 자녀의 콘텐츠 설명 (또는보기가 TextView에서 확장되면 텍스트 값)을 연결하여 자녀의 콘텐츠 설명을 유추하려고 시도합니다.

버튼 자체는 실행 가능 (포커스 가능/클릭 가능)하기 때문에 유추 내용 설명에 포함되지 않습니다.

카드에 명시적인 콘텐츠 설명을 설정하는 것이 올바른 방법입니다. 목표는 카드가 나타내는 정보를 설명하는 것입니다. IMO에는 버튼에 대한 설명이 포함되어서는 안됩니다. 버튼에 개별적으로 포커스를 지정할 수 있으며 사용자가 포커스를 맞출 때 소리내어 읽혀지기 때문입니다.


IMO 가장 좋은 방법은 음성 안내 지원이 사용 가능한 경우 버튼을 숨기기 위해, 그리고 하나의 행동과 단일 명시 적으로 설정된 내용 설명을 포함 개체로 카드를 제시하는 것입니다.

TalkBack 사용자의 기능을 축소하지 않는 것이 중요합니다. 달성 가능한 모든 사용자 목표는 여전히 달성 가능해야합니다. 모든 사용자가 목표를 동일한 방식으로 달성해야한다는 요구 사항은 없습니다. 따라서이 경우 카드의 기본 동작을 클릭 동작으로 만들고 버튼의 동작을 앱의 다른 위치에 제공 할 수 있습니다.

잘 작동하는 패턴 중 하나는 클릭시 대화 상자를 표시하는 것이고 여기에는 모든 작업이 포함됩니다.이 혜택의 몇 가지가 있습니다

  • 카드가 이렇게 카드를 탐색 한 조치가된다 단일 슬쩍 만
  • 기본 대화 상자가 기본적으로 액세스 할 수 - 어떤 추가 작업이

I wrote a blog post을을 필요로하지 내가 쓰는 것을 도왔던 도서관에서 어떻게 할 수 있는지 설명했다. "작업 대화 상자"아래의 섹션은 관련 비트입니다.