Bug 432270 - Transition of focus from search box to search results list eats a down arrow keystroke unintuitively
Summary: Transition of focus from search box to search results list eats a down arrow ...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Launcher (Kickoff) (show other bugs)
Version: 5.20.90
Platform: Fedora RPMs Linux
: HI normal
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: regression, usability
: 433144 436908 439141 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-01-29 09:26 UTC by Alex
Modified: 2021-07-19 07:06 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.23


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2021-01-29 09:26:20 UTC
When you type something in the search-box and then hit the down arrow, it doesn't focus the second item on the list. Rather, it just transfers focus from the search-box to the list itself, which is unintuitive imo, when hitting the Enter key before doing this launches the first item in the list, as if it was fully focused. If type stuff in the search box, then hit enter, it does the same thing as if you type stuff in the search box, press the down arrow once, and then hit enter. Hopefully my explanation is clear enough?
Comment 1 Mikel Johnson 2021-01-29 10:34:16 UTC
long story short this creates a usability problem for screen reader users as it would effectively *skip* the first query for them as it would never be read out
Comment 2 veggero 2021-01-29 10:45:52 UTC
I expect this to become a very common complaint when 5.21 is released. Are we sure we can't do anything about this?
Comment 3 Mikel Johnson 2021-01-29 11:30:08 UTC
not sure if you can do anything without focus wonkiness like focusing on results every time a character is pressed which would to focus going back and forth between search field and the first result
Comment 4 Mikel Johnson 2021-01-29 11:31:15 UTC
but any smart solutions (that don't regress a11y) would be welcome :)
Comment 5 Nate Graham 2021-01-29 13:57:06 UTC
Re-opening. Being hard to fix cleanly is not a reason to close the bug report. It's the opposite, in fact: such issues needs to be recorded or else they will easily get overlooked by developers.
Comment 6 Mikel Johnson 2021-01-29 15:44:32 UTC
huh I thought RESOLVED LATER is the correct option resolution here, is it not?
Comment 7 Nate Graham 2021-01-29 17:06:02 UTC
"RESOLVED LATER" basically means "We know this is a bug but it's impossible to fix at the moment due to blocking upstream work that we are simultaneously working to fix first, which will then unblock this."

That's not the situation here; there are workarounds and clever solutions to improve the situation that we can try in Kickoff itself.
Comment 8 Mikel Johnson 2021-01-29 17:53:19 UTC
ahh, thanks for explaining :D
Comment 9 Mikel Johnson 2021-02-18 09:20:37 UTC
*** Bug 433144 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2021-05-11 18:21:21 UTC
*** Bug 436908 has been marked as a duplicate of this bug. ***
Comment 11 Alex 2021-06-07 07:53:29 UTC
This also unintuitively prevents up-arrow keystrokes if the typing in the search box causes a list item below the first to be selected.

For instance, on my system, if I type "kate" in the search box, the second item in the search results list is selected. However, pressing the up arrow to navigate up to the first item in the list does not work. You have to press the down arrow first to transfer the focus, and then press the up arrow.
Comment 12 lesto 2021-06-23 09:03:50 UTC
Can confirm the issue and is very annoying.

About screen reader, I just tried and the first press down is used as confirmation to start reading the result list; I think this can be enabled ONLY if screen reader is active, also having to press "down" to read the search result instead of "enter" is confusing to me, but maybe this is a sort of standard in screen readers?.  
  
But then again having a key that change behavior ("down" or "enter" the first time read the list, the second time change selection/confirmation) does not look like very nice. If the user has to be aware of this special behavior would be better to then just add a dedicated button "read results" that is global to KDE and will work both in the search box and in the relative result list?

Maybe also a configurable timeout before starting to read the list of results, so it will be intuitive also for who is using kde the first time?
Comment 13 Patrick Silva 2021-06-25 22:05:45 UTC
*** Bug 439141 has been marked as a duplicate of this bug. ***
Comment 14 Noah Davis 2021-07-19 06:55:55 UTC
Git commit 9d9c4f169ed424e976636a6d5fa23c7a1e40576b by Noah Davis.
Committed on 19/07/2021 at 06:47.
Pushed by ndavis into branch 'master'.

Kickoff: Refactor and tweak design

Changes:

- Now uses implicit content size to set the size of the plasmoid, which
fixes translated string elision issues.
- Much simpler code. This is a red patch.
- Reduced RAM usage. Pages that are not in use are unloaded. The models
aren't unloaded, so it shouldn't negatively affect performance in other
ways.
- Vertical movement and opacity animation when switching from normal
page to search view.
- Single horizontal movement and opacity animation when switching from
applications page to places page.
- Opacity animation when switching from favorites grid to apps list.
- KickoffListView and KickoffGridView now support PageUp, PageDown,
Home, End, Ctrl+Home and Ctrl+End shortcuts like lists and grids do on
the web. See https://www.w3.org/TR/wai-aria-practices-1.2/#grid
- KickoffListView/KickoffGridView keyboard navigation disables hovering
to change current item for 100ms. It's meant to filter out accidental
mouse movement while using the arrow keys to navigate.
- Add Ctrl+F shortcut to focus search bar
- Focus the next item down when pressing down while the search bar is
focused instead of focusing the 1st item. The old kickoff did this and
made it faster to select and activate items.
- Hovering near the bottom/top of a view no longer rapidly selects a
series of new items lower down/higher up that are not yet visible.
- Single letter section headers are now horizontally center aligned with
icons.
- Scroll to switch tabs.
- Added pin button to keep the launcher open.
- Show tooltips for list/grid items that have elided text.
- Padding and spacing are more uniform.
- List items have better vertical pixel alignment.
- Fixed pixel alignment of arrows in sidebar category items
- Sidebar list items line up with main content area list items and
section headers
- Labels in grid items now have consistent vertical positions.
- Fixed error in tools.js with favoriteModel.enabled
Related: bug 433103, bug 439140, bug 434736, bug 431913, bug 433146, bug 433241, bug 408313

FIXED-IN: 5.23

M  +7    -3    applets/kickoff/package/contents/config/main.xml
M  +55   -97   applets/kickoff/package/contents/ui/ActionMenu.qml
D  +0    -142  applets/kickoff/package/contents/ui/ApplicationsGroupView.qml
A  +140  -0    applets/kickoff/package/contents/ui/ApplicationsPage.qml     [License: LGPL(v2.0+)]
D  +0    -358  applets/kickoff/package/contents/ui/ApplicationsView.qml
A  +88   -0    applets/kickoff/package/contents/ui/BasePage.qml     [License: GPL (v2+)]
D  +0    -55   applets/kickoff/package/contents/ui/BaseView.qml
D  +0    -70   applets/kickoff/package/contents/ui/Breadcrumb.qml
D  +0    -41   applets/kickoff/package/contents/ui/ComputerView.qml
M  +31   -11   applets/kickoff/package/contents/ui/ConfigGeneral.qml
A  +30   -0    applets/kickoff/package/contents/ui/EmptyPage.qml     [License: LGPL(v2.0+)]
D  +0    -129  applets/kickoff/package/contents/ui/FavoritesGridView.qml
D  +0    -133  applets/kickoff/package/contents/ui/FavoritesView.qml
A  +193  -0    applets/kickoff/package/contents/ui/Footer.qml     [License: GPL (v2+)]
D  +0    -20   applets/kickoff/package/contents/ui/FrequentlyUsedView.qml
M  +119  -736  applets/kickoff/package/contents/ui/FullRepresentation.qml
M  +186  -146  applets/kickoff/package/contents/ui/Header.qml
A  +59   -0    applets/kickoff/package/contents/ui/HorizontalStackView.qml     [License: LGPL(v2.0+)]
M  +53   -27   applets/kickoff/package/contents/ui/Kickoff.qml
D  +0    -93   applets/kickoff/package/contents/ui/KickoffGridItem.qml
M  +200  -288  applets/kickoff/package/contents/ui/KickoffGridView.qml
D  +0    -175  applets/kickoff/package/contents/ui/KickoffItem.qml
A  +227  -0    applets/kickoff/package/contents/ui/KickoffItemDelegate.qml     [License: GPL (v2+)]
M  +211  -288  applets/kickoff/package/contents/ui/KickoffListView.qml
A  +137  -0    applets/kickoff/package/contents/ui/KickoffSingleton.qml     [License: LGPL(v2.0+)]
M  +43   -104  applets/kickoff/package/contents/ui/LeaveButtons.qml
A  +53   -0    applets/kickoff/package/contents/ui/NormalPage.qml     [License: LGPL(v2.0+)]
A  +76   -0    applets/kickoff/package/contents/ui/PlacesPage.qml     [License: LGPL(v2.0+)]
D  +0    -22   applets/kickoff/package/contents/ui/PlacesView.qml
D  +0    -18   applets/kickoff/package/contents/ui/RecentlyUsedView.qml
D  +0    -87   applets/kickoff/package/contents/ui/SearchView.qml
D  +0    -42   applets/kickoff/package/contents/ui/SectionDelegate.qml
A  +61   -0    applets/kickoff/package/contents/ui/VerticalStackView.qml     [License: LGPL(v2.0+)]
M  +1    -1    applets/kickoff/package/contents/ui/code/tools.js
A  +2    -0    applets/kickoff/package/contents/ui/qmldir

https://invent.kde.org/plasma/plasma-desktop/commit/9d9c4f169ed424e976636a6d5fa23c7a1e40576b
Comment 15 Alex 2021-07-19 07:05:27 UTC
Nice work Noah!
Comment 16 ad1rie3 2021-07-19 07:06:39 UTC
Just thank you ! :)