Bug 141101 - The font color popup is not accessible to screen readers on Windows
Summary: The font color popup is not accessible to screen readers on Windows
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All Windows (All)
: medium normal
Assignee: Michael Weghorn
URL:
Whiteboard: target:24.2.0
Keywords: accessibility
Depends on:
Blocks: a11y-Windows a11y, Accessibility
  Show dependency treegraph
 
Reported: 2021-03-18 14:44 UTC by Marco Zehe
Modified: 2023-08-22 11:04 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 Marco Zehe 2021-03-18 14:44:50 UTC
A bug was filed against NVDA which is actually a LibreOffice bug: https://github.com/nvaccess/nvda/issues/12143.

To reproduce:
1. Open Writer.
2. Press Applications key, or Shift+F10.
3. Choose Font -> Font.
4. Choose Font Effects tab.
5. Tab to the Color combo box and open it with either Alt+DownArrow or Space.

Expected result: Colors should be read out loud, and I should be able to choose one.
Actual: The Color chooser opens, but NVDA is not made aware of this fact. I only found out about it by using NVDA's object navigation commands. I was walking up from the combo box for the color chooser to the Character dialog, walking to the previous sibling, and again previous sibling, to an unnamed dialog, going to the first child, which is the Automatic button, and to the right to find several controls like a combobox with an adjacent expanded list box with 120 colors as its children, and another combobox with recent choices in it adjacent to that list box.

There are several events missing:
1. An event on the menu button that it actually expanded.
2. A focus event on the currently selected item in the colors list, or the Automatic button inside the dialog.
3. A focus and selection event on the newly selected color that I choose when pressing the arrow keys.
4. A focus event once a new color is chosen and Enter is pressed, back on the Color menu button in the Character dialog.
Note that, should this kind of construct emit menu popup and such events instead, these are probably not appropriate since this is not a menu. It is an expanding combo box with some richer options.

Also, I noticed that the tab key doesn't allow me to traverse to the Recent combobox once I set focus to that popover dialog. Instead, it autocompletes the currently selected color.

Additional info: Doing the same on Linux works just fine, so this is only affecting Windows and the events the Windows layer does not fire.
Comment 1 V Stuart Foote 2021-03-18 16:45:28 UTC
Confirmed. This is another instance of incomplete instrumentation of GUI controls such that cursor focus movements do not trigger accessible events, although mouse over focus does.

=-testing-=
Win10 Ent 64-bit (20H2) with NVDA 2020.4 and
Version: 7.2.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 9d8accf03984a64a4105826e55b221962628eb93
CPU threads: 8; OS: Windows 10.0 Build 18363; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL
Comment 2 QA Administrators 2023-03-19 03:25:46 UTC Comment hidden (obsolete)
Comment 3 Michael Weghorn 2023-03-20 08:51:22 UTC
Still reproducible with 

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5c78600292d965af157967343a1a4559a086d39a
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded.
Comment 4 Commit Notification 2023-08-18 04:06:09 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4d27d2c5f9d83112b6db9b6234e2ae617ffced22

tdf#141101 tdf#156561 a11y: Handle a11y child events in win parent

It will be available in 24.2.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 5 Commit Notification 2023-08-18 04:06:21 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/230789766b364bf995e6659dd589cdf902c69f2c

tdf#156561 tdf#141101 Revert "tdf#140762 tdf#152671 Make dock win ..." et al

It will be available in 24.2.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 6 Commit Notification 2023-08-18 18:14:59 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0008ff3597e9d89481d5fccb5cefa7f058400a43

tdf#141101 a11y: Ensure focused event after showing popup content

It will be available in 24.2.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 7 Commit Notification 2023-08-22 10:49:03 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#141101 tdf#101886 a11y: Restore previous focus on col/line popup close

It will be available in 24.2.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 8 Michael Weghorn 2023-08-22 11:04:18 UTC
(In reply to Marco Zehe from comment #0)
> There are several events missing:
> 1. An event on the menu button that it actually expanded.
> 2. A focus event on the currently selected item in the colors list, or the
> Automatic button inside the dialog.
> 3. A focus and selection event on the newly selected color that I choose
> when pressing the arrow keys.
> 4. A focus event once a new color is chosen and Enter is pressed, back on
> the Color menu button in the Character dialog.
> Note that, should this kind of construct emit menu popup and such events
> instead, these are probably not appropriate since this is not a menu. It is
> an expanding combo box with some richer options.

With the fixes from the previous comments in place, all of these uses cases are now announced by NVDA 2023.1 in my tests as I'd expect, so I'm closing this as resolved. Retesting and reporting feedback welcome.

> Also, I noticed that the tab key doesn't allow me to traverse to the Recent
> combobox once I set focus to that popover dialog. Instead, it autocompletes
> the currently selected color.

I can't reproduce that in a quick test, not even in LO 7.5.3.2 that doesn't contain any of the above commits.