可点击的链接

背景

对于需要借助无障碍服务使用移动设备的用户来说,清晰显示的链接十分有帮助。例如,一位盲人可以使用 TalkBack 屏幕阅读器轻松地访问本地上下文菜单中的链接。

Android 为开发者提供了几种不同方式,用于显示采用超链接样式且具有超链接功能的文字。其中某些方式对于无障碍服务的支持比另外一些方式更可靠。

实现

使用 URLSpan 或便捷类 Linkify 在应用界面中显示超链接。这样,无障碍服务更有可能帮助用户检测到并激活这类链接。

如果您使用的是 URLSpan,请使用绝对网址 (https://android.com/robots.txt),而不要使用相对网址 (/robots.txt)。

对于某些无障碍服务来说,要稳定可靠地检测到并激活 ClickableSpan 可能会有困难。由于无障碍服务可能会通过 intent 广播来激活这些超链接,因此请考虑结合使用 URLSpan 以及相匹配的 IntentFilter 来处理点击操作。

请注意,这不再适用于 Android 8.0(API 级别 26)及更高版本。

设计

当使用 TalkBack 朗读包含超链接的文字时,实现得好的界面会在系统朗读超链接文字时生成一个听觉图标,而链接文字会显示在 TalkBack 的本地上下文菜单的“链接”子菜单中。

测试

要手动验证应用是否会针对无障碍服务显示超链接文字,请执行以下操作:

  1. 开启 TalkBack。
  2. 打开应用。
  3. 将无障碍功能焦点移至包含超链接的界面元素上。
  4. 在系统朗读此界面元素中的超链接文字区域时,请注意聆听指示超链接文字的电铃声。
  5. 当无障碍功能聚焦于包含超链接文字的界面元素时,请打开 TalkBack 的本地上下文菜单。
  6. 检查超链接文字是否显示在“链接”子菜单中。

Android 的自动化测试工具能够检测到未正确实现的超链接。您也可以考虑使用 Android 版无障碍功能扫描仪对设备上的应用进行人工测试。要实现自动化测试,请在 EspressoRobolectric 中开启无障碍检查功能。