Note that there are some explanatory texts on larger screens.

plurals
  1. POSpecify different voices for specific content in web page
    primarykey
    data
    text
    <p>I have tried to find information about writing web pages that will be accessible to blind people and haven't found much useful information yet. Specifically, what I'm looking for is how to give specific instructions to screen readers in general, about how to read the content of my pages. I know that overriding user settings for a screen reader could be perceived as a type of annoyance but, the content I'm looking to make accessible is poetry, plays, stories, and other types of creative writing. Being that there are often many different characters speaking within the same document, it would be great if there were a way for me to specify different characteristics about the screen readers voice in order to allow the blind person (or anyone really) the opportunity to audibly distinguish the separate speaking characters. Right now, what I'm doing is using a narrator to tell the listener who is speaking, which is very unnatural and distracting.</p> <p>An example of content could be:</p> <blockquote> <p>Brenda: Hey Jimmy! What's up?</p> <p>Jimmy: Brenda! Look look! You sound like a lady and I sound like a man!</p> <p>Slow Kid: Ooh... and I sound very very slow...</p> </blockquote> <p>So, is there any way for me to define tags, attributes, or somehow attach a script to elements in order to change the speaking voice on specific content in a web page? Is there a standard defined that I can work with in order to present the spoken text in a similar fashion in IE and Firefox? What about native browser support, I've seen a few plugins for screen reading but I'm curious if there is any text to speech support built into IE or Firefox so I don't have to install a plugin.</p> <p><strong>Update: A hackers way of doing it in Firefox:</strong></p> <p>If a simpler method is found, please give a better answer!</p> <p>Here's something slightly promising... "speak.js" to quote: </p> <blockquote> <p>"speak.js is a port of eSpeak, an open source speech synthesizer, from C++ to JavaScript using Emscripten."</p> </blockquote> <p>An <a href="http://hacks.mozilla.org/2011/08/speak-js-text-to-speech-on-the-web/" rel="noreferrer">article about speak.js on Mozilla's Dev blog</a>.</p> <p>Source on <a href="https://github.com/kripken/speak.js" rel="noreferrer">speak.js' GitHub page</a>: kripken/speak.js quoting from the readme.markdown:</p> <blockquote> <p>"Options</p> <p>You can also specify some options with calling speak(), by doing</p> <p><code>speak('hello world', { option1: value1, option2: value2 .. })</code></p> <p>available options are:</p> <pre><code>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') </code></pre> <p>For example</p> <p><code>speak('hello world', { pitch: 100 })</code></p> <p>will talk in a very high-pitched voice."</p> </blockquote> <p><strong>Note:</strong> </p> <p>This only works in Firefox at the moment. While it's not exactly what I was looking for, it seems entirely possible to use javascript to parse through the HTML and use attributes to trigger the "speak" command with any options I'd like. This will take a little work but, in the end I might end up with a bot that can try to read a page in context! :D</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload