Index: content/renderer/accessibility/render_accessibility_impl.cc |
diff --git a/content/renderer/accessibility/render_accessibility_impl.cc b/content/renderer/accessibility/render_accessibility_impl.cc |
index 7c8f196d7866aa137f7459a1b48eb4c576934cf2..059bd19fbeb08a10e3fcd5acaa87d96eb2f05a3d 100644 |
--- a/content/renderer/accessibility/render_accessibility_impl.cc |
+++ b/content/renderer/accessibility/render_accessibility_impl.cc |
@@ -261,6 +261,17 @@ void RenderAccessibilityImpl::HandleAXEvent( |
serializer_.DeleteClientSubtree(obj); |
#endif |
+ // If some cell IDs have been added or removed, we need to update the whole |
+ // table. |
+ if (obj.Role() == blink::kWebAXRoleRow && |
+ event == ui::AX_EVENT_CHILDREN_CHANGED) { |
+ WebAXObject table_like_object = obj.ParentObject(); |
+ if (!table_like_object.IsDetached()) { |
+ serializer_.DeleteClientSubtree(table_like_object); |
+ HandleAXEvent(table_like_object, ui::AX_EVENT_CHILDREN_CHANGED); |
+ } |
+ } |
+ |
// Add the accessibility object to our cache and ensure it's valid. |
AccessibilityHostMsg_EventParams acc_event; |
acc_event.id = obj.AxID(); |