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

Keyboard-only navigation does not work in Contact list, Settings dialog, shortcut cheatsheet dialog, etc. #2784

Closed
dumblob opened this issue May 28, 2022 · 1 comment
Labels
accessibility bug Something isn't working

Comments

@dumblob
Copy link

dumblob commented May 28, 2022

  • Operating System (Linux/Mac/Windows/iOS/Android): Linux

  • Delta Chat Version: 1.29.1 (compiled from git 1474305 )

  • Expected behavior: keyboard-only navigation works in all dialogs, windows, etc.

  • Actual behavior: E.g. in the Contact list, Settings dialog, shortcut cheatsheet dialog, etc. scrolling works only with mouse wheel but not with page up/down nor with arrow up/down. E.g. pressing Tab does not move focus to another user-interactable item/widget in the app so it is impossible to control Delta Chat Desktop without any pointing device and second it is impossible to learn a specific quick workflow using only keyboard.

  • Steps to reproduce the problem: Open DC Desktop and press Tab any number of times (at least once) and then try page up/down or arrow up/down but nothing happens. Close DC Desktop and start it again, then click on hamburger, then click on Settings and finally press PgUp/PgDown/ArrowUp/ArrowDown/... and nothing happens.

  • Screenshots: N/A

  • Logs: N/A

@farooqkz farooqkz added the bug Something isn't working label Jul 19, 2023
WofWca added a commit that referenced this issue Oct 12, 2024
WofWca added a commit that referenced this issue Oct 18, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 18, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 18, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 21, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 21, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 21, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 21, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 22, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 29, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Oct 30, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Nov 2, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Nov 22, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
WofWca added a commit that referenced this issue Nov 22, 2024
Implements the "roving tabindex" approach:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#technique_1_roving_tabindex.

Supersedes #4211.

This improves things, but the UX as a whole is not great yet:
- The tab order is such that the chat list does not
  immediately follow the search field,
  so you have to tab through the other navbar items
  before you get to the chat list.
  Same for going back from the chat list to the search bar.
- The initially "active" element is just the first chat item,
  and not the currently selected chat.
- Since the chat list is "virtualized", the currently active element
  might get removed from DOM when the user scrolls,
  thus we lose track of the item that was last selected.

Related: #2784
@WofWca
Copy link
Collaborator

WofWca commented Dec 19, 2024

scrolling works only with mouse wheel but not with page up/down nor with arrow up/down

Fixed in #4269

Settings dialog

#4319

Keyboard navigation has been significantly improved in 1.48 1.49. The biggest thing remaining now is #4294, and I guess we have #2141 to track that.
So, I suggest to close this issue as resolved.

@WofWca WofWca closed this as completed Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants