GNOME Bugzilla – Bug 595299
ListView column headers are not controllable through keyboard
Last modified: 2009-11-12 03:59:09 UTC
Changing the sort order is possible with a pointer, but with keyboard-exclusive access, one cannot put focus on the ListView headers.
This branch addresses this[1]. There are behavior and theming changes involved, so please review. When tabbing into a list view, keyboard focus is on the headers (if they are visible), left or right arrows navigate between the headers. The focus order is not perfect. For example if you tab out of headers and into the list, and then tab entirely out of the list view, shift+tab will bring you back to the headers instead of the list. This could be solved by using a container as the ListView's parent class, this is how GtkTreeView does it. 1. http://github.com/eeejay/banshee-a11y/tree/keyboard_control
Hi Eitan, please attach patch(es) to their relevant bug for review. Thanks!
Created attachment 144418 [details] [review] Renamed FocusedIndex to FocusedRowIndex.
Created attachment 144419 [details] [review] Added FocusedColumnIndex.
Created attachment 144420 [details] [review] Factored out header left click.
Created attachment 144421 [details] [review] Added focusable headers, and made them keyboard controllable.
Created attachment 144422 [details] [review] Draw focused column header.
For ease of review, I split the patch into a few simpler ones. Sorry about the spam!
Created attachment 144534 [details] [review] Draw focused column header.
Created attachment 144554 [details] [review] Draw focused column header. A prettier version, works nicer with the updated focus indication patch.
Created attachment 144747 [details] [review] [a11y] Added focusable headers, and made them keyboard controllable. Added ListView.ActiveColumn[Changed] instead of Selection.FocusedColumnIndex.
Created attachment 144748 [details] [review] [a11y] Draw focused column header. Using new ListView.ActiveColumn.
Bulk changing the assignee to banshee-maint@gnome.bugs to make it easier for people to get updated on all banshee bugs by following that address. It's usually quite apparent who is working on a given bug by the comments and/or patches attached.