From 971ee2d28a65b816050ccd5bfb332f37c34f09fd Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 28 Jul 2020 15:56:30 -0400 Subject: [PATCH] a11y: Set up controls relations for scrollbars GtkScrolledWindow knows what its scrollbars control, so set up the accessible relations for this. --- gtk/gtkscrolledwindow.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index e9c62dbcf8..6682d52ebe 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -4139,6 +4139,7 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, { GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window); GtkWidget *scrollable_child; + GList *list; g_return_if_fail (GTK_IS_SCROLLED_WINDOW (scrolled_window)); @@ -4194,6 +4195,15 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window, NULL); } + list = g_list_append (NULL, priv->child); + gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->hscrollbar), + GTK_ACCESSIBLE_RELATION_CONTROLS, list, + -1); + gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->vscrollbar), + GTK_ACCESSIBLE_RELATION_CONTROLS, list, + -1); + g_list_free (list); + g_object_notify_by_pspec (G_OBJECT (scrolled_window), properties[PROP_CHILD]); }