首页 > 解决方案 > 从下拉列表中选择值时在画外音发音中选择前缀

问题描述

我在我的网络应用程序中使用更改语言下拉菜单,我正在研究网络应用程序的可访问性,在研究可访问性时我发现当从下拉画外音中选择特定选项时,只会发音所选选项,但为了使它更易于理解我想将其发音为已选择的值。是否可以在画外音/屏幕阅读器发音中为文本“选择”添加前缀?

请在下面找到代码

<label for="lang">Choose Language:</label>
 <select name="lang" id="lang">
  <option>English</option>
  <option>日本人&lt;/option>
  <option>русский</option>
  <option>中文</option>
 </select>

谢谢

标签: htmlmacosaccessibilitydropdownvoiceover

解决方案


这又是一个著名的问题“如何让屏幕阅读器说 X 而不是 Y?”

一般的答案是,如果你想说 Y 而不是 X,那么就写 Y 而不是 X。如果写 Y 不合适,为什么要说 Y?为什么屏幕阅读器应该说与所写内容不同的东西?

我不会在这里再次进行整个讨论,但除了在相对罕见的情况下,事情应该按照写的方式说出来。如果不是这种情况,您可能会为不同范围的人制造问题:依赖语音和书面文本的弱视人群将无法听到和看到相同的内容;目前还不清楚盲文师是否应该阅读 X 或 Y,这取决于您将盲文视为书写系统的程度;等等

顾名思义,屏幕阅读器可以阅读屏幕上的内容。对于所有其他的,重要的信息并没有真正直接写在屏幕上,比如一个项目是否被选中,所有的屏幕阅读器都采用了不同的策略,而且它们通常是可配置的。例如,单词“selected”可能在所选元素之前或之后说;可能会使用不同的声音;音高可以调低或调高;一个声音可能会完全取代“选择”这个词;等等

最好不要以任何方式干扰向用户提供此类信息的确切方式。通过干预,您可能会为一组特定的用户澄清事情,但会混淆所有其他用户。

在组合框中选择的情况下,只需适当地使用 selected 属性,或者可能为自定义组件使用 aria-selected ,以便正确标记选择。从那里,将屏幕阅读器报告选择留给用户,因为他们习惯这样做。不要做任何特别的事情。


推荐阅读