From: "Gabor Szabo" <[EMAIL PROTECTED]>
There was a recent thread on PerlMonks with the above title
where I suggested the use of wxPerl.
http://www.perlmonks.org/?node_id=722367
I wonder what is really the issue?
How can one make sure that the application s/he is writing
has the accessibility features?
Gabor
Tk and Gtk based applications are not accessible at all for screen readers.
I heard that Gtk applications are accessible under Linux, but they are not
under Windows.
Java SWT applications are very accessible because SWT uses native widgets
but the SWING applications even though they are accessible if using Java
Access Bridge, the accessibility is poor.
Even though Microsoft takes care about the accessibility more and more, the
Dot Net interfaces made with Windows Forms are much less accessible than the
native Win32 widgets used for example by MFC.
The most accessible interfaces are created with MFC and Win32::GUI in perl.
WxPerl interfaces have some widgets very accessible (the most important
ones) but it also has some inaccessible widgets also.
In order to be accessible, the screen readers should understand the GUI
used. So if a GUI appears this year and it has the best accessibility
features ever, it could be absolutely inaccessible if the screen readers
don't understand it. And the screen readers manufacturers have their
interests and don't jump immediately to support another interface because
this requires much effort which can't be recompensed very easy.
When coding in perl, WxPerl is the best choice for creating a GUI, not only
because it is also portable while Win32::GUI is not, but also because it
supports UTF-8 and it can be used with other languages than English.
However, the problem of programs with GUIs in perl is that they create very
huge programs that eat very much memory if the programs are complex and need
to use threads.
I've just abandoned a program in WxPerl (an RSS reader/Podcast
reader/TV/Radio listener) because when it had one thread it occupied 40 MB
of memory, and after adding each new thread, other 40 MB of memory were
occupied, so at 4 threads it used 160 MB of memory, and I needed to add more
threads for updating.
I've tried to share as much code as possible between threads, but no good
result. Because of this reason the app used to run pretty slow and it were a
little unresponsive and not nice to use, especially with the keyboard.
Win32::GUI based apps are smaller, but it doesn't offer some important
features, so it can't be used for complex apps.
So unfortunately the best choice for creating a GUI, is not the best for
everything.
For accessibility under Windows is C++/MFC. For Portability is Java/SWT. For
the complexity of widgets and accessibility is wxWidgets.
Maybe the apps created with C++ and wxWidgets are also fast and consume less
resources, but I don't know because I didn't test it.
And by the way, the program PVoice is not accessible for the blind, because
if I remember well it offers visual features that can't be seen, like
pictures, so the accessibility for the blind means a totally different thing
than the one for the deaf.
Octavian