如何向android ui元素添加附加信息

时间:2017-09-29 08:15:10

标签: java android accessibility

我想添加到android小部件更详细的描述I.E我需要替代HTML属性aria-describedby for android。 例如。我想TB宣布退出按钮,附加说明为"退出按钮按下以关闭应用程序",此处"退出"我添加了contentdescription

button.setContentDescription("exit");

但如何添加更多详细信息:"按关闭应用程序"?

1 个答案:

答案 0 :(得分:0)

简答:你不应该。

更长的回答:你不应该因为这会让用户感到困惑。

原因1:

在"设置 - >下辅助功能 - > TalkBack - >设置 - >冗长"用户可以决定不让TalkBack读取元素类型。 然后您的内容描述将不会被读作"退出,按钮...双击以激活"而是作为"退出"。 因此,您输入第二部分的信息将丢失给用户。

原因2:

根据您的目标群体,用户可能甚至无法与您的屏幕进行物理互动。某些用户可能会使用语音输入或开关盒作为它们与屏幕之间的代理。 TalkBack说"按"对用户来说简直是错误甚至是混乱,因为他们永远不会在屏幕上按任何东西。

因此,Google决定使用更通用的术语和句子,您也应该继续使用这些术语和句子。

原因3:

使用TalkBack阅读器的残障人士习惯于更快的阅读速度,他们习惯于标准的OS元素。如果你开始重命名它们,它们的通常流程就会中断并且用户会感到困惑:

"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"

可能的解决方案:

不要让残障用户(更多)获得比看见用户更多的信息。你的元素应该为自己说话"通过对看到和看不到用户的通用但可理解的描述。

如果用户可以从上下文推断按钮将关闭应用程序,那么文本"退出"按钮就足够了。

否则,您可以命名您的按钮"退出应用程序",这将是内容描述的相同文本。