Package: release.debian.org Severity: normal Tags: bookworm X-Debbugs-Cc: gtk+...@packages.debian.org Control: affects -1 + src:gtk+3.0 User: release.debian....@packages.debian.org Usertags: pu
Hello, I have uploaded gtk+3.0/3.24.38-2~deb12u3 which I'd like to see go into bookworm. [ Reason ] As detailed in bug Bug#1084489, the version of gtk3 in bookworm is still using a focus event that was deprecated a long time ago. Newer versions of the Orca screen reader for blind people recently migrated to dropping the support for these old events. This means that when users try to use more recent Orca versions (to improve screen reading for various applications), they get strong regressions. So it's not a regression in stable itself, but it is preventing users from using a more recent version of Orca (to improve the mere usage of their computer), such as from bookworm-backports or directly from upstream Orca. [ Impact ] With a newer version of Orca, some actions of the user do not get audible feedback to the user, thus leaving the user quite lost in what is happening, notably in combo-boxes, gnome-terminal tabs, and others. [ Tests ] This fix was tested by an end user. [ Risks ] The code is very trivial [ Checklist ] [X] *all* changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in (old)stable [X] the issue is verified as fixed in unstable [ Changes ] It replaces calling the deprecated atk_focus_tracker_notify (atk_obj); with calling atk_object_notify_state_change (atk_obj, ATK_STATE_FOCUSED, TRUE); as it should since like a decade.
diff -Nru gtk+3.0-3.24.38/debian/changelog gtk+3.0-3.24.38/debian/changelog --- gtk+3.0-3.24.38/debian/changelog 2024-07-19 12:57:06.000000000 +0200 +++ gtk+3.0-3.24.38/debian/changelog 2024-10-25 20:17:45.000000000 +0200 @@ -1,3 +1,11 @@ +gtk+3.0 (3.24.38-2~deb12u3) bookworm; urgency=medium + + * Non-maintainer upload. + * d/p/atk_focus_tracker_notify.deprecated.patch: Fix letting Orca announce + initial focus (Closes: #1084489) + + -- Samuel Thibault <sthiba...@debian.org> Fri, 25 Oct 2024 20:17:45 +0200 + gtk+3.0 (3.24.38-2~deb12u2) bookworm; urgency=medium * d/p/Stop-looking-for-modules-in-cwd.patch: diff -Nru gtk+3.0-3.24.38/debian/patches/atk_focus_tracker_notify.deprecated.patch gtk+3.0-3.24.38/debian/patches/atk_focus_tracker_notify.deprecated.patch --- gtk+3.0-3.24.38/debian/patches/atk_focus_tracker_notify.deprecated.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtk+3.0-3.24.38/debian/patches/atk_focus_tracker_notify.deprecated.patch 2024-10-25 20:15:00.000000000 +0200 @@ -0,0 +1,61 @@ +From 5147e95d1d6a02212b1f51c2cc0a61653425850a Mon Sep 17 00:00:00 2001 +From: Michael Weghorn <m.wegh...@posteo.de> +Date: Wed, 8 May 2024 11:32:27 +0200 +Subject: [PATCH] a11y: Port from deprecated atk_focus_tracker_notify + +Port `gail_focus_notify` from using the deprecated +`atk_focus_tracker_notify` to notify about the new +focus object. Notify of a state of the focused state +instead, as suggested in the +`atk_focus_tracker_notify` doc [1]. + +Using the deprecated function e.g. resulted in +the Orca screen reader no longer announcing +initial focus on editable comboboxes in +LibreOffice Writer's toolbars after Orca dropped +support for the deprecated "focus" AT-SPI event +in this commit [2]: + + commit 9e2902dd46c7e583a097e235dfd7e3c50b016383 + Author: Joanmarie Diggs <jdi...@igalia.com> + 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. + +This commit makes the announcement work again. + +It also fixes the scenario described in [3]. + +[1] https://docs.gtk.org/atk/func.focus_tracker_notify.html +[2] https://gitlab.gnome.org/GNOME/orca/-/commit/9e2902dd46c7e583a097e235dfd7e3c50b016383 +[3] https://gitlab.gnome.org/GNOME/gtk/-/issues/454#note_2099344 + +Fixes: #454 +--- + gtk/a11y/gtkaccessibility.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/gtk/a11y/gtkaccessibility.c b/gtk/a11y/gtkaccessibility.c +index 7f0e5207d91..1b319db35af 100644 +--- a/gtk/a11y/gtkaccessibility.c ++++ b/gtk/a11y/gtkaccessibility.c +@@ -525,11 +525,9 @@ gail_focus_notify (GtkWidget *widget) + /* + * Do not report focus on redundant object + */ +- G_GNUC_BEGIN_IGNORE_DEPRECATIONS; + if (atk_obj && + (atk_object_get_role(atk_obj) != ATK_ROLE_REDUNDANT_OBJECT)) +- atk_focus_tracker_notify (atk_obj); +- G_GNUC_END_IGNORE_DEPRECATIONS; ++ atk_object_notify_state_change (atk_obj, ATK_STATE_FOCUSED, TRUE); + if (atk_obj && transient) + g_object_unref (atk_obj); + if (subsequent_focus_widget) +-- +GitLab + diff -Nru gtk+3.0-3.24.38/debian/patches/series gtk+3.0-3.24.38/debian/patches/series --- gtk+3.0-3.24.38/debian/patches/series 2024-07-19 12:57:06.000000000 +0200 +++ gtk+3.0-3.24.38/debian/patches/series 2024-10-25 20:15:32.000000000 +0200 @@ -4,3 +4,4 @@ reftest_compare_surfaces-Report-how-much-the-images-diffe.patch reftests-Allow-minor-differences-to-be-tolerated.patch Stop-looking-for-modules-in-cwd.patch +atk_focus_tracker_notify.deprecated.patch