Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(566)

Unified Diff: content/renderer/accessibility/render_accessibility_impl.cc

Issue 2953363002: Updates table-like objects when cells are added or removed. (Closed)
Patch Set: Updates table-like objects when cell IDs are added or removed. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698