haikuwebkit/LayoutTests/accessibility/canvas-fallback-content-exp...

102 lines
2.4 KiB
Plaintext
Raw Permalink Normal View History

Link Button
AX: Calls to AXObjectCache should prefer Node over Renderer https://bugs.webkit.org/show_bug.cgi?id=91794 Reviewed by Chris Fleizach. Source/WebCore: Now that it's possible for nodes inside a canvas subtree to be focused and represent accessible content, accessibility notifications should be triggered with a Node* rather than with a RenderObject* whenever possible. Every public API in AXObjectCache that took a RenderObject* before now either takes a Node* instead, or has a parallel method that takes a Node*. Tests: accessibility/accessibility-node-memory-management.html accessibility/accessibility-node-reparent.html accessibility/canvas-fallback-content.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::focusedImageMapUIElement): (WebCore::AXObjectCache::focusedUIElementForPage): (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::getOrCreate): (WebCore::AXObjectCache::contentChanged): (WebCore): (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::checkedStateChanged): (WebCore::AXObjectCache::selectedChildrenChanged): (WebCore::AXObjectCache::nodeTextChangeNotification): (WebCore::AXObjectCache::handleAriaExpandedChange): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): (WebCore::AXObjectCache::rootAXEditableElement): (WebCore::AXObjectCache::nodeIsTextControl): * accessibility/AXObjectCache.h: (AXObjectCache): (WebCore::AXObjectCache::setNodeInUse): (WebCore::AXObjectCache::removeNodeForUse): (WebCore::AXObjectCache::isNodeInUse): (WebCore::AXObjectCache::checkedStateChanged): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::contentChanged): (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaExpandedChange): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::handleFocusedUIElementChanged): (WebCore::AXObjectCache::nodeTextChangeNotification): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::selectedChildrenChanged): * accessibility/AccessibilityListBoxOption.cpp: (WebCore::AccessibilityListBoxOption::parentObject): * accessibility/AccessibilityObject.cpp: (WebCore::appendAccessibilityObject): (WebCore::replacedNodeNeedsCharacter): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::menuForMenuButton): (WebCore::AccessibilityRenderObject::menuButtonForMenu): (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): (WebCore::AccessibilityRenderObject::titleUIElement): (WebCore::AccessibilityRenderObject::isTabItemSelected): (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): (WebCore::AccessibilityRenderObject::nodeIsTextControl): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement): (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement): * accessibility/AccessibilityRenderObject.h: (AccessibilityRenderObject): * accessibility/AccessibilityScrollView.cpp: (WebCore::AccessibilityScrollView::webAreaObject): (WebCore::AccessibilityScrollView::parentObject): (WebCore::AccessibilityScrollView::parentObjectIfExists): * accessibility/chromium/AXObjectCacheChromium.cpp: (WebCore::AXObjectCache::postPlatformNotification): (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/win/AXObjectCacheWin.cpp: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * bindings/cpp/WebDOMCustomVoidCallback.cpp: (toWebCore): * dom/Document.cpp: (WebCore::Document::setFocusedNode): * dom/Element.cpp: (WebCore::Element::attributeChanged): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::attach): * editing/AppendNodeCommand.cpp: (WebCore::sendAXTextChangedIgnoringLineBreaks): * editing/DeleteFromTextNodeCommand.cpp: (WebCore::DeleteFromTextNodeCommand::doApply): (WebCore::DeleteFromTextNodeCommand::doUnapply): * editing/Editor.cpp: (WebCore::Editor::respondToChangedContents): (WebCore::Editor::markAndReplaceFor): * editing/InsertIntoTextNodeCommand.cpp: (WebCore::InsertIntoTextNodeCommand::doApply): (WebCore::InsertIntoTextNodeCommand::doUnapply): * editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): (WebCore::InsertNodeBeforeCommand::doUnapply): * editing/chromium/FrameSelectionChromium.cpp: (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::childrenChanged): (WebCore::HTMLSelectElement::optionElementChildrenChanged): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::setInnerTextValue): * html/InputType.cpp: (WebCore::InputType::applyStep): * html/RangeInputType.cpp: (WebCore::RangeInputType::handleKeydownEvent): * page/FocusController.cpp: (WebCore::FocusController::setInitialFocus): LayoutTests: New tests: - canvas-fallback-content tests that objects in a canvas subtree can be focused and then you can retrieve the role of the accessible object. - accessibility-node-memory-management ensures that an AccessibilityNodeObject is detached when its node is destroyed. - accessibility-node-reparent ensures that if an AccessibilityNodeObject is created for a node without a renderer, but the node later gets a renderer, the AccessibilityNodeObject is detached and an AccessibilityRenderObject is created instead. * accessibility/accessibility-node-memory-management-expected.txt: Added. * accessibility/accessibility-node-memory-management.html: Added. * accessibility/accessibility-node-reparent-expected.txt: Added. * accessibility/accessibility-node-reparent.html: Added. * accessibility/canvas-fallback-content-expected.txt: Added. * accessibility/canvas-fallback-content.html: Added. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/111968@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-15 21:31:35 +00:00
Focusable
ARIA button
ARIA link
This test makes sure that focusable elements in canvas fallback content are accessible.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
link1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXLink"
button1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
text1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXTextField"
checkbox1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXCheckBox"
radio1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXRadioButton"
submit1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
combobox1
PASS document.activeElement == element is true
Optimize baselines: accessibility Unreviewed; run "webkit-patch optimize-baselines accessibility" * accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt. * accessibility/aria-combobox-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-combobox-expected.txt. * accessibility/aria-fallback-roles-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-fallback-roles-expected.txt. * accessibility/aria-labelledby-overrides-aria-label-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-labelledby-overrides-aria-label-expected.txt. * accessibility/aria-menubar-menuitems-expected.txt: * accessibility/aria-option-role-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-option-role-expected.txt. * accessibility/aria-roles-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-roles-expected.txt. * accessibility/aria-tab-role-on-buttons-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-tab-role-on-buttons-expected.txt. * accessibility/aria-tables-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-tables-expected.txt. * accessibility/aria-toggle-button-with-title-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-toggle-button-with-title-expected.txt. * accessibility/canvas-description-and-role-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/canvas-description-and-role-expected.txt. * accessibility/canvas-fallback-content-expected.txt: * accessibility/deleting-iframe-destroys-axcache-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/deleting-iframe-destroys-axcache-expected.txt. * accessibility/div-within-anchors-causes-crash-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/div-within-anchors-causes-crash-expected.txt. * accessibility/file-upload-button-stringvalue-expected.txt: Renamed from LayoutTests/platform/efl-wk1/accessibility/file-upload-button-stringvalue-expected.txt. * accessibility/img-alt-tag-only-whitespace-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/img-alt-tag-only-whitespace-expected.txt. * accessibility/notification-listeners-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/notification-listeners-expected.txt. * accessibility/paragraph-with-linebreaks-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/paragraph-with-linebreaks-expected.txt. * accessibility/svg-image-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/svg-image-expected.txt. * accessibility/svg-remote-element-expected.txt: * platform/efl-wk1/accessibility/table-attributes-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-attributes-expected.txt. * platform/efl-wk1/accessibility/table-detection-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-detection-expected.txt. * platform/efl-wk1/accessibility/table-one-cell-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-one-cell-expected.txt. * platform/efl-wk1/accessibility/table-sections-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-sections-expected.txt. * platform/efl-wk1/accessibility/table-with-rules-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-with-rules-expected.txt. * platform/efl/accessibility/aria-menubar-menuitems-expected.txt: Removed. * platform/efl/accessibility/canvas-fallback-content-expected.txt: Removed. * platform/efl/accessibility/svg-remote-element-expected.txt: Removed. * platform/gtk-wk1/accessibility/table-attributes-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/table-attributes-expected.txt. * platform/gtk-wk1/accessibility/table-sections-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/table-sections-expected.txt. * platform/gtk/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Removed. * platform/gtk/accessibility/aria-combobox-expected.txt: Removed. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Removed. * platform/gtk/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Removed. * platform/gtk/accessibility/aria-menubar-menuitems-expected.txt: Removed. * platform/gtk/accessibility/aria-option-role-expected.txt: Removed. * platform/gtk/accessibility/aria-roles-expected.txt: Removed. * platform/gtk/accessibility/aria-tab-role-on-buttons-expected.txt: Removed. * platform/gtk/accessibility/aria-tables-expected.txt: Removed. * platform/gtk/accessibility/aria-toggle-button-with-title-expected.txt: Removed. * platform/gtk/accessibility/canvas-description-and-role-expected.txt: Removed. * platform/gtk/accessibility/canvas-fallback-content-expected.txt: Removed. * platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Removed. * platform/gtk/accessibility/div-within-anchors-causes-crash-expected.txt: Removed. * platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Removed. * platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed. * platform/gtk/accessibility/notification-listeners-expected.txt: Removed. * platform/gtk/accessibility/paragraph-with-linebreaks-expected.txt: Removed. * platform/gtk/accessibility/svg-image-expected.txt: Removed. * platform/gtk/accessibility/svg-remote-element-expected.txt: Removed. * platform/mac/accessibility/aria-fallback-roles-expected.txt: Removed. * platform/mac/accessibility/aria-menubar-menuitems-expected.txt: Copied from LayoutTests/accessibility/aria-menubar-menuitems-expected.txt. * platform/mac/accessibility/aria-roles-expected.txt: Removed. * platform/mac/accessibility/aria-tables-expected.txt: Removed. * platform/mac/accessibility/canvas-fallback-content-expected.txt: Copied from LayoutTests/accessibility/canvas-fallback-content-expected.txt. * platform/mac/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed. * platform/mac/accessibility/svg-image-expected.txt: Removed. * platform/win-future/accessibility/svg-remote-element-expected.txt: Copied from LayoutTests/accessibility/svg-remote-element-expected.txt. Canonical link: https://commits.webkit.org/142126@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-11-07 03:26:18 +00:00
PASS axElement.role is "AXRole: AXComboBox"
AX: Calls to AXObjectCache should prefer Node over Renderer https://bugs.webkit.org/show_bug.cgi?id=91794 Reviewed by Chris Fleizach. Source/WebCore: Now that it's possible for nodes inside a canvas subtree to be focused and represent accessible content, accessibility notifications should be triggered with a Node* rather than with a RenderObject* whenever possible. Every public API in AXObjectCache that took a RenderObject* before now either takes a Node* instead, or has a parallel method that takes a Node*. Tests: accessibility/accessibility-node-memory-management.html accessibility/accessibility-node-reparent.html accessibility/canvas-fallback-content.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::focusedImageMapUIElement): (WebCore::AXObjectCache::focusedUIElementForPage): (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::getOrCreate): (WebCore::AXObjectCache::contentChanged): (WebCore): (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::checkedStateChanged): (WebCore::AXObjectCache::selectedChildrenChanged): (WebCore::AXObjectCache::nodeTextChangeNotification): (WebCore::AXObjectCache::handleAriaExpandedChange): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): (WebCore::AXObjectCache::rootAXEditableElement): (WebCore::AXObjectCache::nodeIsTextControl): * accessibility/AXObjectCache.h: (AXObjectCache): (WebCore::AXObjectCache::setNodeInUse): (WebCore::AXObjectCache::removeNodeForUse): (WebCore::AXObjectCache::isNodeInUse): (WebCore::AXObjectCache::checkedStateChanged): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::contentChanged): (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaExpandedChange): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::handleFocusedUIElementChanged): (WebCore::AXObjectCache::nodeTextChangeNotification): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::selectedChildrenChanged): * accessibility/AccessibilityListBoxOption.cpp: (WebCore::AccessibilityListBoxOption::parentObject): * accessibility/AccessibilityObject.cpp: (WebCore::appendAccessibilityObject): (WebCore::replacedNodeNeedsCharacter): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::menuForMenuButton): (WebCore::AccessibilityRenderObject::menuButtonForMenu): (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): (WebCore::AccessibilityRenderObject::titleUIElement): (WebCore::AccessibilityRenderObject::isTabItemSelected): (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): (WebCore::AccessibilityRenderObject::nodeIsTextControl): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement): (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement): * accessibility/AccessibilityRenderObject.h: (AccessibilityRenderObject): * accessibility/AccessibilityScrollView.cpp: (WebCore::AccessibilityScrollView::webAreaObject): (WebCore::AccessibilityScrollView::parentObject): (WebCore::AccessibilityScrollView::parentObjectIfExists): * accessibility/chromium/AXObjectCacheChromium.cpp: (WebCore::AXObjectCache::postPlatformNotification): (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/win/AXObjectCacheWin.cpp: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * bindings/cpp/WebDOMCustomVoidCallback.cpp: (toWebCore): * dom/Document.cpp: (WebCore::Document::setFocusedNode): * dom/Element.cpp: (WebCore::Element::attributeChanged): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::attach): * editing/AppendNodeCommand.cpp: (WebCore::sendAXTextChangedIgnoringLineBreaks): * editing/DeleteFromTextNodeCommand.cpp: (WebCore::DeleteFromTextNodeCommand::doApply): (WebCore::DeleteFromTextNodeCommand::doUnapply): * editing/Editor.cpp: (WebCore::Editor::respondToChangedContents): (WebCore::Editor::markAndReplaceFor): * editing/InsertIntoTextNodeCommand.cpp: (WebCore::InsertIntoTextNodeCommand::doApply): (WebCore::InsertIntoTextNodeCommand::doUnapply): * editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): (WebCore::InsertNodeBeforeCommand::doUnapply): * editing/chromium/FrameSelectionChromium.cpp: (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::childrenChanged): (WebCore::HTMLSelectElement::optionElementChildrenChanged): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::setInnerTextValue): * html/InputType.cpp: (WebCore::InputType::applyStep): * html/RangeInputType.cpp: (WebCore::RangeInputType::handleKeydownEvent): * page/FocusController.cpp: (WebCore::FocusController::setInitialFocus): LayoutTests: New tests: - canvas-fallback-content tests that objects in a canvas subtree can be focused and then you can retrieve the role of the accessible object. - accessibility-node-memory-management ensures that an AccessibilityNodeObject is detached when its node is destroyed. - accessibility-node-reparent ensures that if an AccessibilityNodeObject is created for a node without a renderer, but the node later gets a renderer, the AccessibilityNodeObject is detached and an AccessibilityRenderObject is created instead. * accessibility/accessibility-node-memory-management-expected.txt: Added. * accessibility/accessibility-node-memory-management.html: Added. * accessibility/accessibility-node-reparent-expected.txt: Added. * accessibility/accessibility-node-reparent.html: Added. * accessibility/canvas-fallback-content-expected.txt: Added. * accessibility/canvas-fallback-content.html: Added. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/111968@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-15 21:31:35 +00:00
focusable1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXGroup"
aria-button1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
aria-link1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXLink"
link2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXLink"
button2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
text2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXTextField"
checkbox2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXCheckBox"
radio2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXRadioButton"
submit2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
combobox2
PASS document.activeElement == element is true
Optimize baselines: accessibility Unreviewed; run "webkit-patch optimize-baselines accessibility" * accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt. * accessibility/aria-combobox-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-combobox-expected.txt. * accessibility/aria-fallback-roles-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-fallback-roles-expected.txt. * accessibility/aria-labelledby-overrides-aria-label-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-labelledby-overrides-aria-label-expected.txt. * accessibility/aria-menubar-menuitems-expected.txt: * accessibility/aria-option-role-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-option-role-expected.txt. * accessibility/aria-roles-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-roles-expected.txt. * accessibility/aria-tab-role-on-buttons-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-tab-role-on-buttons-expected.txt. * accessibility/aria-tables-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-tables-expected.txt. * accessibility/aria-toggle-button-with-title-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/aria-toggle-button-with-title-expected.txt. * accessibility/canvas-description-and-role-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/canvas-description-and-role-expected.txt. * accessibility/canvas-fallback-content-expected.txt: * accessibility/deleting-iframe-destroys-axcache-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/deleting-iframe-destroys-axcache-expected.txt. * accessibility/div-within-anchors-causes-crash-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/div-within-anchors-causes-crash-expected.txt. * accessibility/file-upload-button-stringvalue-expected.txt: Renamed from LayoutTests/platform/efl-wk1/accessibility/file-upload-button-stringvalue-expected.txt. * accessibility/img-alt-tag-only-whitespace-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/img-alt-tag-only-whitespace-expected.txt. * accessibility/notification-listeners-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/notification-listeners-expected.txt. * accessibility/paragraph-with-linebreaks-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/paragraph-with-linebreaks-expected.txt. * accessibility/svg-image-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/svg-image-expected.txt. * accessibility/svg-remote-element-expected.txt: * platform/efl-wk1/accessibility/table-attributes-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-attributes-expected.txt. * platform/efl-wk1/accessibility/table-detection-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-detection-expected.txt. * platform/efl-wk1/accessibility/table-one-cell-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-one-cell-expected.txt. * platform/efl-wk1/accessibility/table-sections-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-sections-expected.txt. * platform/efl-wk1/accessibility/table-with-rules-expected.txt: Renamed from LayoutTests/platform/efl/accessibility/table-with-rules-expected.txt. * platform/efl/accessibility/aria-menubar-menuitems-expected.txt: Removed. * platform/efl/accessibility/canvas-fallback-content-expected.txt: Removed. * platform/efl/accessibility/svg-remote-element-expected.txt: Removed. * platform/gtk-wk1/accessibility/table-attributes-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/table-attributes-expected.txt. * platform/gtk-wk1/accessibility/table-sections-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/table-sections-expected.txt. * platform/gtk/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Removed. * platform/gtk/accessibility/aria-combobox-expected.txt: Removed. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Removed. * platform/gtk/accessibility/aria-labelledby-overrides-aria-label-expected.txt: Removed. * platform/gtk/accessibility/aria-menubar-menuitems-expected.txt: Removed. * platform/gtk/accessibility/aria-option-role-expected.txt: Removed. * platform/gtk/accessibility/aria-roles-expected.txt: Removed. * platform/gtk/accessibility/aria-tab-role-on-buttons-expected.txt: Removed. * platform/gtk/accessibility/aria-tables-expected.txt: Removed. * platform/gtk/accessibility/aria-toggle-button-with-title-expected.txt: Removed. * platform/gtk/accessibility/canvas-description-and-role-expected.txt: Removed. * platform/gtk/accessibility/canvas-fallback-content-expected.txt: Removed. * platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Removed. * platform/gtk/accessibility/div-within-anchors-causes-crash-expected.txt: Removed. * platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Removed. * platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed. * platform/gtk/accessibility/notification-listeners-expected.txt: Removed. * platform/gtk/accessibility/paragraph-with-linebreaks-expected.txt: Removed. * platform/gtk/accessibility/svg-image-expected.txt: Removed. * platform/gtk/accessibility/svg-remote-element-expected.txt: Removed. * platform/mac/accessibility/aria-fallback-roles-expected.txt: Removed. * platform/mac/accessibility/aria-menubar-menuitems-expected.txt: Copied from LayoutTests/accessibility/aria-menubar-menuitems-expected.txt. * platform/mac/accessibility/aria-roles-expected.txt: Removed. * platform/mac/accessibility/aria-tables-expected.txt: Removed. * platform/mac/accessibility/canvas-fallback-content-expected.txt: Copied from LayoutTests/accessibility/canvas-fallback-content-expected.txt. * platform/mac/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed. * platform/mac/accessibility/svg-image-expected.txt: Removed. * platform/win-future/accessibility/svg-remote-element-expected.txt: Copied from LayoutTests/accessibility/svg-remote-element-expected.txt. Canonical link: https://commits.webkit.org/142126@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@158810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-11-07 03:26:18 +00:00
PASS axElement.role is "AXRole: AXComboBox"
AX: Calls to AXObjectCache should prefer Node over Renderer https://bugs.webkit.org/show_bug.cgi?id=91794 Reviewed by Chris Fleizach. Source/WebCore: Now that it's possible for nodes inside a canvas subtree to be focused and represent accessible content, accessibility notifications should be triggered with a Node* rather than with a RenderObject* whenever possible. Every public API in AXObjectCache that took a RenderObject* before now either takes a Node* instead, or has a parallel method that takes a Node*. Tests: accessibility/accessibility-node-memory-management.html accessibility/accessibility-node-reparent.html accessibility/canvas-fallback-content.html * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::focusedImageMapUIElement): (WebCore::AXObjectCache::focusedUIElementForPage): (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::getOrCreate): (WebCore::AXObjectCache::contentChanged): (WebCore): (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::checkedStateChanged): (WebCore::AXObjectCache::selectedChildrenChanged): (WebCore::AXObjectCache::nodeTextChangeNotification): (WebCore::AXObjectCache::handleAriaExpandedChange): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): (WebCore::AXObjectCache::rootAXEditableElement): (WebCore::AXObjectCache::nodeIsTextControl): * accessibility/AXObjectCache.h: (AXObjectCache): (WebCore::AXObjectCache::setNodeInUse): (WebCore::AXObjectCache::removeNodeForUse): (WebCore::AXObjectCache::isNodeInUse): (WebCore::AXObjectCache::checkedStateChanged): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::contentChanged): (WebCore::AXObjectCache::updateCacheAfterNodeIsAttached): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaExpandedChange): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::handleFocusedUIElementChanged): (WebCore::AXObjectCache::nodeTextChangeNotification): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::selectedChildrenChanged): * accessibility/AccessibilityListBoxOption.cpp: (WebCore::AccessibilityListBoxOption::parentObject): * accessibility/AccessibilityObject.cpp: (WebCore::appendAccessibilityObject): (WebCore::replacedNodeNeedsCharacter): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::menuForMenuButton): (WebCore::AccessibilityRenderObject::menuButtonForMenu): (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): (WebCore::AccessibilityRenderObject::titleUIElement): (WebCore::AccessibilityRenderObject::isTabItemSelected): (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): (WebCore::AccessibilityRenderObject::nodeIsTextControl): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement): (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement): * accessibility/AccessibilityRenderObject.h: (AccessibilityRenderObject): * accessibility/AccessibilityScrollView.cpp: (WebCore::AccessibilityScrollView::webAreaObject): (WebCore::AccessibilityScrollView::parentObject): (WebCore::AccessibilityScrollView::parentObjectIfExists): * accessibility/chromium/AXObjectCacheChromium.cpp: (WebCore::AXObjectCache::postPlatformNotification): (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/gtk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * accessibility/win/AXObjectCacheWin.cpp: (WebCore::AXObjectCache::handleFocusedUIElementChanged): * bindings/cpp/WebDOMCustomVoidCallback.cpp: (toWebCore): * dom/Document.cpp: (WebCore::Document::setFocusedNode): * dom/Element.cpp: (WebCore::Element::attributeChanged): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::attach): * editing/AppendNodeCommand.cpp: (WebCore::sendAXTextChangedIgnoringLineBreaks): * editing/DeleteFromTextNodeCommand.cpp: (WebCore::DeleteFromTextNodeCommand::doApply): (WebCore::DeleteFromTextNodeCommand::doUnapply): * editing/Editor.cpp: (WebCore::Editor::respondToChangedContents): (WebCore::Editor::markAndReplaceFor): * editing/InsertIntoTextNodeCommand.cpp: (WebCore::InsertIntoTextNodeCommand::doApply): (WebCore::InsertIntoTextNodeCommand::doUnapply): * editing/InsertNodeBeforeCommand.cpp: (WebCore::InsertNodeBeforeCommand::doApply): (WebCore::InsertNodeBeforeCommand::doUnapply): * editing/chromium/FrameSelectionChromium.cpp: (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::childrenChanged): (WebCore::HTMLSelectElement::optionElementChildrenChanged): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::setInnerTextValue): * html/InputType.cpp: (WebCore::InputType::applyStep): * html/RangeInputType.cpp: (WebCore::RangeInputType::handleKeydownEvent): * page/FocusController.cpp: (WebCore::FocusController::setInitialFocus): LayoutTests: New tests: - canvas-fallback-content tests that objects in a canvas subtree can be focused and then you can retrieve the role of the accessible object. - accessibility-node-memory-management ensures that an AccessibilityNodeObject is detached when its node is destroyed. - accessibility-node-reparent ensures that if an AccessibilityNodeObject is created for a node without a renderer, but the node later gets a renderer, the AccessibilityNodeObject is detached and an AccessibilityRenderObject is created instead. * accessibility/accessibility-node-memory-management-expected.txt: Added. * accessibility/accessibility-node-memory-management.html: Added. * accessibility/accessibility-node-reparent-expected.txt: Added. * accessibility/accessibility-node-reparent.html: Added. * accessibility/canvas-fallback-content-expected.txt: Added. * accessibility/canvas-fallback-content.html: Added. * platform/gtk/TestExpectations: Canonical link: https://commits.webkit.org/111968@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@125710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-08-15 21:31:35 +00:00
focusable2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXGroup"
aria-button2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
aria-link2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXLink"
focusable1
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
focusable2
PASS document.activeElement == element is true
PASS axElement.role is "AXRole: AXButton"
PASS successfullyParsed is true
TEST COMPLETE