使用 TalkBack 时,Android focusable 和 importantForAccessibility 有什么区别?

2024-01-28

我注意到在很多情况下android:importantForAccessibility="yes"可以替换为android:focusable="true"与 TalkBack 的工作方式完全相同。什么时候应该android:importantForAccessibility="yes"使用而不是使用可聚焦?

Android 定义android:importantForAccessibility as:

描述此视图对于可访问性是否重要。如果它很重要,则视图会触发辅助功能事件并报告给查询屏幕的辅助功能服务。注意:虽然不建议,但辅助服务可能会决定忽略此属性并对视图树中的所有视图进行操作。https://developer.android.com/reference/android/view/View.html#attr_android:importantForAccessibility https://developer.android.com/reference/android/view/View.html#attr_android:importantForAccessibility

And android:focusable="true" as:

控制视图是否可以获得焦点。默认情况下,这是“自动”,它让框架确定用户是否可以将焦点移动到视图。通过将此属性设置为 true,视图将获得焦点。通过将其设置为“false”,视图将不会获得焦点。该值不会影响直接调用 requestFocus() 的行为,无论该视图如何,它都将始终请求焦点。它只会影响焦点导航尝试移动焦点的位置。https://developer.android.com/reference/android/view/View.html#attr_android:focusable https://developer.android.com/reference/android/view/View.html#attr_android:focusable


Focusable是指“输入焦点”和“键盘焦点”。可聚焦控件是一种可以接收输入焦点(光标)或键盘焦点的控件...这基本上意味着用户可以使用轨迹球/键盘导航来突出显示此类控件并通过“选择”操作与此类控件进行交互...示例:按键盘上的 Enter 键。

isImportantForAccessibility 指的是辅助功能焦点。这与输入焦点高度相关,但又非常不同。例如,输入仅聚焦“信息性”文本内容是没有意义的。然而,让一个段落获得可访问性焦点非常重要。这使得使用 TalkBack 的用户能够集中注意力并听到此类信息控件的语音反馈。

如果用户使用键盘导航,输入焦点和辅助功能焦点将相同,但如果用户使用 TalkBack 滑动导航,输入焦点和辅助功能焦点可能不同。

例如:

光标可能位于 EditText 框中,而辅助功能焦点位于其下面的段落上,通过 VoiceFeedback 向用户解释该控件的用途。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 TalkBack 时,Android focusable 和 importantForAccessibility 有什么区别? 的相关文章

随机推荐

  • Kestrel MaxRequestBodySize 上传文件超出限制

    我确实遇到了红隼的一个奇怪的问题 我无法上传超过 kestrel MaxRequestBodySize 的多个文件 预期的行为是抛出BadHttpRequestException当我尝试阅读时this Request Form Files
  • 使用 bash 脚本比较两个文件并打印详细的差异报告

    我在 Unix 系统上有 2 个大文件 每个文件有数千行和大约 80 列 我已根据一组唯一键对文件进行排序 以便我们始终比较相同的行 为了便于理解 我在这里只给出 3 行和 7 列 File 1 d report ref date 2021
  • Angular-Material 设置了只有月份和年份的日期选择器

    我正在使用角度 1 5 9 和角度材料设计 1 1 1 我想添加一个仅包含月份和年份的日期选择器 没有日期 它用于结帐表单中的信用卡到期字段 您可以设置md mode month 下面的工作演示
  • 在opencv上检测非闭合轮廓

    我正在做自动卡检测的计算机视觉项目 我需要将卡片与背景分开 我已经应用了精明的边缘检测 使用自动参数设置 opencv中Canny操作自动计算低阈值和高阈值 https stackoverflow com questions 4292249
  • 将 EJB 作为实例变量注入 servlet 是否安全?

    我们都知道 在 Web 层中 可能只存在给定 Servlet 的单个实例来服务多个请求 这可能会导致实例变量中的线程问题 我的问题是 使用 EJB 注释将 EJB 作为实例变量注入到 servlet 中是否安全 我最初的直觉是否定的 因为假
  • 规范化音频,如何将浮点数组转换为字节数组?

    大家好 我正在播放音频文件 我把它读作byte 然后我需要通过将值放入 1 1 范围内来标准化音频 然后我想将每个浮点值放入byte i 数组然后把它byte 返回到正在播放的音频播放器 我试过这个 byte data ar ReadDat
  • 本地网络上的可靠组播

    我正在使用 C 和 Qt 实现一个消息系统 经过深思熟虑 我确定多播或多播风格的技术最能解决我的问题 然而 我了解到UDP的不可靠性并认为这是不可接受的 我的要求如下 消息将以二进制序列化形式发送 从网络上的任何给定节点 我必须能够向其他节
  • 对于这个 Java ByteBuffer 的行为有解释吗?

    我需要将数值转换为字节数组 例如 要将 long 转换为字节数组 我有以下方法 public static byte longToBytes long l ByteBuffer buff ByteBuffer allocate 8 buff
  • 如何在c# RSA中使用私钥加密并使用公钥解密

    我找到了几种可以使用 Net RSA Provider 使用公钥加密消息并使用私钥解密的解决方案 但我想要的是用私钥加密并用公钥解密 我想将公钥存储在我的应用程序中 并使用私钥在我的开发计算机上加密许可证 将其发送到应用程序并让信息使用公钥
  • 如何再次覆盖/重用 Hadoop 作业的现有输出路径

    当我每天运行 Hadoop 作业时 我想覆盖 重用现有的输出目录 实际上输出目录将存储每天作业运行结果的汇总输出 如果我指定相同的输出目录 则会出现错误 输出目录已存在 如何绕过这个验证 在运行作业之前删除目录怎么样 您可以通过 shell
  • iPhone SDK - 如何以编程方式使用动画滚动 UITableView?

    如何使用动画将 UITableView 滚动到特定位置 目前我正在使用此代码跳转到一个位置 tableController gt viewDidLoad self tableView reloadData NSIndexPath index
  • Android Examer Monkey 开始随机播放音频文件

    我正在运行锻炼猴子来测试我的 Android 应用程序 作为我的应用程序的一部分 我播放给出单词发音的媒体文件 我已将这些文件放在 Android 音乐播放器无法读取的目录中 然而 锻炼猴子抛出了一些事件序列 这些事件序列似乎激活了音乐播放
  • 使用 gmail api 访问委托邮件文件夹

    假设有 电子邮件受保护 cdn cgi l email protection and 电子邮件受保护 cdn cgi l email protection Alice 已将她的帐户委托给 Bob 当我向 Bob 进行身份验证并尝试使用 RE
  • 针对 XP 的 Visual Studio 2012 编译 - 无效 win32 - v110_xp

    我有 Visual Studio 2012 update 4 和 Windows SDK 7 1 我选择 Visual Studio 2012 Windows XP v110 xp 工具包 并将包含目录更改为使用 WindowsSdkDir
  • 无法通过反射设置器设置字段值

    在使用 hibernate 和 MySQL 的 spring mvc 应用程序中 我收到一个错误 该错误似乎表明Name实体找不到设置器id的财产BaseEntity的超类Patient实体 我该如何解决这个错误 这是错误消息 Caused
  • 是否有必要为每个用例都包含登录信息?

    我将设计一个具有登录功能的系统 登录后 登录的用户可以执行几项操作 因此是否需要包括login用例由那几个用例组成 在大多数情况下 它只会让你的图表变得混乱 登录既不复杂 也不会给您带来太多附加值作为用例 在包含用例和描述的文本文档中 包含
  • JAVAMAIL:AUTH NTLM 失败

    我尝试使用微软交换服务器在本地网络中用java发送电子邮件 这是我的代码 import java io UnsupportedEncodingException import java util Properties import java
  • html2pdf页码编号

    我有这样的代码 html2pdf new HTML2PDF P A4 en html2pdf gt WriteHTML html html2pdf gt Output 如何在文档底部添加页码 我仍在寻找它 我刚刚找到了解决方案 在您的模板中
  • 如何更新 Angular 库项目?

    我有一个使用 Angular 11 版本生成的 Angular 库 现在我想将其更新到 Angular 12 但使用 ng update 命令没有成功 我使用了以下命令 ng update project my lib 上述库已发布在 np
  • 使用 TalkBack 时,Android focusable 和 importantForAccessibility 有什么区别?

    我注意到在很多情况下android importantForAccessibility yes 可以替换为android focusable true 与 TalkBack 的工作方式完全相同 什么时候应该android important