On Mon, May 13, 2013 at 1:36 AM, Andrej N. Gritsenko <[email protected]> wrote: > Hello! > > Piotr Sipika has written on Sunday, 12 May, at 10:47: >>2013/5/8 Thompson, David <[email protected]> > >>> Perhaps we should set some specific goals for improving the accessibility >>> of lxpanel. I think a great start would be if it was possible to focus on >>> the panel and press the tab key through the icons in the panel. >>> Would anyone be able to provide some information on how to get started >>> with this task, assuming little knowledge of lxpanel's source code? >>> >>> This might be a bit tricky from what I remember in the lxpanel's source. >>Essentially, everything on the panel is a plugin. >>So the first step would be to switch focus from plugin to plugin on >>tab-press. > > That sounds simple enough.
Gtk+ supports this partially. What needs to be done so far: 1. Call gtk_widget_set_can_focus() for every plugin widget to make them receive keyboard focus 2. Ensure that plugin widgets do not eat the keyboard event, so it can be passed to the next plugin by gtk+ 3. Add a global hotkey to grab keyboard focus for the panel 4. Make the plugin with focus looks different (not needed for blind users, but it's required for other users otherwise there is no way to tell which plugin has the focus) >>The second step will involve stepping through contents of a given plugin, >>if applicable. >>What I mean by that is: when a user wants to launch firefox, he or she >>would have to tab through to the launcher plugin *and then* tab through to >>the firefox button. >>Implementation of such functionality isn't trivial, but I don't think it >>would be too difficult. Only switching the focus is not enough. When a widget is focused, it should expose its content (mainly text and widget type info) via ATK. With built-in gtk+ widget, this is done automatically. Then launch gnome-atspi service, so the widgets can be read by Orca. With some hand-made custom widgets such as the ones used by launch buttons and taskbar, this needs to be done by us manually, I guess. I don't really know how to do this. Maybe Andriy knows this better. The parts that are not accessible are the plugin widgets. Other things, such as menus and preferences dialogs should work because they only uses built-in GTK+ widgets. So, we only need to fix the plugins, mainly: 1. app menu 2. launchbar 3. tasklist 4. pager 5. systray 6. battery Does anyone has the time to check the out? >.... > I believe that moving to Qt should never mean we have to drop all the > GTK2 support since due to numerous reasons people still may need Gtk-only > desktop, at least while GTK2 is still in use. > Cheers! > Andriy. Actually, I think GTK+ 2 will live for a while. There are still big users of it. Google Chrome/Chromium will be using gtk+ 2 for years and there is no plan to migrate to gtk+ 3 at the moment. XFCE and the Gnome fork are using gtk+2 now. Besides, GIMP, the origin of (Gimp Tool Kit+) AFAIK is still using gtk+ 2 and the migration should be a huge task due to its complexity. So personally I don't believe that GTK+ 2 can be "eradicated" from Linux distros. Additionally, gtk+ 3 is loosing its ground gradually. It's the right time to learn Qt. For those who care about the accessibility issues, I'd suggest that you try the Qt port of PCManFM, or pcmanfm-qt. It should be fully accessible, including the desktop icons, if you have Qt ATSPI2 plugin installed. Thank you all. ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ Lxde-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lxde-list
