IUP Accessibility Concerns and Praise
[
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: 2008年9月14日 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