Closed Bug 1751978 Opened 2 years ago Closed 2 years ago

No keyboard equivalent for Ctrl+click: Cannot select multiple non-adjacent contacts in new Address Book with Ctrl+Arrow up/down, [Ctrl+]Spacebar

Categories

(Thunderbird :: Address Book, defect, P4)

Thunderbird 98

Tracking

(thunderbird_esr102 fixed, thunderbird102 affected)

RESOLVED FIXED
103 Branch
Tracking Status
thunderbird_esr102 --- fixed
thunderbird102 --- affected

People

(Reporter: thomas8, Assigned: henry-x)

References

(Blocks 1 open bug)

Details

(Keywords: access, regression, ux-efficiency)

Attachments

(2 files)

Seen in 98.0a1 (2022-01-25) (64-bit), Win10

The expected behaviour for any multi-selection lists is the ability to select multiple non-adjacent items. For mouse users, this can be done with Ctrl+clicking on items (on Windows). The keyboard equivalent is Ctrl+cursor keys, then pressing space bar, highly convenient and efficient. The latter fails in new AB, which is a deal-breaker for users depending on keyboard access.

STR:

  • Open ("new") Address Book
  • Have 3 or more contacts A, B, C
  • Select contact A (by mouse, keyboard-only has too many steps, another bug)
  • Hold Ctrl while pressing cursor down 2 times
  • Press Spacebar

Actual results:

  • Nothing, contact A remains selected only

Expected results:

  • Contacts A and C should be selected (keyboard equivalent of Ctrl+clicking)
  • For the correct behaviour, try STR in contacts side bar of composition

This isn't totally urgent as long as it still works in Contacts Side Bar (which it currently does), but when it stops working there, this will be pretty limitating for users who depend on keyboard for accessibility and/or ux-efficiency.

Depends on: 1751986

This bugs makes selecting multiple non-adjacent contacts in the new AB impossible for users depending on keyboard access (but atm they could still use contacts sidebar as a workaround).

Keywords: access

Also, Ctrl+Space fails to select or deselect contact items as it must.

Summary: No keyboard equivalent for Ctrl+click: Cannot select multiple non-adjacent contacts in new Address Book with Ctrl+Arrow up/down, Spacebar → No keyboard equivalent for Ctrl+click: Cannot select multiple non-adjacent contacts in new Address Book with Ctrl+Arrow up/down, [Ctrl+]Spacebar

Multi-selection is a general feature missing from the tree-listbox elements, rather than the addressbook list specifically.

This probably needs aria-multiselectable https://w3c.github.io/aria/#aria-multiselectable with the recommended keyboard controls https://www.w3.org/TR/wai-aria-practices/#listbox_kbd_interaction

Multi-select seems to work fine over here. Even for keyboard Shift+arrows works. Shift+scace does not. And the Ctrl + arrow cases.

I wouldn't mind taking this and adding the aria-multiselectable attribute and controls where appropriate. I'll assign it to myself, but if someone else wants to do this, feel free to take it.

Assignee: nobody → henry
Status: NEW → ASSIGNED

(In reply to Magnus Melin [:mkmelin] from comment #4)

Multi-select seems to work fine over here. Even for keyboard Shift+arrows works.

Yes, contiguous keyboard selection with Shift works. Non-contiguous keyboard selection with Ctrl fails. Important when you want only B and D from A,B,C,D,E.

Shift+space does not.

I'm not aware of this key combo, so I don't mind if it does nothing... ;-)

And the Ctrl + arrow cases.

Yes, Ctrl+arrow cases do not work. This bug.

(In reply to Henry Wilkes [:henry] from comment #3)

Multi-selection is a general feature missing from the tree-listbox elements, rather than the addressbook list specifically.

Yes, this should be inherent behaviour of any tree-listbox. It still works in contacts sidebar and message lists (so de facto I think it only fails in new AB), but I don't know about the different types of trees which we're using these days.

This probably needs aria-multiselectable https://w3c.github.io/aria/#aria-multiselectable with the recommended keyboard controls https://www.w3.org/TR/wai-aria-practices/#listbox_kbd_interaction

Exactly that, thanks Henry for pointing out the standards. I believe (at least by default) we want this...

Alternative selection model -- moving focus without holding a Shift or Control modifier unselects all selected options except the focused option

... not this (too sticky, plus OS assistive tricks can work around this):

Recommended selection model -- holding modifier keys is not necessary:

  • Space: changes the selection state of the focused option.

(In reply to Henry Wilkes [:henry] from comment #5)

I wouldn't mind taking this and adding the aria-multiselectable attribute and controls where appropriate. I'll assign it to myself...

That's awesome Henry, thank you!

I'll see if I can make the controls take into account the aria-orientation as well.

See Also: → 1752532
No longer blocks: tb-new-addrbook
Depends on: 1752532
See Also: 1752532

Mass-adding regression keyword to applicable AB bugs.

#20220530ABRegressionKeyword01

Keywords: regression

The attribute is meant for shortcuts that "trigger" the corresponding element. Keyboard navigation does not fall under this.

We also fix various related accessibility problems with the treeview-listbox.

Depends on D149420

Unblocking from bug 1752532. I'm fixing this for the current tree-view-listbox for 102.

No longer depends on: 1751986
Depends on: 1751986
No longer depends on: 1752532
No longer depends on: 1751986
See Also: → 1751986
Target Milestone: --- → 103 Branch

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/5267d9670915
Remove mis-used aria-keyshortcuts from tree-listbox. r=darktrojan
https://hg.mozilla.org/comm-central/rev/d696ca19ab2e
Add multiselection keyboard controls to treeview-listbox. r=darktrojan

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED

Comment on attachment 9281463 [details]
Bug 1751978 - Remove mis-used aria-keyshortcuts from tree-listbox. r=darktrojan

[Approval Request Comment]
Regression caused by (bug #):
User impact if declined: The contacts list in the new addressbook has the wrong ARIA and does not support multi selection via keyboard.
Testing completed (on c-c, etc.): Extended the tests to test multi-selection via keyboard. Existing tests passed.
Risk to taking this patch (and alternatives if risky): Medium. The two patches make several small changes.

NOTE: Uplift both patches

Attachment #9281463 - Flags: approval-comm-beta?

Comment on attachment 9281464 [details]
Bug 1751978 - Add multiselection keyboard controls to treeview-listbox. r=darktrojan

[Approval Request Comment]
See comment 16

Attachment #9281464 - Flags: approval-comm-beta?

Comment on attachment 9281463 [details]
Bug 1751978 - Remove mis-used aria-keyshortcuts from tree-listbox. r=darktrojan

[Triage Comment]
Approved for esr102

Attachment #9281463 - Flags: approval-comm-beta? → approval-comm-esr102+

Comment on attachment 9281464 [details]
Bug 1751978 - Add multiselection keyboard controls to treeview-listbox. r=darktrojan

[Triage Comment]
Approved for esr102

Attachment #9281464 - Flags: approval-comm-beta? → approval-comm-esr102+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: