3

I am trying to make my view more accessible. I want talkback to announce Double tap to Apply instead of Double tap to Activate when focus shift to view. I am doing something like this:

    private var accessibilityDelegate = object : View.AccessibilityDelegate() {
    override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfo?) {
        super.onInitializeAccessibilityNodeInfo(host, info)
        val custom = AccessibilityNodeInfo.AccessibilityAction(
            AccessibilityNodeInfo.ACTION_CLICK,
            "Apply"
        )
        info?.addAction(custom)
    }
}
view.accessibilityDelegate = accessibilityDelegate

But this is not working as per my expectations. Please let me know what is wrong in this apporach.

1 Answers1

5

It looks like the right approach, is there anything else that might affect the setting?

Is the view some specific type of view? Which Android version are you using?

You could try using AccessibilityDelegateCompat in case it makes a difference.

ViewCompat.setAccessibilityDelegate(view, object : AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(v: View, info: AccessibilityNodeInfoCompat) {
        super.onInitializeAccessibilityNodeInfo(v, info)
        info.addAction(AccessibilityActionCompat(AccessibilityNodeInfoCompat.ACTION_CLICK, "Apply"))
    }
})
sigute
  • 1,143
  • 12
  • 21
  • Interestingly seeing the same issue, and wondering if custom accessibility handling in parent containers could cause this. – ablenesi Sep 21 '22 at 10:42