我想向 android 小部件添加更详细的描述,即我需要 Android 的 HTML 属性 aria-descriptedby 的替代方案。 例如。我想 TB 宣布退出按钮,附加描述为“按退出按钮关闭应用程序”,这里“退出”是我通过内容描述添加的
button.setContentDescription("exit");
但是我如何添加更多详细信息:“按关闭应用程序”?
最佳答案
简短回答:你不应该。
<小时/>更长的答案:您不应该这样做,因为这可能会让用户感到非常困惑。
原因一:
在“设置 -> 辅助功能 -> TalkBack -> 设置 -> 详细程度”下,用户可以决定不让 TalkBack 读取元素类型。 那么您的内容描述将不会被读取为“退出,按钮...双击激活”,而是被读取为“退出”。 因此,用户在第二部分中输入的信息将会丢失。
原因2:
根据您的目标群体,用户甚至可能不会与您的屏幕进行物理交互。一些用户可能会使用语音输入或开关盒作为他们和屏幕之间的代理。 TalkBack 说“按”根本就是错误的,甚至会让用户感到困惑,因为他们永远不会按屏幕上的任何内容。
因此,Google 决定使用更通用的术语和句子,您也应该继续使用它们。
原因3:
经常使用 TalkBack 阅读器的残疾人已经习惯了更快的阅读速度,并且习惯了标准的操作系统元素。如果您开始重命名它们,它们的正常流程就会被打断,并且用户会感到困惑:
"ABC-Button ... Double-tap to activate"
"DEF-Button ... Double-tap to activate"
"GHI-Button ... Double-tap to activate"
"JKL-Button ... Press to close application" ... "Huh?!"
"MNO-Button ... Double-tap to activate"
可能的解决方案:
不要为残障用户提供比视力正常的用户更多的信息。您的元素应该通过为可见和不可见的用户提供通用但易于理解的描述来“自己说话”。
如果用户可以从上下文中推断出该按钮将关闭应用程序,则按钮上的文本“退出”就足够了。
或者,您可以将按钮命名为“退出应用程序”,这与内容描述的文本相同。
关于java - 如何向 android ui 元素添加附加信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46484574/