我正在构建一个包含以下内容的HTML网页:
为了继续,请输入此代码:GJBQTCXU
"GJBQTCXU"是由一串字母组成的代码; 然而,屏幕阅读器试图将其发音为单个单词。 我该如何阻止它们尝试发音这个无意义的单词,而是让它们逐个字母地读出来:“G J B Q T C X U”。
作为澄清,我正在构建此页面以使屏幕阅读器自动执行正确操作。 我知道用户可以选择让他们的阅读器逐个字母发音,但我不希望我的用户需要采取任何额外步骤。
我正在构建一个包含以下内容的HTML网页:
为了继续,请输入此代码:GJBQTCXU
"GJBQTCXU"是由一串字母组成的代码; 然而,屏幕阅读器试图将其发音为单个单词。 我该如何阻止它们尝试发音这个无意义的单词,而是让它们逐个字母地读出来:“G J B Q T C X U”。
作为澄清,我正在构建此页面以使屏幕阅读器自动执行正确操作。 我知道用户可以选择让他们的阅读器逐个字母发音,但我不希望我的用户需要采取任何额外步骤。
<div>G J B Q T C X U</div>
div {
letter-spacing:-1.9px;
}
example: http://codepen.io/stevef/pen/grZGBP
有许多屏幕阅读器,由于可访问性API的差异,这些阅读器在浏览器之间也可能不一致。
说了这么多,以下是从WebAIM http://webaim.org/techniques/screenreader/总结出的一个好的功能描述。
他们指出,默认情况下,某些屏幕阅读器不会读取标点符号(如句点、分号等),而是在它们之间暂停。你可以尝试使用 visually hidden 版本。如果打开了更详细的设置,可能会读取它们。
另一个提到的阅读方面是,某些屏幕阅读器会在段落结尾处暂停。因此,如果将每个字母都包裹在一个 p 标签中,然后使它们内联显示,就可能会有暂停。
由于浏览器之间的细微差别并没有得到充分记录,很难说哪个方法适用于您的实例。
既然用户可以使用左/右箭头键来逐个字母地阅读,那么对于常规屏幕阅读器用户来说,阅读单词缓慢并不需要花费太多时间。
我认为如果 verbosity 设置较高,标点符号会更加危险。因此,首先尝试使用段落标记方法。由于用户也可以使用屏幕阅读器在段落标记之间跳转,可能会有些混乱,但这似乎是两者中较小的问题。
我觉得真正的答案是:
<div aria-label="G J B Q T C X U">GJBQTCXU</div>
speak-as
属性(还有speak
)在浏览器支持方面非常糟糕。 - jlh