Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR Prototype for list navigation Issue #24119 #24628

Closed
wants to merge 13 commits into from

Conversation

cleidigh
Copy link
Contributor

@cleidigh cleidigh commented Apr 12, 2017

This PR is an initial attempt to address issue #24119

It is meant to be part of a series of accessibility improvements
My first was addressing keyboard view resizing

Brief user background/mode of use:
I am disabled with ALS and do all my computer control and programming
by voice using Dragon along with my own Python extensions and dragonfly
While I can do some mouse control, zeroing in on icons it's very painful

  • utilizing direct focus controls are best in key bindings can be assigned to voice commands easily
  • tabindex navigation is usually onerous and sometimes hard to follow
  • in all cases keyboard and command conservation is critical
  • eliminating any mouse controls is very desirable
  • some of these requirements are shared by other users in different ways
    • all of the above should also be compatible for people using screen readers
      a different use case than my own
    • any of the keyboard changes should improve everyone's ux experience
      with no detrimental effects

After the view resizing I'm looking at list entry navigation as well as focus issues
This first prototype addresses both list navigation in general
mainly as it relates to action icons and focus and selection

The prototype example uses the extension viewlet as a first example

Goals:

  • Analyze extension, Git, SCM, key bindings list use approach (all slightly different, all have some keyboard issues)
  • first past determination of approach
  • reduce and improve keyboard navigation for managing extensions
  • address odd focus issues associated with multiple active action icons
  • improve tabindex management without affecting existing simpler cases

Result:

  • adding an action bar option for external tabindex control
  • allow the the upper level container controller to use focus and selection
    to control the tabindexes
  • the extension action icons are now only enabled when focused or selected
  • before this one had to go through the entire tabindex sequence
    to go from a selected extension to using the action icons
  • Tab now selects the current entry and moves to the first action icon

A full and thorough implementation will also be able to improvements
the SCM to operate more similarly to the Git viewlet

Issues:

  • providing blur capability to list controls
  • building more of this into the list controller itself
  • allowing list entries access to some action events such as cancel
    to restore focus to the currently selected row (right now it's completely unclear where the user is after a cancel)
  • slightly separate issue - a single command or keyboard control
    to go from the main header action bar into a controlled list
    would be very helpful and avoid trying to figure out how many
    tabs are required to get to the list or tree (perhaps the next PR)

I am sure the layering can be much better but I'm still learning
the code structure and could not figure out an appropriate
way to connect to the action bar events and control without breaking isolation

I hope discussing this allow me to continue to improve This
for deployment.

I would like to do a couple of video captures
can you suggest a good program that is keyboard friendly?
I have not had luck yet...

@mention-bot
Copy link

@cleidigh, thanks for your PR! By analyzing the history of the files in this pull request, we identified @sandy081 and @joaomoreno to be potential reviewers.

@joaomoreno joaomoreno self-requested a review April 13, 2017 06:16
@joaomoreno joaomoreno self-assigned this Apr 13, 2017
@joaomoreno joaomoreno added this to the April 2017 milestone Apr 13, 2017
@cleidigh cleidigh closed this Apr 15, 2017
@cleidigh cleidigh deleted the list-mods/exp branch April 15, 2017 19:17
@cleidigh
Copy link
Contributor Author

did a rebase and squash (following your comments on my other PR)
did not realize it would force me to delete the branch.
just to make you chuckle - I'm 49, predominately a firmware and hardware engineer
crash coursing in the gihub workflow - forcing an old dog new tricks ;-)

I'll open a new PR

@joaomoreno
Copy link
Member

Don't worry about rebasing/merging/squashing, we can clean the commits as they come in.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants