Changeset 185828 in webkit
- Timestamp:
- Jun 22, 2015, 9:17:04 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 5 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/accessibility/hit-test-input-auto-fill-button-expected.txt (added)
-
LayoutTests/accessibility/hit-test-input-auto-fill-button.html (added)
-
LayoutTests/accessibility/hit-test-input-search-cancel-button-expected.txt (added)
-
LayoutTests/accessibility/hit-test-input-search-cancel-button.html (added)
-
LayoutTests/accessibility/input-search-cancel-button-expected.txt (added)
-
LayoutTests/accessibility/input-search-cancel-button.html (added)
-
LayoutTests/accessibility/resources/shouldBeAccessibleByCursor.js (added)
-
LayoutTests/platform/wk2/TestExpectations (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/accessibility/AccessibilityRenderObject.cpp (modified) (2 diffs)
-
Source/WebCore/accessibility/AccessibilityRenderObject.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r185826 r185828 1 2015-06-22 Daniel Bates <dabates@apple.com> 2 3 AX: UI Automation cannot find AutoFill or search cancel buttons 4 https://bugs.webkit.org/show_bug.cgi?id=145241 5 <rdar://problem/21051411> 6 7 Reviewed by Chris Fleizach. 8 9 Add tests to ensure that there exists an accessibility element for the 10 search cancel button and that it can be hit using a cursor position. Also 11 add a test to ensue that the AutoFill button can be hit using a cursor position. 12 13 * accessibility/hit-test-input-auto-fill-button-expected.txt: Added. 14 * accessibility/hit-test-input-auto-fill-button.html: Copied from LayoutTests/accessibility/input-auto-fill-button.html. 15 * accessibility/hit-test-input-search-cancel-button-expected.txt: Added. 16 * accessibility/hit-test-input-search-cancel-button.html: Added. 17 * accessibility/input-search-cancel-button-expected.txt: Added. 18 * accessibility/input-search-cancel-button.html: Copied from LayoutTests/accessibility/input-auto-fill-button.html. 19 * accessibility/resources/shouldBeAccessibleByCursor.js: Added. 20 (shouldBeAccessibleByCursor): Tests whether an AccessibilityUIElement can be hit 21 using its screen position. 22 * platform/wk2/TestExpectations: Mark tests hit-test-input-{auto-fill, search-cancel}-button.html 23 as failing due to <https://bugs.webkit.org/show_bug.cgi?id=71298>. 24 1 25 2015-06-22 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr> 2 26 -
trunk/LayoutTests/platform/wk2/TestExpectations
r185322 r185828 47 47 48 48 # AX tests that require hit testing do not work in WK2. 49 webkit.org/b/71298 accessibility/hit-test-input-auto-fill-button.html 50 webkit.org/b/71298 accessibility/hit-test-input-search-cancel-button.html 49 51 webkit.org/b/71298 accessibility/loading-iframe-updates-axtree.html 50 52 webkit.org/b/71298 platform/mac/accessibility/html-slider-indicator.html -
trunk/Source/WebCore/ChangeLog
r185826 r185828 1 2015-06-22 Daniel Bates <dabates@apple.com> 2 3 AX: UI Automation cannot find AutoFill or search cancel buttons 4 https://bugs.webkit.org/show_bug.cgi?id=145241 5 <rdar://problem/21051411> 6 7 Reviewed by Chris Fleizach. 8 9 Add support for hit testing the search cancel button and AutoFill button so that 10 they can be accessed by UI Automation. 11 12 Currently the accessibility hit test machinery ignores nodes in a shadow tree. 13 So, it neither finds the <input type="search"> cancel button nor the AutoFill button 14 when it performs a hit test. Therefore these buttons cannot be accessed using 15 UI Automation. 16 17 Tests: accessibility/hit-test-input-auto-fill-button.html 18 accessibility/hit-test-input-search-cancel-button.html 19 accessibility/input-search-cancel-button.html 20 21 * accessibility/AccessibilityRenderObject.cpp: 22 (WebCore::AccessibilityRenderObject::accessibilityTextFieldDecorationHitTest): Added; returns 23 the AccessibilityObject for the search cancel button or AutoFill text field decoration as applicable. 24 (WebCore::AccessibilityRenderObject::accessibilityHitTest): Check whether the hit node 25 is a text field decoration. 26 1 27 2015-06-22 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr> 2 28 -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
r185558 r185828 2196 2196 } 2197 2197 2198 AccessibilityObject* AccessibilityRenderObject::accessibilityTextFieldDecorationHitTest(const HTMLInputElement& inputElement, const Node& decoration) const 2199 { 2200 if (inputElement.autoFillButtonElement() == &decoration || inputElement.cancelButtonElement() == &decoration) { 2201 AccessibilityObject* object = axObjectCache()->getOrCreate(decoration.renderer()); 2202 if (object && !object->accessibilityIsIgnored()) 2203 return object; 2204 } 2205 return nullptr; 2206 } 2207 2198 2208 AccessibilityObject* AccessibilityRenderObject::remoteSVGElementHitTest(const IntPoint& point) const 2199 2209 { … … 2230 2240 Node* node = hitTestResult.innerNode()->deprecatedShadowAncestorNode(); 2231 2241 ASSERT(node); 2242 2243 if (is<HTMLInputElement>(*node)) { 2244 if (AccessibilityObject* object = accessibilityTextFieldDecorationHitTest(downcast<HTMLInputElement>(*node), *hitTestResult.innerNode())) 2245 return object; 2246 } 2232 2247 2233 2248 if (is<HTMLAreaElement>(*node)) -
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h
r184068 r185828 243 243 AccessibilityObject* internalLinkElement() const; 244 244 AccessibilityObject* accessibilityImageMapHitTest(HTMLAreaElement*, const IntPoint&) const; 245 AccessibilityObject* accessibilityTextFieldDecorationHitTest(const HTMLInputElement&, const Node&) const; 245 246 AccessibilityObject* accessibilityParentForImageMap(HTMLMapElement*) const; 246 247 virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) const override;
Note:
See TracChangeset
for help on using the changeset viewer.