8

我试图找到有关编写盲人可以访问的网页的信息,但还没有找到很多有用的信息。具体来说,我正在寻找的是如何给屏幕阅读器一般的具体说明,关于如何阅读我的页面内容。我知道覆盖屏幕阅读器的用户设置可能会被视为一种烦恼,但是,我希望能够访问的内容是诗歌、戏剧、故事和其他类型的创意写作。由于在同一个文档中经常有许多不同的角色在说话,如果我有一种方法可以指定屏幕阅读器声音的不同特征,以便让盲人(或任何人)有机会听到声音,那就太好了区分不同的说话字符。马上,

内容示例可能是:

布伦达:嘿,吉米!这是怎么回事?

吉米:布伦达!看看!你听起来像个女人,我听起来像个男人!

慢孩子:哦……我听起来很慢……

那么,我有什么方法可以定义标签、属性或以某种方式将脚本附加到元素上,以更改网页中特定内容的说话声音?为了在 IE 和 Firefox 中以类似的方式呈现语音文本,是否有定义我可以使用的标准?原生浏览器支持怎么样,我看过一些用于屏幕阅读的插件,但我很好奇 IE 或 Firefox 中是否有任何文本到语音支持,所以我不必安装插件。

更新:黑客在 Firefox 中的做法:

如果找到更简单的方法,请给出更好的答案!

这里有一些有希望的东西......引用“speak.js”:

“speak.js 是 eSpeak 的一个端口,一个开源语音合成器,使用 Emscripten 从 C++ 到 JavaScript。”

Mozilla 开发博客上关于 speak.js 的文章。

speak.js 的 GitHub 页面上的来源:kripken/speak.js 引用自 readme.markdown:

“选项

您还可以通过调用 speak() 来指定一些选项

speak('hello world', { option1: value1, option2: value2 .. })

可用选项有:

amplitude: How loud the voice will be (default: 100)
pitch: The voice pitch (default: 50)
speed: The speed at which to talk (words per minute) (default: 175)
voice: Which voice to use 
       (for a non-default voice, requires you to build speak.js
       to include the proper data. See Language Support
       below) (default: en/en-us)
wordgap: Additional gap between words in 10 ms units (default: 0)
noWorker: Do not use a web worker (see below in 'Architecture')

例如

speak('hello world', { pitch: 100 })

会用非常高的声音说话。”

笔记:

目前这只适用于 Firefox。虽然这不是我想要的,但似乎完全可以使用 javascript 来解析 HTML 并使用属性来触发带有我想要的任何选项的“speak”命令。这将需要一些工作,但最终我可能会得到一个可以尝试在上下文中阅读页面的机器人!:D

4

2 回答 2

1

目前我能指出的唯一方向是http://www.w3.org/TR/CSS21/aural.htmlhttp://www.w3.org/TR/css3-speech/#aural-model .

对于屏幕阅读器等辅助技术的优化,在野外并没有很多真正有用的资源。但也许其他一些比我知识渊博的成员能够提供更大的帮助。

于 2012-07-24T10:30:19.757 回答
0

我面临着类似的挑战。(我想使用语音“字符”来区分不同类型内容的语义)。

我非常喜欢 eSpeak,并在我们让配音演员加入之前广泛使用它来制作语音内容的原型。因此,我发现 speak.js 是一项非常有趣的工作。

但是,我会警惕自己滚动的可访问性解决方案,因为我知道屏幕阅读器用户通常对语音设置(速度、音高、音色、性别、口音等)有非常具体的偏好。

如果您确实按照您建议的方式进行,请确保您的用户可以轻松调整设置(就像他们可以使用大多数屏幕阅读器软件一样),并且这些设置在访问之间保存(例如使用 cookie)。这似乎需要做很多工作才能正确完成。如果你有时间和预算,那就太好了!

现在我要去访问那些 css3 语音链接。

于 2018-05-15T08:49:28.390 回答