Open Bug 1538497 Opened 6 years ago Updated 2 years ago

Consider making some tabstops point to fixed items to make tabbing more predictable

Categories

(Firefox :: Keyboard Navigation, enhancement, P5)

67 Branch
enhancement

Tracking

()

People

(Reporter: Gijs, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: ux-consistency)

In bug 1538405, Alice pointed out that tabbing can be a bit unpredictable right now depending on page state etc.

(In reply to Alice0775 White from bug 1538405 comment #1)

And sometimes [when pressing 'tab' from the URL bar] Toggle reader view button gets focus if the reader view is available....

We could consider trying to somehow give (some) keyboard stops a "fixed" target, instead of just focusing the left- (start, ie right in RTL) most item in their group of items, though we'd still need to ensure that item is focusable because it might be hidden (e.g. we don't show the page action button on about:newtab) or disabled (e.g. back/fwd) or removed (e.g. reload/home, for the items before the url bar).

Jamie, what do you think about this idea?

+ni this time (for comment #0).

Severity: normal → enhancement
Flags: needinfo?(jteh)
Keywords: ux-consistency

I'm not a fan of this for two reasons:

  1. Tab/shift+tab move between "groups" of buttons. Changing the start point dynamically makes it unclear where the groups start and end. Right now, it's consistent and clear: they always land at the start of the group.
  2. Closely related is the fact that screen reader users don't even have the benefit of visual separation to determine where groups start. If tab appears to frequently land on the first button in the group, a screen reader user won't necessarily know that there are buttons before in cases where a tab stop is pinned to some later button in the group.

One thing I did consider (and which I implemented in an earlier prototype of this functionality) was having tab/shift+tab "remember" the position in the group that the user last focused. While this too means the tab order changes, it only changes due to explicit user action. The benefit of this is that this makes it more efficient for the user to access frequently used buttons; e.g. if they frequently use a particular extension, that button will remain in the tab order without them having to arrow to it.

Gijs, thoughts?

Flags: needinfo?(jteh) → needinfo?(gijskruitbosch+bugs)

(In reply to James Teh [:Jamie] from comment #2)

I'm not a fan of this for two reasons:

  1. Tab/shift+tab move between "groups" of buttons. Changing the start point dynamically makes it unclear where the groups start and end. Right now, it's consistent and clear: they always land at the start of the group.
  2. Closely related is the fact that screen reader users don't even have the benefit of visual separation to determine where groups start. If tab appears to frequently land on the first button in the group, a screen reader user won't necessarily know that there are buttons before in cases where a tab stop is pinned to some later button in the group.

One thing I did consider (and which I implemented in an earlier prototype of this functionality) was having tab/shift+tab "remember" the position in the group that the user last focused. While this too means the tab order changes, it only changes due to explicit user action. The benefit of this is that this makes it more efficient for the user to access frequently used buttons; e.g. if they frequently use a particular extension, that button will remain in the tab order without them having to arrow to it.

Gijs, thoughts?

Yeah, the memory thing might make sense... the problem we can't keep it in sync between windows (because windows can have different sizes so the tabstops will be different because some items might be in the overflow menu) and that will still add more inconsistencies / unexpected behaviors...

Flags: needinfo?(gijskruitbosch+bugs)
Priority: -- → P5
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.