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

Callstack navigation: automatically expand to next branching node #517

Open
violasong opened this issue Aug 11, 2017 · 6 comments
Open

Callstack navigation: automatically expand to next branching node #517

violasong opened this issue Aug 11, 2017 · 6 comments
Assignees
Labels
call tree Related to the call tree panel polish Small features or changes that do not require planning to work on. These help out our end users. quantum flow Issues important to the Quantum Flow team

Comments

@violasong
Copy link

violasong commented Aug 11, 2017

Navigating the callstack seems slow since it requires two right-arrow key presses to expand and go to next row.

We should change it so that right-arrow (or clicking on disclosure triangle) automatically expands to the next node that has 2 or more children. It should auto-select that node.

Edit: When using left-arrow key or closing the arrow, it should have the opposite behavior - closing all nodes since the last fork.

I think it's possible that expanding all the way to the next branching node will feel like too much. The subtler version would be to just have each right-arrow key press trigger both expand and go to next row.

┆Issue is synchronized with this Jira Task

@violasong violasong added call tree Related to the call tree panel polish Small features or changes that do not require planning to work on. These help out our end users. quantum flow Issues important to the Quantum Flow team labels Aug 11, 2017
@clarkbw clarkbw added this to Low Priority in Triage 2017 Aug 18, 2017
@gregtatum gregtatum added this to Backlog in Sprint Planning 2018 Jan 11, 2018
@julienw julienw moved this from Backlog to To Do in Sprint Planning 2018 Jan 12, 2018
@gregtatum gregtatum moved this from To Do to In Sprint in Sprint Planning 2018 Jan 26, 2018
@julienw julienw moved this from In Sprint to In Progress in Sprint Planning 2018 Feb 8, 2018
@julienw julienw self-assigned this Feb 8, 2018
@julienw
Copy link
Contributor

julienw commented Feb 27, 2018

From Marco on Bugzilla, this can be a problem for accessibility as the controls would be different to what a tree normally is.

Possible solutions (?):

  1. Not doing this patch at all. Maybe getCallNodeFromPath can be very slow in some situations #682 will make this fast enough.
  2. stop exposing this interface as a tree, but add better titles and alt descriptions. Especially, in the patch I started in Callstack navigation: automatically expand to next branching node #803, we expand until the next branching node, and it can be challenging for a screen reader user to understand what's going on given we skip a lot of nodes.
  3. doing this behavior only when another key is pushed (shift ? alt ?). Problem of discoverability.
  4. not worry about accessibility for now.

I think I'd settle for solution 3 for now, as it's easier and doesn't impair accessibility. For discoverability we could display a note if we detect that the user keeps the arrow key pressed.

@MarcoZehe
Copy link

This will introduce potentially confusing situations for users of assistive technologies. When a blind user, for example, hits RightArrow on a collapsed node, the screen reader will announce that the node has now been expanded. If a focus change happened immediately as a result of pressing RightArrow, this state change announcement would be nuked by the information being spoken as a result of the focus change. Moreover, if I understand the above correctly, it wouldn't even be the first child that gets focus, but any of a number of children, adding even more unpredictability to the behavior. For somebody who has to work sequentially and doesn't have the benefit of a broad overview, this will add a massive amount of cognitive load.

Therefore, I strongly must object to this change.

@violasong
Copy link
Author

Thanks Marco, I appreciate learning about the accessibility issues for this - I had some sense that it was risky UX, but didn't know about these additional problems. Julien's idea of only doing this behavior with a modifier key seems like a good idea.

@gregtatum gregtatum moved this from In Progress to Done in Sprint Planning 2018 Mar 9, 2018
@gregtatum gregtatum moved this from Done to Done done in Sprint Planning 2018 Mar 12, 2018
@julienw julienw moved this from Done done to To Do in Sprint Planning 2018 Mar 27, 2018
@julienw
Copy link
Contributor

julienw commented Mar 27, 2018

I moved the ticket back to the "todo" column. I think we still need this to improve the life of our users, just we need to use a modifier like shift or ctrl for accessibility reason, and find a way to make it discoverable by our users. I think most of the code I did in #803 still works.

@fqueze
Copy link
Contributor

fqueze commented Jan 21, 2019

As an alternative to the key modifier, when expanding is triggered by a click, could we expand automatically to the next branching when there's more than eg. 500ms between the mouse down and mouse up events?

@julienw
Copy link
Contributor

julienw commented Jan 23, 2019

I feel it's even less discoverable :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
call tree Related to the call tree panel polish Small features or changes that do not require planning to work on. These help out our end users. quantum flow Issues important to the Quantum Flow team
Projects
No open projects
Development

No branches or pull requests

4 participants