[drupal-support] Making a Drupal website speak

Kobus Myburgh itbjdm at puknet.puk.ac.za
Fri Sep 2 14:30:22 UTC 2005


> Yuo make the sam mistake as a lot of peolpe see mto make: OSS is NOT -i 
> repeat- NOT more difficult than windows. recent test pointed out that esp for 

Well, I found it MUCH more difficult to install Redhat than I found to install XP for the first time, so, that statement was made on my own experiences.

> I have never come across a site that reads to me from server side, though it 
> would be very interesting. 

No, this is NOT going to be server side. Much too much bandwidth. Using client side technologies, but NOT screen readers. If you can manage a computer with IE6, look at www.eagleeyes.co.za, ignore the limited functionality, and the long text, and nonsense, but you'll see where I am going. My main point is that the text spoken and the text displayed might not be the same, as in my example. Screen Readers won't interpret that correctly.

I have stumbled upon a server-side speech engine here: 

http://www.readspeaker.com/en/index.php 
http://asp.readspeaker.net/cgi-bin/rsenrsnav?lang=en

> But all in all I think your idea is great. And I think you should consider the 
> most general approach, either by making a language/translation, or by 
> providing a speech theme, for that will catch all content.  (isn't speech not 
> just another way of 'looking' at the content?)

Thanks for your kind comments! See my previous mail about the language concern (especially the last paragraph or so), so I am working on a speech theme/module combination. The theme would've worked PERFECTLY with the language option if Drupal's translation worked in "page content" instead of occurences of words (wrongly put I know, so consider the example below): 

gallery
/af/4.6.3/index.php?q=admin/locale/language/overview af  redigeer vee uit 
glossary
/af/4.6.3/index.php?q=admin/locale/language/overview af  redigeer vee uit 
join chatbox
/af/4.6.3/index.php?q=admin/access af  redigeer vee uit 
jsdomenu
/af/4.6.3/index.php?q=admin/locale/language/overview af  redigeer vee uit 
legal
/af/4.6.3/index.php?q=admin/locale/language/overview af  redigeer vee uit 

Do you see my point? How do you convert those texts into readible content for the blind viewer of the site?

A speech module/theme combination, as implemented on my site Eagle Eyes, will not catch all content. That is the beauty of it. Sit through the intro session with an IE6 browser, and see what I mean. It's a bit "drawn out" at the moment, but it works sort-of, except for the fact that the Core pages aren't spoken. Compare the "front page" and the "user account" page which is accessible from the "System" menu item.

Regards,

Kobus


