I was approached by Ivan Krstić to look at accessibility on the OLPC.
The two main things we need to accomplish are firstly support for alternative inputs such as head mice and switch devices using an on-screen keyboard. Secondly some basic screen reader support for visually impaired users. Written below is the way I think these things could be implemented on the OLPC. Though my knowledge of the OLPC is not very broad so I would like to invite the readers of this list to comment on what is unworkable and advise where there is a better solution. --On-Screen Keyboard-- Currently all Linux OSKs work as a window that sets various window manager hints to keep other windows from covering it and stop it gaining focus. Fake key press events are then sent to the xserver. This would not be possible to do on Sugar however because the window concept does not exist. The limited size of the display on the OLPC means that when the keyboard is in use we probably want it to use all the screen. With a widget showing the text being edited. Instead of creating a separate OSK activity or application it might be better to make an OSK full-screen widget which an activity invokes when it is needed. For example when a text entry widget is selected. A similar approach could be taken to select widgets in an activity when in switch mode. Each activity implements a way to cycle through widgets in a sensible order using a switch device. --Screen Reader-- Linux screen readers such as Orca use the accessibility framework and a per application script to work out what text to speak. We have the advantage of being able to hardcode speech in to each activity which should be much more efficient and have a better end result. The first step would be to include a speech engine with the OLPC OS. eSpeak seems like a good choice because of it's low resource usage compared to festival for example. -- Accessibility Settings-- There needs to be a way to configure accessibility settings globally to all activities. These setting basically consist of enabling/disabling screenreader and onscreen keyboard. Other points worth considering are: * The inclusion of Dasher, another input system. * Magnification which has only recently become usable on conventional Linux desktops because of XGL/AIGLX -- Chris Jones jabber - [EMAIL PROTECTED] msn - [EMAIL PROTECTED]
_______________________________________________ Sugar mailing list [email protected] http://mailman.laptop.org/mailman/listinfo/sugar
