Bug 160837 - ACCESSIBILITY: toolbar positions are incorrectly reported to AT-SPI2
Summary: ACCESSIBILITY: toolbar positions are incorrectly reported to AT-SPI2
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
7.6.5.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:24.8.0
Keywords: accessibility
Depends on:
Blocks: Toolbars
  Show dependency treegraph
 
Reported: 2024-04-26 20:58 UTC by Esme Povirk
Modified: 2024-05-07 18:50 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 Esme Povirk 2024-04-26 20:58:29 UTC
To reproduce:
1. Open a LibreOffice application (I tested Writer and Calc).
2. Open Accerciser.
3. Browse to a toolbar button in Accerciser.

Expected behavior: Accerciser draws a rectangle over the selected button.

Actual behavior: Accerciser draws a rectangle vertically offset from the button position.

This will draw a rectangle over the reported position of the button. The rectangle should be in the same position as the button on screen, but it's actually vertically offset (might be by the height of the menu bar?).

Using 7.6.5-1 binary package in Manjaro.
Comment 1 Michael Weghorn 2024-04-27 06:06:33 UTC
Confirmed. This is wrong with both, the gtk3 and qt6 VCL plugins, but it's fine with gtk4. (Can explicitly be selected by starting LO with env var SAL_USE_VCPLUGIN=gtk3 etc. set.)


(In reply to Esme Povirk from comment #0)
> This will draw a rectangle over the reported position of the button. The
> rectangle should be in the same position as the button on screen, but it's
> actually vertically offset (might be by the height of the menu bar?).

Well observed, this is actually related to the menu bar, as can be seen by the fact that this works fine after switching to one of the interface variants that doesn't include the native menu bar (in "View" -> "User Interface"), see tdf#159369 comment 4.

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5766960c92b3188e54a5074f16c18f9f7f0a3eea
CPU threads: 32; OS: Linux 6.6; UI render: default; VCL: gtk3
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: CL threaded

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5766960c92b3188e54a5074f16c18f9f7f0a3eea
CPU threads: 32; OS: Linux 6.6; UI render: default; VCL: qt6 (cairo+wayland)
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: CL threaded

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 5766960c92b3188e54a5074f16c18f9f7f0a3eea
CPU threads: 32; OS: Linux 6.6; UI render: default; VCL: gtk4
Locale: en-GB (en_GB.UTF-8); UI: en-US
Calc: CL threaded
Comment 2 Commit Notification 2024-04-30 18:54:15 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/252b1591d5e4e3adbf7063b56c2b578fe046ad3d

tdf#159369 tdf#160806 tdf#160837 gtk3 a11y: Don't skip parents one way

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.
Comment 3 Commit Notification 2024-05-07 04:06:08 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160806 tdf#160837 gtk3 a11y: Don't use idle

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.
Comment 4 Commit Notification 2024-05-07 04:06:12 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/1b9041a7c97c31a12afe7b69f0e1e4005a819509

tdf#160806 tdf#160837 gtk3 a11y: Port from deprecated atk_focus_tracker_notify

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.
Comment 5 Commit Notification 2024-05-07 04:06:15 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160806 tdf#160837 gtk3 a11y: Drop handling of some VclEventIds

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.
Comment 6 Commit Notification 2024-05-07 04:06:19 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/593923ee108b01c03ee3b14295fedfb8d07e7ea0

tdf#160806 tdf#160837 gtk3 a11y: Drop VclEventId::ToolboxButtonStateChanged

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.
Comment 7 Michael Weghorn 2024-05-07 07:08:38 UTC
(In reply to Michael Weghorn from comment #1)
> Confirmed. This is wrong with both, the gtk3 and qt6 VCL plugins, but it's
> fine with gtk4. (Can explicitly be selected by starting LO with env var
> SAL_USE_VCPLUGIN=gtk3 etc. set.)

The previous commits fix this for gtk3 (more testing with daily build of tomorrow or later welcome).

For qt6, it's still wrong.