html - 从下拉列表中选择值时在画外音发音中选择前缀
问题描述
我在我的网络应用程序中使用更改语言下拉菜单,我正在研究网络应用程序的可访问性,在研究可访问性时我发现当从下拉画外音中选择特定选项时,只会发音所选选项,但为了使它更易于理解我想将其发音为已选择的值。是否可以在画外音/屏幕阅读器发音中为文本“选择”添加前缀?
请在下面找到代码
<label for="lang">Choose Language:</label>
<select name="lang" id="lang">
<option>English</option>
<option>日本人</option>
<option>русский</option>
<option>中文</option>
</select>
谢谢
解决方案
这又是一个著名的问题“如何让屏幕阅读器说 X 而不是 Y?”
一般的答案是,如果你想说 Y 而不是 X,那么就写 Y 而不是 X。如果写 Y 不合适,为什么要说 Y?为什么屏幕阅读器应该说与所写内容不同的东西?
我不会在这里再次进行整个讨论,但除了在相对罕见的情况下,事情应该按照写的方式说出来。如果不是这种情况,您可能会为不同范围的人制造问题:依赖语音和书面文本的弱视人群将无法听到和看到相同的内容;目前还不清楚盲文师是否应该阅读 X 或 Y,这取决于您将盲文视为书写系统的程度;等等
顾名思义,屏幕阅读器可以阅读屏幕上的内容。对于所有其他的,重要的信息并没有真正直接写在屏幕上,比如一个项目是否被选中,所有的屏幕阅读器都采用了不同的策略,而且它们通常是可配置的。例如,单词“selected”可能在所选元素之前或之后说;可能会使用不同的声音;音高可以调低或调高;一个声音可能会完全取代“选择”这个词;等等
最好不要以任何方式干扰向用户提供此类信息的确切方式。通过干预,您可能会为一组特定的用户澄清事情,但会混淆所有其他用户。
在组合框中选择的情况下,只需适当地使用 selected 属性,或者可能为自定义组件使用 aria-selected ,以便正确标记选择。从那里,将屏幕阅读器报告选择留给用户,因为他们习惯这样做。不要做任何特别的事情。
推荐阅读
- php - Cron 作业 - 如何防止发送重复通知?
- jquery - jQuery 不想一键将类切换到元素的父级
- c++ - Eigen loadMarket 无法编译
- c++ - 如果存在则忽略 char 并继续读取各种大小的 int 值
- python - 如何传递 sympy 表达式以与 scipy 一起使用?
- c++ - 使用此网格函数的立方体的正确顶点和索引是什么?
- php - 如何将每一行数据组合在一起?
- ef-code-first - 使用 Serilog 到 SQLite 的 Code-First EF Core
- php - 使用 crontab 每小时执行一次脚本,持续 24 小时
- react-native - 如何在带有 react-navigation 的屏幕之间拥有不同的过渡动画?