[Lazarus] Accessibility of Lazarus

Grzegorz Zlotowicz grzezlo at wp.pl
Fri Jun 27 20:50:27 CEST 2014


Hi all.
I'm Greg from Poland, a blind computer user and programmer. Looking for 
an advanced multi-platform framework to work with FPC, the Lazarus seems 
obvious choice, but unfortunately it has some accessibility problems.
After reading the
http://wiki.freepascal.org/LCL_Accessibility
I decided to write here about it, because maybe it'll be possible to fix 
the issues.
I'm using the NVDA screen-reader (www.nvda-project.org), and working 
under Windows (currently win7, but in xp the problems were the same, as 
I tested it some time ago).
Starting from simplest thing:
I compiled the bitbutton program in the examples directory.
The radio buttons, and their group names ("kind" and "layout") are read 
perfectly well.
But the problem is the button itself.
In the source, it has a "close" caption, but it is not announced by 
screenreader, although its' role as button is correctly recognized.
After setting the properties Accessiblevalue and accessibledescription 
to 'close', nothing changes.
The same problem has all buttons in Lazarus IDE, and also programs build 
using Lazarus.
Is there some possibility of solving the problem (I mean somebody 
knowleable and willing to do it)? Knowing Pascal, I don't know where to 
start debugging this thing.
I hope, that these problems can be rather easy to fix, and if it'd 
happen, it would make world easier for many people (not only 
programmers, but also all blind users of programs written using LCL).

The treeviews aren't accessible nearly at all (all items are read by the 
screenreader at the same time without identication which one is 
selected, or which collapsed); listboxes seems to work well.
But returning to the simplest button.
the fragment of the NVDA's log says about this control:

name: u''
role: ROLE_BUTTON
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
description: None
value: None
windowHandle: 32703706
windowClassName: u'Button'
windowText: u''
displayText: u''
IAccessible event parameters: windowHandle=32703706, objectID=-4, childID=0
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_PUSHBUTTON
IAccessible accState: STATE_SYSTEM_DEFAULT, STATE_SYSTEM_FOCUSED, 
STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048836)
IAccessible accDescription: None
IAccessible accValue: None

Greetings, Greg.




More information about the Lazarus mailing list