Index: goocanvasgroup.c
===================================================================
--- goocanvasgroup.c	(revision 8)
+++ goocanvasgroup.c	(working copy)
@@ -152,6 +152,7 @@
 				gint            position)
 {
   GooCanvasGroup *group = (GooCanvasGroup*) item;
+  AtkObject *atk_obj, *child_atk_obj;
 
   g_object_ref (child);
 
@@ -167,6 +168,11 @@
 
   goo_canvas_item_set_parent (child, item);
 
+  atk_obj = atk_gobject_accessible_for_object (G_OBJECT (item));
+  child_atk_obj = atk_gobject_accessible_for_object (G_OBJECT (child));
+  g_signal_emit_by_name (atk_obj, "children_changed::add",
+                         position, child_atk_obj);
+
   goo_canvas_item_request_update (item);
 }
 
@@ -203,6 +209,7 @@
   GooCanvasGroup *group = (GooCanvasGroup*) item;
   GooCanvasItem *child;
   GooCanvasBounds bounds;
+  AtkObject *atk_obj, *child_atk_obj;
 
   g_return_if_fail (child_num < group->items->len);
 
@@ -214,6 +221,11 @@
       goo_canvas_request_redraw (simple->canvas, &bounds);
     }
 
+  atk_obj = atk_gobject_accessible_for_object (G_OBJECT (item));
+  child_atk_obj = atk_gobject_accessible_for_object (G_OBJECT (child));
+  g_signal_emit_by_name (atk_obj, "children_changed::remove",
+                         child_num, child_atk_obj);
+
   goo_canvas_item_set_parent (child, NULL);
   g_object_unref (child);
 
