如何隐藏屏幕阅读器中的溢出内容

时间:2016-08-17 10:49:23

标签: css accessibility screen-readers nvda

我正在制作内容策划网站。你可以策划的一件事是一个带有一些文字但没有字符限制的小部件。小部件(及其预览)通过简化设置overflow: hidden

来呈现

目前,管理员需要预览窗口小部件,并在发布之前检查它是否“正常”。

但是,如果您使用的是屏幕阅读器,屏幕阅读器甚至会读出隐藏的文本,因此视障人士不会知道有视力的用户会溢出内容。

一种解决方案是强制执行字符限制,这是我们最初避免的,因为字符限制对于非等宽字体不是很好。

然而,在诉诸于此之前,我想知道是否可以隐藏屏幕阅读器中溢出的内容?

4 个答案:

答案 0 :(得分:1)

aria-hidden="true"会让屏幕阅读器无法识别该元素及其内容,这意味着它不会被读出。

aria-label将设置辅助技术(屏幕阅读器等)将会感知的文本。

http://www.w3.org/TR/wai-aria/states_and_properties

答案 1 :(得分:0)

一个公认的解决这个问题的方法是首先回答这个问题的答案:

Transfer overflow from one div to another

这样您就可以将溢出的内容与另一个div分开。之后,您可以使用JavaScript添加 aria-hidden=true

elem.setAttribute("aria-hidden", "true");

在上面给出的示例中,代码片段使用了jQuery,所以你也可以这样做:

p2.attr( "aria-hidden", "true" );

如果溢出是水平的,我认为这不会起作用。解决这个问题会非常困难,但这适用于垂直溢出。

希望有所帮助!

答案 2 :(得分:0)

这可能不是你想要的答案,但我的想法总是可访问性应该很简单!

这里最糟糕的情况是什么?屏幕阅读器用户必须听一个其他用户看不到的句子吗?或者它实际上可能是文本段落?如果是前者,我根本不担心。

答案 3 :(得分:-1)

要隐藏屏幕阅读器中的内容,您可以使用属性aria-hidden="true"

<span aria-hidden="true">Here be redundant or extraneous content</span>

Source