Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
releng:4.10:roadmap:accessibility [2011/09/08 22:29]
jannis [Thunar]
releng:4.10:roadmap:accessibility [2011/09/15 00:17] (current)
jannis [A11y Activation over D-Bus]
Line 15: Line 15:
 Currently if Xfce4-session is compiled with ''​--enable-gnome''​ (enable gconf) and Gnome compatibility is checked in the setting, we check the ''/​desktop/​gnome/​interface/​accessibility''​ key and if set to true, the string array in ''/​desktop/​gnome/​accessibility/​startup/​exec_ats''​ is spawned (see [[http://​git.xfce.org/​xfce/​xfce4-session/​tree/​xfce4-session/​xfsm-compat-gnome.c|code]]).\\ Currently if Xfce4-session is compiled with ''​--enable-gnome''​ (enable gconf) and Gnome compatibility is checked in the setting, we check the ''/​desktop/​gnome/​interface/​accessibility''​ key and if set to true, the string array in ''/​desktop/​gnome/​accessibility/​startup/​exec_ats''​ is spawned (see [[http://​git.xfce.org/​xfce/​xfce4-session/​tree/​xfce4-session/​xfsm-compat-gnome.c|code]]).\\
 This is obviously hard to find and also not fully working since the required Gtk modules are not loaded as well (this probably was handled by gdm, but not any more?). This is obviously hard to find and also not fully working since the required Gtk modules are not loaded as well (this probably was handled by gdm, but not any more?).
 +
 +===== A11y Activation over D-Bus =====
 +
 +There has been a proposal for a D-Bus property to synchronize the setting that says whether assistive technologies are enabled across applications and desktop environments. We already have a "​Enable assistive technologies"​ check button in the accessibility settings dialog. All we have to do is set the ''​org.a11y.status.IsEnabled''​ property on startup and update our setting whenever the this property changes. This will allow applications like Orca to enable AT support in Xfce automatically. That way blind users can just start Orca--followed by a logout/​login--to activate AT, rather than having to search for the "​Enable assistive technologies"​ check button.
 +
 +==== Links ====
 +
 +  * https://​mail.gnome.org/​archives/​release-team/​2011-August/​msg00036.html
 +  * https://​mail.gnome.org/​archives/​desktop-devel-list/​2011-May/​msg00397.html
 +
 +==== Notes ====
 +
 +The D-Bus API proposed in the mails is outdated. at-spi2-core implements the following API instead (see http://​git.gnome.org/​browse/​at-spi2-core/​tree/​bus/​at-spi-bus-launcher.c#​n60):​
 +<​code>​
 +<​interface name='​org.a11y.Status'>​
 +  <​property name='​IsEnabled'​ type='​b'​ access='​readwrite'/>​
 +</​interface>​
 +</​code>​
 ===== Testing ===== ===== Testing =====
 <del> <del>
 Testing can be done by running Orca or Accerciser and start the application with ''​GTK_MODULES="​gail:​atk-bridge"''​ in the environ</​del>​. -- option for this in the accessibility dialog. Testing can be done by running Orca or Accerciser and start the application with ''​GTK_MODULES="​gail:​atk-bridge"''​ in the environ</​del>​. -- option for this in the accessibility dialog.
  
-We need an xfce-a11y mailing list for discussion on accessibility issues.+<del>We need an xfce-a11y mailing list for discussion on accessibility issues.</​del>​ [[https://​mail.xfce.org/​mailman/​listinfo/​xfce-a11y|Xfce-a11y list]].
 ===== Core Changes and Ideas ===== ===== Core Changes and Ideas =====
  
Line 50: Line 68:
     * When the selection changes within one of the aforementioned menus, there is no accessible event.     * When the selection changes within one of the aforementioned menus, there is no accessible event.
   * Combo boxes in the Clock dialog should derive their name from the displayed text ('​16:​13'​ not '​%R'​)   * Combo boxes in the Clock dialog should derive their name from the displayed text ('​16:​13'​ not '​%R'​)
 +  * Applications menu:
 +    * Should have an accessible, localized name (e.g. '​applications'​).
 +    * Should have "first letter navigation"​ for menus in which underline is not used.
  
 Assignee: Nick Assignee: Nick
 ==== Thunar ==== ==== Thunar ====
   * Thunar emits no events when the selection changes in the list of icons (panel on the right hand side). It does emit events when the selection changes in the tree on the left.   * Thunar emits no events when the selection changes in the list of icons (panel on the right hand side). It does emit events when the selection changes in the tree on the left.
-    * I am not sure why the tree on the left is a problem (it's based on GtkTreeView and should emit selection events). Also, I assume that the details view on the right should emit those events. The icon and compact views, however, are custom-built widgets based on ''​ExoIconView'',​ which in turn is based on ''​GtkContainer''​ and doesn'​t implement ''​AtkSelection''​ (see ''​GtkContainerAccessible''​ in ''​gtk/​a11y/​gtkcontaineraccessible.c''​). So I guess we'll have to add an ''​ExoIconViewAccessible''​ class or something similar to make this work. --- //​[[jannis@xfce.org|Jannis Pohlmann]] 2011/​09/​08 ​22:25//+    * I just checked and the tree view side pane as well as the details view work. The icon and compact views, however, are custom-built widgets ​and don't generate selection events. They are based on ''​ExoIconView'',​ which in turn is based on ''​GtkContainer''​ and doesn'​t implement ''​AtkSelection''​ (see ''​GtkContainerAccessible''​ in ''​gtk/​a11y/​gtkcontaineraccessible.c''​). So I guess we'll have to add an ''​ExoIconViewAccessible''​ class or something similar to make this work. --- //​[[jannis@xfce.org|Jannis Pohlmann]] 2011/​09/​08 ​23:11//
 ==== Xfce4-utils ==== ==== Xfce4-utils ====
  
Line 67: Line 88:
   * The accessible hierarchy is incomplete: There are no children exposed for the individual icons.   * The accessible hierarchy is incomplete: There are no children exposed for the individual icons.
   * No events are being emitted when the selection changes.   * No events are being emitted when the selection changes.
 +    * This is due to the same reasons as the issues with Thunar'​s icon view. The desktop view is a custom widget that does not implement any accessibility interfaces. --- //​[[jannis@xfce.org|Jannis Pohlmann]] 2011/09/08 23:17//
   * Impact: When an Orca user arrows amongst items on the desktop, Orca is not able to present the location moved to. Nor can Orca provide "where am I" information (e.g. total number of icons, position, etc.)   * Impact: When an Orca user arrows amongst items on the desktop, Orca is not able to present the location moved to. Nor can Orca provide "where am I" information (e.g. total number of icons, position, etc.)
   * Also, if these are custom widgets, please be sure accessibility is also implemented for when icons are being renamed.   * Also, if these are custom widgets, please be sure accessibility is also implemented for when icons are being renamed.
Line 75: Line 97:
     * OR set the label'​s mnemonic widget (and use underline). As a general rule, Gtk+/Gail goodness will then set the aforementioned relationship for you automatically.     * OR set the label'​s mnemonic widget (and use underline). As a general rule, Gtk+/Gail goodness will then set the aforementioned relationship for you automatically.
   * The fact that Orca says '​page'​ as you arrow up and down amongst the items on the left-hand side is //likely// something that can, and probably should, be handled within an Orca script.   * The fact that Orca says '​page'​ as you arrow up and down amongst the items on the left-hand side is //likely// something that can, and probably should, be handled within an Orca script.
 +
 +==== Terminal ====
 +  * This will work with Orca but Orca will need some custom handling appropriate for terminal presentation. (i.e. it won't work now just "out of the box" with Orca). In order to enable Orca to do this in time for the 4.10 release:
 +    * There should be an Orca script for this app. Assignee: Joanie
 +    * Terminal should identify itself with a more unique accessible name, like xfce4-terminal. Assignee: Nick
 +
 +==== Xfce Power Manager ====
 +  * Should work with Orca, but a custom Orca script looks like it will be needed. Assignee: Joanie
  
 ==== Working/​Accessible ==== ==== Working/​Accessible ====
Line 83: Line 113:
   * Mousepad text editor   * Mousepad text editor
  
-==== Orca Scripts Required ​==== +==== Possible Candidates For Accessibility Options ​==== 
-  * Terminal +(Looking at what is in place elsewhere and starting a brainstorming list) 
-  * Xfce Power Manager+ 
 +Seem applicable:​ 
 +  * Contrast (i.e. theme based) 
 +  * Text size 
 +  * Mouse size and color 
 +  * Visual Alerts 
 + 
 +Might be applicable (is any of this done by XFCE?): 
 +  * Sticky Keys 
 +  * Slow Keys 
 +  * Bounce Keys 
 +  * Mouse Keys 
 +  * Simulated Secondary Click 
 +  * Hover Click
  
-AssigneeJoanie+Not applicable (cannot count on what the distro will ship): 
 +  * Magnification 
 +  * Screen Reader 
 +  * On screen keyboard
  
-==== To Triage ==== 
-  * Request: Could the accessible name of Terminal be something more unique to XFCE, like xfce4-terminal or xfterm or something to that effect? If not, no big deal. But my (joanie'​s) goal is to maintain //​upstream//​ support for as many Desktop Environments and their apps as is possible in Orca, which means unique app names are highly desirable when possible. 
-  * Request: Please give the applications menu an accessible, localized name (e.g. '​applications'​). That way, when a user presses Alt+F1, Orca will say '​applications menu' rather than just '​menu.'​ 
-  * Request: If possible, please add first letter navigation for menus in which underline is not used. (e.g. the applications menu). We have this in GNOME and it can save a lot of arrowing.