[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: IUP Accessibility Concerns and Praise
- From: Veli-Pekka Tätilä <vtatila@...>
- Date: Sun, 14 Sep 2008 15:49:23 +0300
Hi list,
I just downloaded LFW and am exploring the libraries, especially the IUP GUI
library as a replacement for Perl's Win32::GUI for recreational coding. My
question is, why isn't the tree control IUP uses in Win32 native and are
there any work-arounds? Personally, this is an accessibility problem and
quite a show stopper at that. I've tested some other controls, too, and
fortunately the basics like edit fields, buttons and message boxes appear to
work natively, however.
The problem:
The tree does not respect my custom window and selection fg/bg colors,
causing my screen reader not too track the selection in the trees. This
means there's no spoken feedback when cursoring around and no selection
tracking magnified, either. Not only that but the keyboard interface has
holes, too, left, numpad minus and backspace don't work as expected on
open/close branch and leaf nodes. this means that though I can write apps
using treees all right, I cannot easily test or use them myself.
End problem.
This lack of accessibility is a pitty, since IUP seems to be one of my
favorite GUI libs ever, even after only having read the basic guide.
Praise::
It is a lot like Win32::GUI for PErl but more elegant and native fealing and
portable. It gets the excellent box based layout management from GTK+ I've
liked ever since I used it, as it maps well to my mental model of a GUI. Yet
using Iup makes writing small apps as easy as TK does. It is also quite
simple to understand and use unlike Swing, and is natively Lua so you don't
have to read C++ docs as in WxWidgets.
End praise.
So briefly put, it definitely looks like my number 1 choice of GUi library
when doing portable GUI apps in Lua, heck I wish Perl had that, too. If only
Iup was more keyboard and screen reader accessible. Of course, virtually all
native controls automagically are, adding non-native controls common to all
platforms is what gets you into trouble accessibilitywise.
The funny thing about accessibility is that it isn't just the sight-impaired
users, either. Power-users and those whose mice don't work benefit as well.
Alternative input like speech-recognition and tablet PCs can take advantage
of well-coded accessibility e.g. programmatic associations between labels
and labelled controls. Nough said.
I'm running XP SP3, the latest version of LFW for WIndows and Dolphin
Supernova 9.02 as the screen reader.
here's the sample code from the guide I tested the tree with:
require 'iuplua'
require 'iupluacontrols'
tree = iup.tree{}
tree.addexpanded = "NO"
list = {
{
"Horse",
"Whale";
branchname = "Mammals"
},
{
"Shrimp",
"Lobster";
branchname = "Crustaceans"
},
{
branchname = "Birds"
},
branchname = "Animals"
}
iup.TreeSetValue(tree, list)
f = iup.dialog{tree; title = "Tree Test"}
f:show()
iup.MainLoop()
And for testing with custom colors, the relevant section of the .theme file
I've created for myself:
[Control Panel\Colors]
ActiveTitle=0 0 0
Background=0 0 0
Hilight=255 255 117
HilightText=0 0 0
TitleText=255 255 255
Window=0 0 0
WindowText=255 255 255
Scrollbar=113 160 208
InactiveTitle=84 252 252
Menu=3 64 97
WindowFrame=0 0 0
MenuText=255 255 255
ActiveBorder=255 255 255
InactiveBorder=32 64 97
AppWorkspace=0 0 60
ButtonFace=32 64 97
ButtonShadow=21 43 64
GrayText=192 192 192
ButtonText=255 255 255
InactiveTitleText=0 0 0
ButtonHilight=113 160 208
ButtonDkShadow=255 255 255
ButtonLight=255 255 255
InfoText=255 255 255
InfoWindow=0 0 80
GradientActiveTitle=0 0 0
GradientInactiveTitle=84 252 252
ButtonAlternateFace=192 192 192
HotTrackingColor=255 255 117
MenuHilight=0 0 128
MenuBar=192 192 192
HTH.
--
With kind regards Veli-Pekka Tätilä
Accessibility, Apps and Coding plus Synths and Music:
http://vtatila.kapsi.fi