[Lazarus] Accessibility of Lazarus
Grzegorz Zlotowicz
grzezlo at wp.pl
Sun Jun 29 00:03:38 CEST 2014
Hi.
Unfortunately, I can't switch widgetset for bitbutton project. After
spending about an hour or more in the project options dialog, I can
achieve nearly everything (using keyboard or build-in in the
screen-reader virtual mouse emulation), but with no success about
widgetset, and in general any macro definitions.
According to:
http://wiki.lazarus.freepascal.org/IDE_Window:_Compiler_Options
I hope that this macros grid should exist somewhere in the compiler
options, or on the build modes dialog.
Unfortunately although I managed to add the debug and release modes, I
can not in any way access the macros grid.
I'm using:
lazarus-1.2.4-fpc-2.6.4-win32
Returning to the accessibility:
the wm_gettext message result is defined in the windowText field of
quoted log, but instead relying only on winapi, NVDA tries to use MSAA
or IAccessible interfaces, which give much more (for example possibility
of reacting to events of control changing state, without querying it
continously and comparing with previous state).
Greetings, Greg.
W dniu 2014-06-28 08:46, Hans-Peter Diettrich napisaĆ/a:
> Grzegorz Zlotowicz schrieb:
>
>> 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
>
> It looks to me like the WNDCLASS and/or WNDPROC of the control lacks
> support for the Name, WindowText and DisplayText fields or methods.
> E.g. for the WindowText the WNDPROC should react on WM_GETTEXT
> messages. The NVDA developers should know more about how they try to
> obtain above properties from a window handle.
>
> The fix depends on the handling of the WNDCLASS.WNDPROC in the Lazarus
> widgetsets, at both designtime and runtime. In either case this
> WNDPROC should react properly on WM_GETTEXT, i.e. return the Text or
> Caption string (PCHAR) associated with the control. The LCL gurus
> should be able to find out why this doesn't work as expected.
>
> A test program can enumerate the window handles, associated with a
> running Lazarus IDE or some Lazarus application, and output the result
> of WM_GETTEXT for each handle. More tests can be added for the other
> properties retrieved by NVDA (selected state...).
>
>
> It would be helpful if you supply the Lazarus version and widgetset
> which you are using, and whether you use a 32 or 64 bit Lazarus and
> Windows. A screen reader finally should be able to retrieve all
> required values in all these combinations.
>
> Did you also try other than the Win32 widgetset in building the IDE or
> applications, with possibly different results in your screen reader?
>
> DoDi
>
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>
More information about the Lazarus
mailing list