Bug 160837 - ACCESSIBILITY: toolbar positions are incorrectly reported to AT-SPI2
Summary: ACCESSIBILITY: toolbar positions are incorrectly reported to AT-SPI2
Status: RESOLVED FIXED
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: Michael Weghorn
URL:
Whiteboard: target:24.8.0 target:25.2.0
Keywords: accessibility
Depends on:
Blocks: a11y, Accessibility KDE, KF5 Toolbars Qt6
  Show dependency treegraph
 
Reported: 2024-04-26 20:58 UTC by Esme Povirk
Modified: 2024-10-01 17:56 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.
Comment 8 Commit Notification 2024-09-26 05:11:35 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/79773cf27636a99c2a37373046fb448e1d754c0d

tdf#160837 qt: Move logic for move event handling to QtFrame

It will be available in 25.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 9 Commit Notification 2024-09-26 05:11:38 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 qt: Move logic for resize event handling to QtFrame

It will be available in 25.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 10 Commit Notification 2024-09-26 05:11:40 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/7511fd100d0b4e4b10f3e0a986a4cb1db7a1637c

tdf#160837 qt: Move logic for QPaintEvent handling to QtFrame

It will be available in 25.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 11 Commit Notification 2024-09-26 05:11:43 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0879fff079965065935c88a1ba48385548176a13

tdf#160837 vcl: Use existing SalFrame::GetWidth

It will be available in 25.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 12 Commit Notification 2024-09-26 05:11:45 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/460b11312214bb4cf08cecc22a35699e9e7c1889

tdf#160837 vcl: Use getter to get frame geometry

It will be available in 25.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 13 Commit Notification 2024-09-26 05:11:48 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/22393b8f71d3a46a60ff0be5c938a5da6e5fabb0

tdf#160837 macOS: Replace direct access to SalFrame::maGeometry

It will be available in 25.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 14 Commit Notification 2024-09-26 05:12:51 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 win: Replace some direct access to SalFrame::maGeometry

It will be available in 25.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 15 Commit Notification 2024-09-26 05:12:53 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 win: Move SetMaximizedFrameGeometry to WinSalFrame

It will be available in 25.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 16 Commit Notification 2024-09-26 05:12:56 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/25f8b88ac9d602c1c518561c0f641a1e21699338

tdf#160837 win: Move UpdateFrameGeometry to WinSalFrame

It will be available in 25.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 17 Commit Notification 2024-09-26 05:12:58 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 vcl: Protect SalFrame::maGeometry access

It will be available in 25.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 18 Commit Notification 2024-09-28 07:32:23 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/54bdc8cb95584aba8de06564ea45f05d0babc032

tdf#160837 qt: QtFrame: Use getters instead of SalFrame::maGeometry

It will be available in 25.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 19 Commit Notification 2024-09-28 07:32:26 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 SalFrame: Replace direct uses of maGeometry member

It will be available in 25.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 20 Commit Notification 2024-09-28 07:33:28 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 qt: Rely on toolkit for frame positions, drop menubar hack

It will be available in 25.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 21 Michael Weghorn 2024-10-01 13:32:15 UTC
(In reply to Michael Weghorn from comment #7)
> The previous commits fix this for gtk3 (more testing with daily build of
> tomorrow or later welcome).
> 
> For qt6, it's still wrong.

The commits up to commit 20 fix the qt6 case for X11, where global/screen coordinates are used.

Pending change to fix the Wayland case, too:
https://gerrit.libreoffice.org/c/core/+/174350

This e.g. makes Accerciser with ACCERCISER_WINDOW_MANAGER=kwin in a Plasma Wayland session highlight the correct area.
Comment 22 Commit Notification 2024-10-01 17:55:44 UTC
Michael Weghorn committed a patch related to this issue.
It has been pushed to "master":

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

tdf#160837 qt a11y: Don't report window role for non-top-level

It will be available in 25.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.