Bug 168594 - Can't navigate special-char "split button" widget using arrow keys
Summary: Can't navigate special-char "split button" widget using arrow keys
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium enhancement
Assignee: Michael Weghorn
URL:
Whiteboard: target:26.8.0
Keywords: accessibility
Depends on:
Blocks: Special-Character
  Show dependency treegraph
 
Reported: 2025-09-28 22:26 UTC by Eyal Rozenberg
Modified: 2025-12-21 12:45 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eyal Rozenberg 2025-09-28 22:26:18 UTC
If I press the arrow button part of the special char toolbar button - a mini-dialog expands.

It would be nice if one could navigate this dialog using the keyboard, specifically the arrow keys, rather than just the mouse.
Comment 1 Eyal Rozenberg 2025-09-28 22:30:55 UTC
Observed with:

Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 432930279b5d2791efadf5d602fb426c59d10a48
CPU threads: 4; OS: Linux 6.12; UI render: default; VCL: gtk3
Locale: en-IL (en_IL); UI: en-US
Calc: CL threaded

also with the QT5 VCL.
Comment 2 V Stuart Foote 2025-09-29 00:41:32 UTC
The <Tab> and <Shift><Tab> work for keyboard movements on Windows builds.

Does feel odd that Cursor (U,D,L,R) don't control these split-button items.
Comment 3 Heiko Tietze 2025-09-29 08:22:59 UTC
Tab works with 

