Created attachment 194013 [details] Screencast of the issue When using the Orca screen reader on Linux, editable comboboxes are not properly announced. Sample steps to reproduce: 1) start Orca 2) start LO Writer 3) press F6 until the formatting toolbar is focused 4) press Tab until the "Font Name" combobox is focused 5) switch between entries by using the up/down keys Actual result: The new value is not reliably announced. See attached screencast. Expected result: The new value should be announced by Orca Tested with Orca 46.1-1 from Debian testing and current orca git main as of commit d19b34d5946cf86ef6294b4796582f42020c29b7. Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: b420a5cd2424d2fc5efa3fcc395d14366f4b2773 CPU threads: 32; OS: Linux 6.7; UI render: default; VCL: gtk3 Locale: en-GB (en_GB.UTF-8); UI: en-US Calc: threaded
Related earlier discussion with Joanmarie Diggs, the Orca maintainer: see tdf#160806
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/9f078ed7b625e86182d64d5ccfbb410cdd38081c tdf#160971 gtk3 a11y: Set role for custom editable combobox It will be available in 24.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.
One issue with current Orca main is that the first time that an editable combobox receives focus, it is not announced. That turns out to happen since Orca dropped support for the deprecated "focus" event in commit [1]: commit 9e2902dd46c7e583a097e235dfd7e3c50b016383 Author: Joanmarie Diggs Date: Wed May 1 12:14:07 2024 +0200 Remove the on_focus handler for the LibreOffice script The "focus:" event was deprecated many years ago. If the expected "object:state-changed:focused" event is absent, that bug should be fixed. Pending MR for GTK 3 to emit the "object:state-changed:focused" event instead of the deprecated "focus" event: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/7239 With that MR in place, that announcement works again. [1] https://gitlab.gnome.org/GNOME/orca/-/commit/9e2902dd46c7e583a097e235dfd7e3c50b016383
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/c24db71bc56c5d81a6e8fb744442b6d6358992d0 tdf#160971 a11y: Add null check in AccessibleListBox::getAccessibleRole It will be available in 24.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/ab7a94b8403e7fc89398a603a10e9002bd7e2077 tdf#160971 a11y: Send full text on changed combobox text It will be available in 24.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/ee168614ddea2f349e80372599296e835080f264 tdf#160971 gtk3 a11y: Manually unset focus for combobox popup It will be available in 24.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.
Created attachment 194372 [details] Screencast qt6 VCL plugin with Orca git main
Created attachment 194373 [details] GTK 3 sample program using native GtkComboBox
Created attachment 194374 [details] Qt sample program using a native QComboBox
Created attachment 194375 [details] Screencast showing behavior with native Qt and GTK comboboxes
Screencast attachment 194372 [details] shows the current behavior with Orca git main (as of commit c702b5acb9bd78a5812886a5d1c51409115e3900) and LO master (as of 838f6adc9bdde2f656eb26bdc2870adfa7aa412b) when using the qt6 VCL plugin: When switching between entries using the up/down arrow keys in the non-expanded editable combobox, Orca announces "selection deleted" in addition to the new text. This is because the entry text automatically gets selected when switching entries (and therefore gets unselected again when switching entries). The behavior when using a native QComboBox is different (s. sample program attachment 194374 [details] and screencast attachment 194375 [details] - the left example is the Qt one): When switching entries, the text is not selected. The text cursor is always set to the end of the combobox entry's text. This is similar when using sample GTK 3 program attachment 194373 [details] with a native GtkComboBox, except that the cursor there is always set to the beginning of the entry's text, also seen in screencast attachment 194375 [details] - the right-hand example is the GTK one. On the other hand, a sample Windows Forms applications on Windows showed the same selection behavior as LO currently does, so leaving it as is there is potentially the most consistent to integrate well with the platform behavior. I plan to align the behavior of LO's comboboxes with the toolkit/platform behavior.
Created attachment 194376 [details] Sample program with a combobox form element
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/98f9e9aa6c0dcfdb1ae9ec0ca9a3f6a557ae7396 tdf#160971 vcl a11y: Make combobox text selection mode style-able It will be available in 24.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/3776874c20b4d4b2b24850c5f21e3b89a7feaaea tdf#160971 qt a11y: Don't select combobox text on entry selection It will be available in 24.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.
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/4b53712cccfa48fc7d1f754d6a596204e041d554 tdf#160971 gtk: Don't select combobox text on entry selection It will be available in 24.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.
(In reply to Michael Weghorn from comment #11) > I plan to align the behavior of LO's comboboxes with the toolkit/platform > behavior. That's done now and announcement with Orca git main (as of commit c702b5acb9bd78a5812886a5d1c51409115e3900) works now for both, the gtk3 and qt6 VCL plugins. While working on this, I noticed a somewhat related issue for the gtk3 VCL plugin: Selecting a value using the keyboard only by expanding the popup doesn't work, the new value isn't actually applied. More detailed description and fix now pending in Gerrit: https://gerrit.libreoffice.org/c/core/+/125645
(In reply to Michael Weghorn from comment #16) > While working on this, I noticed a somewhat related issue for the gtk3 VCL > plugin: Selecting a value using the keyboard only by expanding the popup > doesn't work, the new value isn't actually applied. More detailed > description and fix now pending in Gerrit: > https://gerrit.libreoffice.org/c/core/+/125645 Correct link: https://gerrit.libreoffice.org/c/core/+/168146
Michael Weghorn committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/405cf00e4818886b0d3053d03cfb2e3f3a5e8eb8 related tdf#160971 gtk3 a11y: Keep new combobox value It will be available in 24.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.