强制屏幕阅读器一次读取一个字母而不是整个单词

时间:2016-05-04 21:21:59

标签: html accessibility screen-readers

我正在构建包含以下内容的HTML网页:

  

要继续,请输入以下代码:GJBQTCXU

" GJBQTCXU"是由一串字母组成的代码;然而,屏幕阅读器试图将其作为一个单词发音。我怎样才能阻止他们试图发出这个荒谬的单词,而是让它一次读一个字母:" G J B B T C X U"。

作为澄清,我正在构建此页面,以便屏幕阅读器自动执行正确的操作。我知道用户可以选择让他们的读者一次发出每个字母,但我不希望我的用户必须采取任何额外的步骤。

3 个答案:

答案 0 :(得分:3)

尝试使用CSS字母间距属性 -

<div>G J B Q T C X U</div>

div {
    letter-spacing:-1.9px;
}

例如: http://codepen.io/stevef/pen/grZGBP

答案 1 :(得分:0)

有许多屏幕阅读器,由于可访问性API差异,这些阅读器在浏览器之间也可能不一致。

据说这是对WebAIM http://webaim.org/techniques/screenreader/

的功能的一个很好的概括

他们注意到,默认情况下,某些屏幕阅读器不会像句点,分号等那样读取标点符号,而是在它们之间暂停。您可以尝试这些隐藏的视觉版本。现在,如果他们打开了更详细的设置,它可能会读取它们。

提到的另一个阅读方面是一些屏幕阅读器在段落的末尾暂停。因此,如果您将每个字母包装在一个p标签中,然后将它们显示为内联,则可能会有暂停。

由于细微差别在浏览器之间的屏幕阅读器之间没有记录,因此很难说它们都适用于您的实例。

由于用户只需使用左/右箭头键来阅读单个字母,因此常规屏幕阅读器用户不会花很多时间慢慢阅读这个字。

我会说如果将详细设置设置得很高,标点符号会更危险。所以首先尝试段落标记方法。由于用户也可以在带有屏幕阅读器的段落标签之间跳转,可能会有一些混乱,但它似乎是两者中的较小者。

答案 2 :(得分:0)

我觉得对此的真正答案是:

<div aria-label="G J B Q T C X U">GJBQTCXU</div>