Op vrijdag 02 september 2005 15:08, schreef Kobus Myburgh:
> Ber,
>
> The reason why I am going this route is because:
>
> 1. Many people can't afford commercial screen readers.
> 2. Most of the screenreaders in the open-source/freeware market that I've
> evaluated simply sucks, to say the least. 3. As I said - sometimes you
> don't want to speak the exact text than what you print on the page, as per
> my login example below. 4. Most of the times, a person who has never used a
> computer for more than a simple word processing task before (like my blind
> girlfriend), understanding the open-source movement will be a daunting ask.
> She doesn't even understand Windows, how will she understand that? It must
> "just work" when she opens her browser. No questions asked, no nothing. 5.
> I want the site to work for ANYONE, not just those with screen readers.
> This site must talk for someone even without a screen reader.
>
> Now, maybe my route is still not optimal, and introduces problems that
> would otherwise not be present, but considering my circumstances and my
> requirements, it would defeat the purpose to let the client's T2S handle
> this.
>
> The question now is - when I get this to work (oh, and I will...) should I
> contribute it to Drupal, if it is not optimal?
>
> Regards,
>
> Kobus
>
> >>> berdrupal at tiscali.be 9/2/2005 2:40 PM >>>
>
> Kobus.
>
> I read myself into KDEs text-to speech stuff. And frankly I am very
> surprised by your route.
>
> FRom what I learned, modern T2S synthesisers deal with (valid) XHTML in a
> very good way. In other words: just use the proper XHTML, optionally with
> Speech CSS and let the clientside software handle your sites.
> I fail to see why you would want to present users with speech on server
> side, if they can very well deal with valid pages.
>
> Mohammed al-shar, welcome. I am very sure you will be a very valuable
> addition to the Drupal team. People who have good (first-hand) knowledge
> about speech and web, or braille terminals and XHTML can be of great help
> to improve Drupal even more. Welcome!
>
> Ber
>
> Op vrijdag 02 september 2005 09:03, schreef Kobus Myburgh:
> > Ber,
> >
> > Sometimes it might be inappropriate just to speak whatever is on the
> > page, because it will not be clear to follow - this much I have noticed.
> > Look, for example, at a simple login page, what do you see?
> >
> > Username: [                    ]
> > Password: [                    ]
> >
> > If you're going to hack t() to speak the text, it will read to you
> > 'Username Password'. For blind users it might be useful to give a bit
> > more instruction. Sighted users can use intuition to understand that the
> > empty space means "username goes here" and "password goes here", but a
> > blind user won't necessarily know that. The concept of "here" is not
> > applicable to them. You can't say "click here" or "provide your e-mail
> > address here".
> >
> > Immediate thought here would be:
> >
> > 1. Hack t(), as you suggested, by adding a parameter, say, sid, which
> > refers to the content of #2. 2. Make a new table in the database with the
> > exact text to speak on each system page, and use the sid parameter to
> > retrieve that information from the database and speak it, if available.
> >
> > This would allow us to accomplish:
> >
> > 1. Keep the site's output to be regular for normal site visitors
> > 2. Speak the normal t()'d text if the new database entry is not provided
> > 3. Speak the alternative text if provided
> >
> > This would require one of two things:
> >
> > 1. Patching each and every core module, finding instances of t() and
> > fixing them 2. Introduce a new function, say, s(), which will have one
> > text string for each different page in Core.
> >
> > I assume #2 would be the easiest, but that s() would have to reside in a
> > module, and be globally available, and tested for its presence with "if
> > (module_exists(speech))..." or something like that?
> >
> > Thanks for pointing me in the right direction! I will get to work on that
> > immediately... :-)
> >
> > Regards,
> >
> > Kobus
> >
> > >>> berdrupal at tiscali.be 9/2/2005 12:52:22 AM >>>
> >
> > Kobus,
> >
> > No I did not test it. I still need to figure out how to get my speech
> > stuff working in KDE.
> > I just came with the idea for a theme, because ALL content is ran trough
> > themes. So you can easily do magic to any page in your theme. or example
> > return an ogg instead of HTML.
> >
> > But, as said: all content all strings are ni the transatiopn databasze,
> > so I think an easy way is to hack t(), so that it calls a speech
> > function.
> >
> > Ber
> >
> > Op donderdag 01 september 2005 16:59, schreef Kobus Myburgh:
> > > Ber,
> > >
> > > I will happily contribute the speech theme, however, most of my stuff
> > > is not theme related. It is a module I wrote, and I need to speak the
> > > text that is in Drupal core and modules, not content that I added to
> > > the site. Did you test it out? Does it work on your side? Could you see
> > > my ideas?
> > >
> > > Regards,
> > >
> > > Kobus
> > >
> > > >>> berdrupal at tiscali.be 9/1/2005 4:48:56 PM >>>
> > >
> > > Most texts are ran trough t(), I guess you can use that? otherwise some
> > > of the theme function might help you along. A speech theme would be
> > > very cool.
> > >
> > > Op donderdag 01 september 2005 11:12, schreef Kobus Myburgh:
> > > > Hi,
> > > >
> > > > I have implemented a Drupal site with MSAgent for a project I need to
> > > > do for my studies, as well as part of the ongoing project that I am
> > > > working on at: http://drupal.org/node/22997.
> > > >
> > > > I have created a module that adds a few fields to every node that you
> > > > create, namely:
> > > >
> > > > Spoken text (same as $node->body if not entered)
> > > > Spoken title (same as $node->title if not entered)
> > > > etc.
> > > >
> > > > While this works relatively well for published content, it will
> > > > obviously not work for Drupal's system pages, e.g. the user login
> > > > page or administration pages. Do I have to hard-code this into the
> > > > Drupal modules, or is there a way I can extend all system modules to
> > > > have customizable texts which can be spoken? If you need more access
> > > > on the site to be able to create content and work on this project
> > > > with me, please let me know.
> > > >
> > > > If you want a demo of the problem I am experiencing, please take a
> > > > look at www.eagleeyes.co.za (currently only tested with IE6...) There
> > > > will be a security message coming up, which you can decline. It is
> > > > only to allow speech in the menu (will not be asked again if you put
> > > > the site in your trusted zones in IE). The speech of the content will
> > > > work regardless, providing you have a TTS Engine installed. This is
> > > > usually installed to a degree with a standard Windows XP Pro install,
> > > > so you shouldn't experience any trouble.
> > > >
> > > > If you look at the main page, you will see that the text is spoken to
> > > > you, but if you click in the menu on the System -> Maintenance, you
> > > > should be provided with an Access Denied message. When you press
> > > > Control+Shift+J to activate speech, you will see what I mean.
> > > >
> > > > Any ideas would be greatly appreciated.
> > > >
> > > > Regards,
> > > >
> > > > Kobus
> > >
> > > Regards,
> > >  Bèr
> > > --
> > >  [ Bèr Kessels | Drupal services www.webschuur.com ]
> > > --
> > > [ Drupal support list | http://lists.drupal.org/ ]
> >
> > Regards,
> >  Bèr
> > --
> >  [ Bèr Kessels | Drupal services www.webschuur.com ]
> > --
> > [ Drupal support list | http://lists.drupal.org/ ]
>
> Regards,
>  Bèr
> --
>  [ Bèr Kessels | Drupal services www.webschuur.com ]
> --
> [ Drupal support list | http://lists.drupal.org/ ]
Regards,
 Bèr
-- 
 [ Bèr Kessels | Drupal services www.webschuur.com ]
--
[ Drupal support list | http://lists.drupal.org/ ]



More information about the drupal-support mailing list