Changeset 88830 in webkit
- Timestamp:
- Jun 14, 2011, 11:20:28 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/platform/mac/accessibility/aria-grid-with-strange-hierarchy-expected.txt (added)
-
LayoutTests/platform/mac/accessibility/aria-grid-with-strange-hierarchy.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/accessibility/AccessibilityARIAGrid.cpp (modified) (3 diffs)
-
Source/WebCore/accessibility/AccessibilityARIAGrid.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r88822 r88830 1 2011-06-14 Chris Fleizach <cfleizach@apple.com> 2 3 Reviewed by David Kilzer. 4 5 VoiceOver cannot navigate the itunes album view table 6 https://bugs.webkit.org/show_bug.cgi?id=62335 7 8 * platform/mac/accessibility/aria-grid-with-strange-hierarchy-expected.txt: Added. 9 * platform/mac/accessibility/aria-grid-with-strange-hierarchy.html: Added. 10 1 11 2011-06-13 Adrienne Walker <enne@google.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r88829 r88830 1 2011-06-14 Chris Fleizach <cfleizach@apple.com> 2 3 Reviewed by David Kilzer. 4 5 VoiceOver cannot navigate the iTunes album view table 6 https://bugs.webkit.org/show_bug.cgi?id=62335 7 8 This is a regression from https://bugs.webkit.org/show_bug.cgi?id=57463. 9 Part of that patch made a change so that an ARIA table will only look at it's children and grandchildren 10 for possible rows. That however, doesn't allow arbitrary hierarchies to work with ARIA, like in iTunes album view. 11 12 Test: platform/mac/accessibility/aria-grid-with-strange-hierarchy.html 13 14 * accessibility/AccessibilityARIAGrid.cpp: 15 (WebCore::AccessibilityARIAGrid::addChild): 16 (WebCore::AccessibilityARIAGrid::addChildren): 17 * accessibility/AccessibilityARIAGrid.h: 18 1 19 2011-06-14 Sheriff Bot <webkit.review.bot@gmail.com> 2 20 -
trunk/Source/WebCore/accessibility/AccessibilityARIAGrid.cpp
r83450 r88830 60 60 } 61 61 62 voidAccessibilityARIAGrid::addChild(AccessibilityObject* child, HashSet<AccessibilityObject*>& appendedRows, unsigned& columnCount)62 bool AccessibilityARIAGrid::addChild(AccessibilityObject* child, HashSet<AccessibilityObject*>& appendedRows, unsigned& columnCount) 63 63 { 64 64 if (!child || !child->isTableRow() || child->ariaRoleAttribute() != RowRole) 65 return ;65 return false; 66 66 67 67 AccessibilityTableRow* row = static_cast<AccessibilityTableRow*>(child); 68 68 if (appendedRows.contains(row)) 69 return ;69 return false; 70 70 71 71 // store the maximum number of columns … … 85 85 86 86 appendedRows.add(row); 87 return true; 87 88 } 88 89 … … 107 108 for (RefPtr<AccessibilityObject> child = firstChild(); child; child = child->nextSibling()) { 108 109 109 if (child->isTableRow() || child->ariaRoleAttribute() == RowRole) 110 addChild(child.get(), appendedRows, columnCount); 111 else { 110 if (!addChild(child.get(), appendedRows, columnCount)) { 111 112 112 // in case the render tree doesn't match the expected ARIA hierarchy, look at the children 113 113 if (!child->hasChildren()) 114 114 child->addChildren(); 115 115 116 // Do not navigate children through the Accessibility 117 // children vector to let addChild() check the result 118 // of accessibilityIsIgnored() and make the proper 119 // decision (add the objects or their children). 120 AccessibilityObject* grandChild = 0; 121 for (grandChild = child->firstChild(); grandChild; grandChild = grandChild->nextSibling()) 122 addChild(grandChild, appendedRows, columnCount); 116 // The children of this non-row will contain all non-ignored elements (recursing to find them). 117 // This allows the table to dive arbitrarily deep to find the rows. 118 AccessibilityChildrenVector children = child->children(); 119 size_t length = children.size(); 120 for (size_t i = 0; i < length; ++i) 121 addChild(children[i].get(), appendedRows, columnCount); 123 122 } 124 123 } -
trunk/Source/WebCore/accessibility/AccessibilityARIAGrid.h
r82698 r88830 56 56 virtual bool supportsSelectedRows() { return true; } 57 57 58 voidaddChild(AccessibilityObject*, HashSet<AccessibilityObject*>& appendedRows, unsigned& columnCount);58 bool addChild(AccessibilityObject*, HashSet<AccessibilityObject*>& appendedRows, unsigned& columnCount); 59 59 }; 60 60
Note:
See TracChangeset
for help on using the changeset viewer.