当前位置: 首页 > 知识库问答 >
问题:

对讲不会宣布按钮“按选择激活”

庞意智
2023-03-14

我想在用户导航到DialogFragment时给出以下对讲事件序列,

1)在导航到< code>DialogFragment时,初始焦点应该在正按钮上

2)对话框的标题描述应该在不关注它的TextView的情况下公布

2) 最后,它应该读出肯定按钮的内容描述

override fun onResume() {
        super.onResume()
        positiveButton.contentDescription = "OK"
        positiveButton.announceForAccessibility(dialogArguments.title+dialogArguments.message)
        positiveButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT)
        ViewCompat.setAccessibilityDelegate(positiveButton, object : AccessibilityDelegateCompat() {
            override fun onPopulateAccessibilityEvent(host: View?, event: AccessibilityEvent?) {
                super.onPopulateAccessibilityEvent(host, event)
                event?.text?.clear()
                positiveButton.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null)
            }
        })
    }

上面的代码按照要求的顺序工作,但是它没有在最后宣布类类型,即按钮和动作描述“按选择激活”

共有1个答案

夏振国
2023-03-14

您这里有相当多的代码试图控制TalkBack用户体验。我们通常建议只向辅助功能 API 提供正确的信息,并允许 TalkBack 处理将其传达给用户的过程。

我们建议不要试图设置可访问性焦点。在每个可访问性事件上设置它可能会导致一些非常不受欢迎的副作用。

如果您删除所有这些代码,除了按钮没有文本的内容描述(尽管可能是xml格式的),会怎么样呢?

我们知道TalkBack在对话框中的初始焦点并不总是最佳的,但由于TalkBack做到了这一点,它应该在应用程序之间保持一致。如果我们找到更好的解决方案,那么它将在应用程序之间保持一致。每当Talkback发生变化时,像这样的解决方法代码就会中断。

 类似资料:
  • import { Checker,CheckerItem } from 'feui'; components: { [Checker.name]: Checker, [CheckerItem.name]: CheckerItem }, data () { return { items1: [ { key: "1",

  • 我是Selenium IDE的新手,在这里需要选择单选按钮的帮助。就我而言,我正在尝试为由单选按钮组成的特定表单生成一个测试用例。当我运行命令以单独选择其中一个单选按钮时,该函数可以工作,但如果我运行整个测试用例,则单选按钮不会被选中并给出找不到Element Id的错误。这是我的html: 我的IDE命令:单击Target: id=ProjectSolutionsProject0。我尝试了ver

  • 在此对话框您可以指定当浏览磁盘文件夹 (“在压缩文件外部时显示”选项) 或查看压缩文件内容 (“在压缩文件内部时显示”选项 ) 时,要显示哪一些工具栏按钮。可以改变按钮的顺序,只要选择您希望移动的按钮并按下“上移”或“下移”来改变它们的位置。如果您要恢复默认工具栏配置,按下“默认”按钮。 “分隔符”按钮在选择的当前按钮前插入一个分隔符线。如果您要移除一个分隔符,或者取消它的选择状态,或者再次按下“

  • 我在一个HTML页面上有2个按钮组。每组3到4个按钮(使用引导程序的按钮)。我想使用Javascript在没有onclick的情况下更改点击时的颜色按钮。 用户将单击组1中的任何按钮(单击“将颜色改为绿色”时),然后单击组2中的按钮,而不取消选择组1中的按钮。 null null

  • 如何通过调用javascript的内联函数来检查单选按钮是否被选中? 现在我没有得到任何东西,它忽略了cnfrm函数,所以我想让它执行,这样我就可以检查它是否被选中。

  • 我已经搜索了前面的一些问题,并没有能够纠正--我是一个完全的新手,所以请原谅我的无知...尝试使用以下方法选择页面上的第三个“单选”按钮: 结果是: “消息:没有此类元素:找不到元素:{”method“:”XPath“,”Selector“:”//[@id=“Wizard_Tabs”]/div/div[1]/div/ul/li[3]/input“}”