Version: 25.8.1.1 (X86_64) / LibreOffice Community
Build ID: 580(Build:1)
CPU threads: 32; OS: Linux 6.16; UI render: default; VCL: kf6 (cairo+xcb)
Locale: de-DE (en_US.UTF-8); UI: en-US
25.8.1-3
Calc: threaded
Comment 4 Eyal Rozenberg 2025-09-29 08:34:18 UTC
(In reply to Heiko Tietze from comment #3)

So, I understand you can confirm that the arrow keys don't work? :-(
Comment 5 Heiko Tietze 2025-09-29 08:55:42 UTC
I cannot confirm the issue "Can't navigate special-char menubutton-dialog using the keyboard" (but yes, while the arrow keys work in the dialog they doesn't for the widget).
Comment 6 Eyal Rozenberg 2025-09-29 09:00:22 UTC
(In reply to Heiko Tietze from comment #5)

Changed the title; how about now?
Comment 7 Volodymyr 2025-12-15 21:34:23 UTC
Tested on Windows 11, LibreOffice versions: 25.8.3.2 (X86_64) stable and 26.2.0.0.alpha0+ (X86_64) alpha

Keyboard navigation in mini-dialogs of split-buttons works as follows:

Tab / Shift+Tab → works perfectly, moves focus between elements.

Arrow keys (Up/Down/Left/Right) → behavior is inconsistent: in some mini-dialogs the arrows perform specific actions (e.g., switch color, select line style), but not in all dialogs. Overall, the dialog remains functional.

Result: Partially reproducible. Keyboard navigation works via Tab, while Arrow keys execute functions only in some dialogs.

Environment details: UI locale: uk-UA, VCL: win, IK: Skia/RASTER.

QA status: NOT FULLY REPRODUCED; main functionality works with Tab navigation.
Comment 8 Commit Notification 2025-12-15 22:50:25 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/7bbf805341d3ce839d00067a0d92cae9cb465555

tdf#168594 Move logic to show context menu out of SvxCharView

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2025-12-15 22:50:27 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/e03a1ce190aae23ad98f321a66b103dcbbaa5e1b

tdf#168594 Simplify SvxCharView font update

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 Michael Weghorn 2025-12-15 22:51:47 UTC
I've started looking into porting away from using the custom SvxCharView to a weld::IconView, which does support arrow key navigation out of the box.
Comment 11 Eyal Rozenberg 2025-12-15 23:35:03 UTC
(In reply to Michael Weghorn from comment #10)

Thanks for noticing this and sorry for not having marked it accessibility-related. And thanks for the fix of course.
Comment 12 Eyal Rozenberg 2025-12-15 23:38:36 UTC
(In reply to Volodymyr from comment #7)
> Tab / Shift+Tab → works perfectly, moves focus between elements.

Nitpick: I think you only read the first comment. I had changed the title for the bug to be only about keyboard navigation (following a comment by Heiko). Unfortunately we don't have comment editing functionality, which means that when one does triage, one has to focus first-and-foremost on the title, which can be edited - or better yet to read the sequence of comments. Which is annoying, I know, but sometimes a bug changes during the discussion...
Comment 13 Commit Notification 2025-12-16 08:21:12 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/92b0f88a1f6eca12f4b5df280ba60e6153bf6520

tdf#168594 sfx2: Move y pos calculation to SvxCharView::Paint

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 14 Michael Weghorn 2025-12-16 08:32:00 UTC
(In reply to Eyal Rozenberg from comment #11)
> Thanks for noticing this and sorry for not having marked it
> accessibility-related. And thanks for the fix of course.

As far as I can see, you actually *did* set the "accessibility" keyword, which is why I became aware of this ticket. :-)

(The fix is still WIP.)
Comment 16 Commit Notification 2025-12-16 22:16:55 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/07b53cfb8ef4424ce73674f514a08b9c8a3a2393

tdf#130857 tdf#168594 vcl: Drop superfluous check in SvTreeListBox::RequestHelp

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 17 Commit Notification 2025-12-16 22:17:59 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/6298d4854eebd542d3be58cc7ff95053e51217b9

tdf#130857 tdf#168594 weld: Introduce weld::IconView::set_item_tooltip_text

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 18 Commit Notification 2025-12-16 22:19:11 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/9cbf62017bba23b62fd3ada2274dd8ca3392f177

tdf#168594 sfx2: Deduplicate SvxCharView update logic

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 19 Commit Notification 2025-12-16 22:19:13 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/c542af53305fe877c71e84bf9604e1789dcb2460

tdf#168594 Move tooltip text and a11y name logic out of SvxCharView

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 20 Commit Notification 2025-12-19 08:21:59 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0e323f194be7065a23dc6a55b1dc994adf647467

tdf#168594 weld: Add IconView::get_item_at_rect

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 21 Commit Notification 2025-12-19 21:52:24 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/9c7dbd7d06c4425df55a849527c001fb8b0f00bb

tdf#168594 weld: Add get_iter_index_in_parent for IconView

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 22 Commit Notification 2025-12-19 21:52:27 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/bebdf3ff5ac53a6db916389f70b743efb3c08fc6

tdf#168594 Change SvxCharView focus callback param to CharAndFont

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 23 Commit Notification 2025-12-19 21:53:30 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/fdfb5b726e78f89c2637d164056a83cc6231378d

tdf#168594 Move InsertCharToDoc logic out of SvxCharView

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 24 Commit Notification 2025-12-19 21:53:33 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/c06cb736e5d573bfa4d3a9e7578e090efeb7a4e9

tdf#168594 Let SvxCharView implement basic mouse click logic

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 25 Commit Notification 2025-12-19 21:53:35 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/cb5e9c8a2f76134cafdcd12ef2748fa9d538b076

tdf#168594 Only care about SvxCharView font family name

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 26 Commit Notification 2025-12-19 21:53:38 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/3840382ebf4259558d88d86be6e9796d0e87a74c

tdf#168594 Change SvxCharView click callback param to CharAndFont

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 27 Commit Notification 2025-12-19 21:53:40 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/7ae5b227f7461b7e1d937e50aa57c121c19fda22

tdf#168594 a11y: Update special char info on keyboard triggered focus

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 28 Commit Notification 2025-12-19 21:53:43 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/176f8acd7a993fc45ac7f027123270f80e4924ea

tdf#168594 Rework SvxCharView activation logic

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 29 Commit Notification 2025-12-20 21:32:18 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/5602a94b22b0ec387fd5a9c15a6e9fbdcd947593

tdf#130857 tdf#168594 qt weld: Implement QtInstanceIconView::get_rect

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 30 Commit Notification 2025-12-20 21:33:26 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/cc847ffd7ed1b8aa2c8884ed0d1a047d912a2b23

tdf#130857 tdf#168594 qt weld: Support activate-on-single-click

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 31 Commit Notification 2025-12-21 00:37:41 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/c184cd984865a0406940b9f39ac1cd538b922e8f

tdf#168594 tdf#119931 a11y special chars: Use IconView for recent/favorites

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 32 Commit Notification 2025-12-21 00:37:46 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/883c7fe1b50fe85c2a2026e0b098be0d57ec19a2

tdf#168594 Move CharAndFont to charmapcontainer.hxx

It will be available in 26.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 33 Michael Weghorn 2025-12-21 01:28:19 UTC
(In reply to Michael Weghorn from comment #14)
> (The fix is still WIP.)

Switch to IconView is done now (and some underlying IconView refactor + tweaks).
Comment 34 V Stuart Foote 2025-12-21 12:45:00 UTC
(In reply to Michael Weghorn from comment #33)
> (In reply to Michael Weghorn from comment #14)
> > (The fix is still WIP.)
> 
> Switch to IconView is done now (and some underlying IconView refactor +
> tweaks).

Thanks Michael!