a11y: Report children of widgets

We want children of composite accessibles to be
reported.
This commit is contained in:
Matthias Clasen 2020-02-05 23:07:33 -05:00
parent 20aec5a744
commit b3f5243aeb

View File

@ -409,16 +409,26 @@ gtk_widget_accessible_get_index_in_parent (AtkObject *accessible)
} }
} }
if (!GTK_IS_WIDGET (widget))
return -1;
parent_widget = gtk_widget_get_parent (widget); parent_widget = gtk_widget_get_parent (widget);
if (!GTK_IS_CONTAINER (parent_widget)) if (GTK_IS_CONTAINER (parent_widget))
return -1; {
children = gtk_container_get_children (GTK_CONTAINER (parent_widget));
index = g_list_index (children, widget);
g_list_free (children);
}
else if (GTK_IS_WIDGET (parent_widget))
{
GtkWidget *child;
children = gtk_container_get_children (GTK_CONTAINER (parent_widget)); for (child = gtk_widget_get_first_child (parent_widget), index = 0; child; child = gtk_widget_get_next_sibling (child), index++)
{
if (child == widget)
break;
}
}
else
index = -1;
index = g_list_index (children, widget);
g_list_free (children);
return index; return index;
} }