views:

73

answers:

5

I am making a web page that displays fragments of text from news sites (CNN, BBC, etc.) but I also want it to be read to people who can't see. How can I program the HTML page to read the text for them? Any ideas?

Thanks, Boda Cydo.

+1  A: 

No, you need to use Flash or a Java Applet to do this. There is nothing native in a browser for text-to-speech. Most people with these needs already have software that does this for them.

Diodeus
Wouldn't it be a good idea if browsers had native text-to-speech? Then blind people would be able to use computers easier...
bodacydo
I think I am going to write Microsoft and Mozilla Foundation an open letter on importance of this subject.
bodacydo
No, having this built into browsers would be pretty silly — how would they start the browser? Having it built into the desktop environment is much more useful … and it often is: http://www.apple.com/accessibility/voiceover/ / http://live.gnome.org/Orca
David Dorward
Check out the Opera browser - it has a voice plugin you can use to read web pages, and browse with voice commands.
DisgruntledGoat
A: 

look to http://en.wikipedia.org/wiki/JAWS_%28screen_reader%29 . As far as i know it have integration with browsers

shuvalov
Thanks, looking now.
bodacydo
+5  A: 

People who can't see will already be using either a screen reader (which will read the text to them), braille display or similar.

You just need to focus on making the text accessible and let their software handle "displaying" it to them.

David Dorward
I am going to read more about this subject. Thanks!
bodacydo
+2  A: 

The best way to make your website readable to people who cannot see is to use semantic HTML and follow standards. HTML readers can't magically infer your meaning if you don't. For example:

  • Use H1-H6 to designate the correct levels of titles in your site
  • Use P tags for body content
  • Use UL lists for navigation and A tags only for things that are really links
  • Use CSS for style - If an image is just used for style, put it in a background image instead
  • Only use tables for data that really is tabular.
  • If you have any content images, use IMG and provide ALT text
  • Use LABEL tags appropriately for forms
  • Use title attributes where appropriate
  • Most importantly - try turning off CSS in your browser. Does your web page still make sense to you? If so, you are probably on the right path.
Renesis
A: 

As Diodeus noted, if they have a need for text to speech then they will already have software to read for them. Just make the text available.

If you actually want to go through with implementing it yourself (though I wouldn't recommend it) then you can try to use the Google Translate API as described here. It looks like Google has taken down that text-to-speech site for now, but I assume (since it's Google after all) that they'll eventually release it. You may want to also look at the Android TTS library here.

John D.