该文本不可见,仅用于屏幕阅读器。
例:
单击按钮后,我将显示一个绿色的选中标记png。我如何强制读者说类似“单击按钮”之类的内容。
最佳答案
问题标题的答案使用的是aria-live
区域(这是使屏幕阅读器读取文本的方式),但是对问题的描述听起来像是另一个问题。
单击按钮并获得绿色的选中标记后,是否可以再次单击该按钮而选中标记消失?如果是这样,那么它实际上是一个复选框。如果您未在幕后使用本机复选框(<input type="checkbox">
),则将需要aria-checked
属性(和role="checkbox"
)。只需在aria-checked
和true
(从javascript)之间切换false
,屏幕阅读器就会宣布更改。您需要role="checkbox"
,以便屏幕阅读器还宣布您有一个复选框,以便用户知道如何与之交互。您不必强制阅读任何文本。
如果您的按钮更像是可以按下或弹出的切换按钮(例如格式栏上的“粗体”或“斜体”按钮),则您需要使用aria-pressed
(和role="button"
)并在true
和false
之间切换其值。
请记住,如果您有一个自定义复选框或按钮,则需要允许使用除鼠标之外的键盘来选择对象。可以使用空格键选择一个复选框。按钮应允许使用空格键或Enter键。分别参见https://www.w3.org/TR/wai-aria-practices/#checkbox和https://www.w3.org/TR/wai-aria-practices/#button。
关于可访问性的最后一点说明是,如果您的绿色对勾(PNG)仅用于传达按钮的状态,那么您就可以了。但是,如果绿色也代表其他信息,则您需要另一个指示器来获取其他信息。例如,如果绿色对勾表示一件事,红色对勾表示另一件事,那么色彩不足的用户将无法分辨两者之间的区别。您需要附加的图标或文本格式(粗体,斜体,下划线)或某种视觉提示来传达含义。
关于javascript - 事件发生时,我们如何强制屏幕阅读器读取一些文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49881994/