Bug 404065

Summary: Can't return focus from a KCM to the list using the keyboard
Product: [Applications] systemsettings Reporter: Fabian Vogt <fabian>
Component: sidebarviewAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: major CC: anditosan1000, herzenschein, jackhill3103, kde, lilydjwg, nate, notuxius, nroycea+kde, wezen
Priority: NOR Keywords: accessibility, usability
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 6.0
Sentry Crash Report:

Description Fabian Vogt 2019-02-07 18:34:41 UTC
It's impossible to focus the sidebar and therefore modules can't be opened.

To reproduce, completely ignore that you have a mouse cursor and start systemsettings5.
Then press Tab until the sidebar is focused, it never happens.
Comment 1 Nate Graham 2019-05-12 21:59:24 UTC
*** Bug 407215 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2019-09-15 21:09:08 UTC
Fixed in 5.17 now!
Comment 3 Nate Graham 2019-09-15 21:13:52 UTC
*** Bug 400337 has been marked as a duplicate of this bug. ***
Comment 4 Nate Graham 2019-09-15 21:14:14 UTC
*** Bug 218537 has been marked as a duplicate of this bug. ***
Comment 5 Nate Graham 2019-09-15 22:02:59 UTC
*** Bug 400343 has been marked as a duplicate of this bug. ***
Comment 6 Fabian Vogt 2019-09-16 14:57:35 UTC
(In reply to Nate Graham from comment #2)
> Fixed in 5.17 now!

Tried with git master as of today, I still can't reach the sidebar. What's the secret key combo?
Comment 7 Nate Graham 2019-09-16 15:39:03 UTC
The search field is focused by default; hit the tab get to move focus to the sidebar. That works for me.
Comment 8 Fabian Vogt 2019-09-16 16:59:14 UTC
(In reply to Nate Graham from comment #7)
> The search field is focused by default; hit the tab get to move focus to the
> sidebar. That works for me.

Yes, that works as well. However, once the focus left the sidebar/search field, it never comes back.
Comment 9 David Edmundson 2020-02-26 01:33:34 UTC
Found out what's happening

When we tab to the main view and back, focus goes to the SubcategoriesView.
i.e the view of "window behaviour", "task switch" etc. when clicking on window management.

This is a page that should be hidden and disabled. In fact it is offscreen with a width of 0
Comment 10 Fabian Vogt 2021-01-23 10:31:30 UTC
Any news on this? I just tried it again with the Plasma 5.21 Beta and keyboard navigation with the sidebar is absolutely impossible.

When opening a submenu, it's impossible to focus the "Back" button so you're stuck there forever.
Comment 11 Marco Martin 2021-01-25 15:43:51 UTC
To me there is no problem wrt focus going between category and subcategory.

the very noticeable problem is the focus going in and out of the kcm, but only those like the global theme with the big icon view, other kcms (like fonts one for qml and qwidfet ones) seem to be fine
Comment 12 Arjen Hiemstra 2021-09-17 15:17:53 UTC
Git commit 7791a403d1efc949dbe14785dee91cffaf0ca022 by Arjen Hiemstra.
Committed on 17/09/2021 at 14:07.
Pushed by ngraham into branch 'master'.

Support left/right and escape for key navigation in the sidebar

This allows using left arrow as an alternative to enter/space and using
right arrow and escape to go back to the top level of the sidebar.

M  +11   -0    sidebar/package/contents/ui/CategoriesPage.qml
M  +17   -0    sidebar/package/contents/ui/SubCategoryPage.qml
M  +0    -1    sidebar/package/contents/ui/main.qml

https://invent.kde.org/plasma/systemsettings/commit/7791a403d1efc949dbe14785dee91cffaf0ca022
Comment 13 Nate Graham 2021-09-17 15:18:20 UTC
Git commit 77271668c22352f8e9abfd560f9ecb8d1e25caff by Nate Graham, on behalf of Arjen Hiemstra.
Committed on 17/09/2021 at 15:18.
Pushed by ngraham into branch 'Plasma/5.23'.

Support left/right and escape for key navigation in the sidebar

This allows using left arrow as an alternative to enter/space and using
right arrow and escape to go back to the top level of the sidebar.


(cherry picked from commit 7791a403d1efc949dbe14785dee91cffaf0ca022)

M  +11   -0    sidebar/package/contents/ui/CategoriesPage.qml
M  +17   -0    sidebar/package/contents/ui/SubCategoryPage.qml
M  +0    -1    sidebar/package/contents/ui/main.qml

https://invent.kde.org/plasma/systemsettings/commit/77271668c22352f8e9abfd560f9ecb8d1e25caff
Comment 14 Nate Graham 2021-09-17 15:19:16 UTC
Last remaining issue is how to transfer back to the KCM. Transferring focus from the sidebar to the KCM does work now, but it's a bit clunky.
Comment 15 Nate Graham 2021-10-18 02:08:33 UTC
*** Bug 443523 has been marked as a duplicate of this bug. ***
Comment 16 Jack Hill 2023-02-16 00:00:05 UTC
> Last remaining issue is...

I still have a few issues (some were already mentioned on here):

For me, when I'm in a KCM in a nested category, the focus goes back to the root category. If the app is big enough to show the top-level and nested categories then this isn't an issue. If the app is only showing the nested categories then:
1. The focus only goes to the top-level categories and never goes to the visible nested categories
2. The focus never goes to the back buttton.
this means I can't actually see the sidebar items that are focused.

Also the Quick Settings module doesn't let me change focus the the sidebar, which is quite problematic since this is the default KCM.

And finally, it seems impossible to activate the application menu from keyboard.

On Plasma 5.27.0
Comment 17 Fushan Wen 2023-09-27 23:25:01 UTC
Git commit 7cd7fa458f284e2b79788884975d618161aae354 by Fushan Wen.
Committed on 27/09/2023 at 17:08.
Pushed by fusionfuture into branch 'master'.

Fix Tab/Backtab not working in Qt6

Use method instead of signal because the latter doesn't work properly in
Qt6.

See also: https://bugreports.qt.io/browse/QTBUG-92820

M  +47   -14   app/sidebar/SidebarMode.cpp
M  +6    -0    app/sidebar/SidebarMode.h
M  +2    -6    app/sidebar/qml/CategoriesPage.qml
M  +0    -3    app/sidebar/qml/IntroPage.qml
M  +0    -6    app/sidebar/qml/Main.qml
M  +0    -3    app/sidebar/qml/SideBarItem.qml
M  +2    -2    app/sidebar/qml/SubCategoryPage.qml

https://invent.kde.org/plasma/systemsettings/-/commit/7cd7fa458f284e2b79788884975d618161aae354
Comment 18 Fushan Wen 2023-09-27 23:25:09 UTC
Git commit 4c6b71367c17db38daee070c25c8fec84d420e79 by Fushan Wen.
Committed on 27/09/2023 at 17:08.
Pushed by fusionfuture into branch 'master'.

Don't change the previous focus by calling focus{First,Last}Child

This makes sure focus chain behave as expected when pressing Tab from
menu items in the sidebar, and pressing Backtab from the module view.
FIXED-IN: 6.0

M  +0    -12   app/sidebar/SidebarMode.cpp
M  +0    -8    app/sidebar/qml/IntroPage.qml
M  +0    -8    app/sidebar/qml/Main.qml
M  +0    -8    app/sidebar/qml/SideBarItem.qml

https://invent.kde.org/plasma/systemsettings/-/commit/4c6b71367c17db38daee070c25c8fec84d420e79