[drupal-support] Making a Drupal website speak

Kobus Myburgh ITBJDM at puknet.puk.ac.za
Fri Sep 2 07:03:39 UTC 2005


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/ ]



More information about the drupal-support mailing list