AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=35514
Reviewed by Darin Adler.
WebCore:
When a table's DOM is changed and an AX Table is not asked first for its children,
it would return wrong information. A table needs to make sure children are up to date in
all methods that can be called from the outside.
Test: platform/mac/accessibility/stale-table-rows.html
* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::clearChildren):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::clearChildren):
(WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
(WebCore::AccessibilityRenderObject::children):
* accessibility/AccessibilityRenderObject.h:
(WebCore::AccessibilityRenderObject::needsToUpdateChildren):
(WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::clearChildren):
(WebCore::AccessibilityTable::columns):
(WebCore::AccessibilityTable::rows):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::cells):
(WebCore::AccessibilityTable::columnCount):
(WebCore::AccessibilityTable::rowCount):
(WebCore::AccessibilityTable::cellForColumnAndRow):
WebKitTools:
Add rowCount, columnCount for tables.
* DumpRenderTree/AccessibilityUIElement.cpp:
(rowCountCallback):
(columnCountCallback):
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::rowCount):
(AccessibilityUIElement::columnCount):
LayoutTests:
* platform/mac/accessibility/stale-table-rows-expected.txt: Added.
* platform/mac/accessibility/stale-table-rows.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55390 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed