[Lazarus] LCL not accessible for blind users

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Mon Aug 6 13:55:50 CEST 2012


On Mon, Aug 6, 2012 at 1:43 PM, Luciano de Souza <luchyanus at gmail.com> wrote:
> If I understand if the developer wants to provide accessibility to his or
> her application, he or she can handle special routines to do it. What is
> currently not possible is  to have accessible native controls. Is this true?

You could try the Qt widgetset in Windows. Maybe it will fare better
for accessibility of the standard windowed controls, although it will
not help anything for those controls which descend from
TGraphicControl like TLabel.

You need to differentiate the kinds of controls which are available in
the LCL and this wiki page is important for that:
http://wiki.lazarus.freepascal.org/Roadmap#Status_of_TCustomControl_based_controls_on_each_widgetset

Note that there are 3 kinds of controls:
*TGraphicControl descendents
*TCustomControl descendents
*native controls

Only native controls may possibly have their accessibility already
implemented by the underlying toolkit (when one is utilized). For all
others we need special code in the LCL to implement accessibility for
them. This code is mostly just setting some properties which are then
implemented in the general accessibility support for custom controls
which is implemented for each widgetset separately and can handle any
kind of custom control.

> So I ask: is there a schedule? Can blind Windows and Linux users have
> hopeness these features will be available in a short time?

No, for sure it won't be working in a short time. I am working since a
long time in getting accessibility working in Mac OS X and the process
is very long and needs a lot of time to depurate all the small details
and problems that appear.

There are multiple ways in which you can help, however.

The first step would be making a step-by-step guide of how to setup a
free (as in zero cost) screen reader in Windows. Write the
instructions in the wiki in this page:
http://wiki.lazarus.freepascal.org/LCL%20Accessibility#Screen_Readers

The second step would be start writing small applications which show
how to use the MS accessibility APIs in Free Pascal:
http://wiki.lazarus.freepascal.org/LCL%20Accessibility#Microsoft_Active_Accessibility

-- 
Felipe Monteiro de Carvalho




More information about the Lazarus mailing list