haikuwebkit/LayoutTests/accessibility/loading-iframe-sends-notifi...

87 lines
3.1 KiB
HTML
Raw Permalink Normal View History

<html>
<head>
Change LayoutTests' a* and b* files to use pre and post js files in LayoutTests/resources. https://bugs.webkit.org/show_bug.cgi?id=120985. Rubber stamped by Filip Pizlo. * accessibility/accessibility-node-memory-management.html: * accessibility/accessibility-node-reparent.html: * accessibility/accessibility-object-detached.html: * accessibility/adjacent-continuations-cause-assertion-failure.html: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-checked.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-checkbox-text.html: * accessibility/aria-combobox.html: * accessibility/aria-controls-with-tabs.html: * accessibility/aria-disabled.html: * accessibility/aria-fallback-roles.html: * accessibility/aria-help.html: * accessibility/aria-hidden-hides-all-elements.html: * accessibility/aria-hidden-update.html: * accessibility/aria-hidden-updates-alldescendants.html: * accessibility/aria-hidden-with-elements.html: * accessibility/aria-hidden.html: * accessibility/aria-invalid.html: * accessibility/aria-label.html: * accessibility/aria-labelledby-overrides-label.html: * accessibility/aria-list-and-listitem.html: * accessibility/aria-menubar-menuitems.html: * accessibility/aria-option-role.html: * accessibility/aria-presentational-role.html: * accessibility/aria-readonly.html: * accessibility/aria-required.html: * accessibility/aria-scrollbar-role.html: * accessibility/aria-sort.html: * accessibility/aria-tab-role-on-buttons.html: * accessibility/aria-tab-roles.html: * accessibility/aria-text-role.html: * accessibility/aria-toggle-button-with-title.html: * accessibility/aria-used-on-image-maps.html: * accessibility/button-title-uses-inner-img-alt.html: * accessibility/canvas-accessibilitynodeobject.html: * accessibility/canvas-description-and-role.html: * accessibility/canvas-fallback-content-2.html: * accessibility/canvas-fallback-content.html: * accessibility/color-well.html: * accessibility/container-node-delete-causes-crash.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-hidden-div.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/corresponding-control-deleted-crash.html: * accessibility/crash-adopt-node-from-new-document.html: * accessibility/crash-determining-aria-role-when-label-present.html: * accessibility/crash-with-noelement-selectbox.html: * accessibility/crashing-a-tag-in-map.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/disabled-controls-not-focusable.html: * accessibility/div-within-anchors-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/duplicate-child-nodes.html: * accessibility/element-haspopup.html: * accessibility/ellipsis-text.html: * accessibility/empty-image-with-title.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/first-letter-text-transform-causes-crash.html: * accessibility/focusable-div.html: * accessibility/global-aria-attributes-invalidate-presentational.html: * accessibility/hang-in-isignored.html: * accessibility/heading-level.html: * accessibility/heading-title-includes-links.html: * accessibility/hidden-legend.html: * accessibility/html-html-element-is-ignored.html: * accessibility/html5-required-attribute.html: * accessibility/iframe-bastardization.html: * accessibility/image-map-title-causes-crash.html: * accessibility/image-map-update-parent-crash.html: * accessibility/image-map1.html: * accessibility/img-alt-tag-only-whitespace.html: * accessibility/img-aria-button-alt-tag.html: * accessibility/img-fallsback-to-title.html: * accessibility/inline-continuations.html: * accessibility/input-file-causes-crash.html: * accessibility/input-image-alt.html: * accessibility/insert-selected-option-into-select-causes-crash.html: * accessibility/label-element-press.html: * accessibility/label-for-control-hittest.html: * accessibility/legend.html: * accessibility/link-inside-button-accessible-text.html: * accessibility/listbox-enabled-states.html: * accessibility/loading-iframe-sends-notification.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/media-controls.html: * accessibility/media-element.html: * accessibility/menu-item-crash.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/meter-element.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/non-native-image-crash.html: * accessibility/noscript-ignored.html: * accessibility/notification-listeners.html: * accessibility/placeholder.html: * accessibility/platform-name.html: * accessibility/poorly-formed-aria-table.html: * accessibility/popup-button-title.html: * accessibility/presentational-elements-with-focus.html: * accessibility/press-works-on-control-types.html: * accessibility/radio-button-title-label.html: * accessibility/removed-anonymous-block-child-causes-crash.html: * accessibility/removed-continuation-element-causes-crash.html: * accessibility/render-counter-text.html: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/svg-group-element-with-title.html: * accessibility/svg-image.html: * accessibility/svg-remote-element.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-destroyed-crash.html: * accessibility/table-remove-cell-crash.html: * accessibility/table-with-empty-thead-causes-crash.html: * accessibility/table-with-hidden-head-section.html: * accessibility/table-with-mismatch-column-count-in-initial-section.html: * accessibility/text-role-with-aria-hidden-inside.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/transformed-bounds.html: * accessibility/updating-attribute-in-table-causes-crash.html: * animations/animation-css-rule-types.html: * animations/animation-events-create.html: * animations/computed-style.html: * animations/keyframes-rule.html: * animations/script-tests/TEMPLATE.html: * batterystatus/add-listener-from-callback.html: * batterystatus/basic-all-types-of-events.html: * batterystatus/basic-operation.html: * batterystatus/event-after-navigation.html: * batterystatus/multiple-frames.html: * batterystatus/updates.html: * batterystatus/window-property.html: Canonical link: https://commits.webkit.org/138878@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-08 01:18:24 +00:00
<script src="../resources/js-test-pre.js"></script>
AX: Layout tests related to text alternative computation need to be done differently https://bugs.webkit.org/show_bug.cgi?id=157187 Create several utility methods to facilitate retrieval of platform-independent attribute values from platform-specific attributes: - platformValueForW3CName() and platformValueForW3CDescription() to retrieve a specific piece of text alternative information, stripping off the platform attribute name by default. These methods should make it possible to share tests and expectations files because the text alternative calculation defined by the W3C accessibility specifications should be the same for all platforms. (The differences are the result of the unique platform mappings.) - platformTextAlternatives() to dump out all the text alternative attributes and values, preserving the platform-specific attribute name. This, along with the use of the platformValue* methods with attribute name enabled, should make it possible to have shared tests with platform-specific expectations without the need to check the platform in the test itself. - platformRoleForComboBox() and platformRoleForStaticText() to eliminate the need for platform-specific expectations files simply because such an element happens to be included in the test file and verifying that element's role is desired. Begin using these methods in the tests related to text alternative computation which had platform-specific checks, update the expectations files when needed, and remove now-obsolete platform-specific expectations files. Reviewed by Chris Fleizach. * accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Updated. * accessibility/alt-tag-on-image-with-nonimage-role.html: Updated. * accessibility/aria-help-expected.txt: Added. * accessibility/aria-help.html: Updated. * accessibility/aria-label-expected.txt: Updated. * accessibility/aria-label.html: Updated. * accessibility/aria-labeled-with-hidden-node-expected.txt: Updated. * accessibility/aria-labeled-with-hidden-node.html: Updated. * accessibility/aria-labelledby-on-input-expected.txt: Updated. * accessibility/aria-labelledby-on-input.html: Updated. * accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Updated. * accessibility/aria-labelledby-overrides-aria-labeledby.html: Updated. * accessibility/aria-labelledby-overrides-label-expected.txt: Updated. * accessibility/aria-labelledby-overrides-label.html: Updated. * accessibility/aria-labelledby-stay-within-expected.txt: Updated. * accessibility/aria-labelledby-stay-within.html: Updated. * accessibility/aria-labelledby-with-descendants-expected.txt: Updated. * accessibility/aria-labelledby-with-descendants.html: Updated. * accessibility/aria-namefrom-author-expected.txt: Updated. * accessibility/aria-namefrom-author.html: Updated. * accessibility/aria-text-role-expected.txt: Updated. * accessibility/aria-text-role.html: Updated. * accessibility/canvas-description-and-role-expected.txt: Updated. * accessibility/canvas-description-and-role.html: Updated. * accessibility/canvas-fallback-content.html: Updated. * accessibility/empty-image-with-title-expected.txt: Updated. * accessibility/empty-image-with-title.html: Updated. * accessibility/fieldset-element-expected.txt: Updated. * accessibility/fieldset-element.html: Updated. * accessibility/focusable-div-expected.txt: Updated. * accessibility/focusable-div.html: Updated. * accessibility/help-text.html: Updated. * accessibility/img-alt-tag-only-whitespace-expected.txt: Updated. * accessibility/img-alt-tag-only-whitespace.html: Updated. * accessibility/img-aria-button-alt-tag-expected.txt: Updated. * accessibility/img-aria-button-alt-tag.html: Updated. * accessibility/img-fallsback-to-title.html: Updated. * accessibility/input-image-alt-expected.txt: Updated. * accessibility/input-image-alt.html: Updated. * accessibility/loading-iframe-sends-notification.html: Updated. * accessibility/self-referencing-aria-labelledby-expected.txt: Updated. * accessibility/self-referencing-aria-labelledby.html: Updated. * accessibility/svg-bounds.html: Updated. * accessibility/svg-group-element-with-title-expected.txt: Updated. * accessibility/svg-group-element-with-title.html: Updated. * accessibility/svg-image-expected.txt: Updated. * accessibility/svg-image.html: Updated. * accessibility/svg-labelledby-expected.txt: Updated. * accessibility/svg-labelledby.html: Updated. * accessibility/svg-remote-element.html: Updated. * accessibility/w3c-svg-description-calculation.html: Updated. * accessibility/w3c-svg-name-calculation.html: Updated. * platform/gtk/accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Removed. * platform/gtk/accessibility/aria-labeled-with-hidden-node-expected.txt: Removed. * platform/gtk/accessibility/aria-labelledby-on-input-expected.txt: Removed. * platform/gtk/accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Removed. * platform/gtk/accessibility/aria-labelledby-overrides-label-expected.txt: Updated. * platform/gtk/accessibility/aria-labelledby-with-descendants-expected.txt: Removed. * platform/gtk/accessibility/aria-namefrom-author-expected.txt: Removed. * platform/gtk/accessibility/aria-text-role-expected.txt: Removed. * platform/gtk/accessibility/canvas-description-and-role-expected.txt: Updated. * platform/gtk/accessibility/empty-image-with-title-expected.txt: Updated. * platform/gtk/accessibility/fieldset-element-expected.txt: Removed. * platform/gtk/accessibility/focusable-div-expected.txt: Removed. * platform/gtk/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed. * platform/gtk/accessibility/img-aria-button-alt-tag-expected.txt: Removed. * platform/gtk/accessibility/img-fallsback-to-title-expected.txt: Updated. * platform/gtk/accessibility/input-image-alt-expected.txt: Removed. * platform/gtk/accessibility/self-referencing-aria-labelledby-expected.txt: Removed. * platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Removed. * platform/gtk/accessibility/svg-image-expected.txt: Removed. * platform/gtk/accessibility/svg-labelledby-expected.txt: Removed. * platform/mac/accessibility/aria-help-expected.txt: Removed. * platform/mac/accessibility/aria-labelledby-overrides-label-expected.txt: Removed. * platform/mac/accessibility/canvas-description-and-role-expected.txt: Updated. * platform/mac/accessibility/fieldset-element-expected.txt: Removed. * platform/mac/accessibility/img-fallsback-to-title-expected.txt: Updated. * platform/win/accessibility/canvas-description-and-role-expected.txt: Updated. * resources/accessibility-helper.js: (platformValueForW3CName): Added. (platformValueForW3CDescription): Added. (platformTextAlternatives): Added. (platformRoleForComboBox): Added. (platformRoleForStaticText): Added. Canonical link: https://commits.webkit.org/176061@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-05-20 18:34:14 +00:00
<script src="../resources/accessibility-helper.js"></script>
</head>
<body>
<p>Before</p>
<iframe id="iframe" title="InnerFrame"></iframe>
<p>After</p>
<p>End of test</p>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that when an iframe finishes loading, it sends a notification.");
window.jsTestIsAsync = true;
// Recursively search the entire accessibility tree starting at the given
// AccessibilityUIElement (inclusive) and return the element whose title
// contains the given string. This makes it possible to find a node even
// when there are platform differences in the tree, i.e. due to different
// nodes being ignored.
function findByAccessibleTitleSubstring(startElement, titleSubstring)
{
if (startElement.title.indexOf(titleSubstring) >= 0)
return startElement;
for (var i = 0; i < startElement.childrenCount; i++) {
var found = findByAccessibleTitleSubstring(startElement.childAtIndex(i), titleSubstring);
if (found)
return found;
}
return null;
}
if (window.accessibilityController) {
window.root = accessibilityController.rootElement;
// Initially, the iframe should not be loaded, so we shouldn't be able to find this button.
shouldBeFalse("findByAccessibleTitleSubstring(root, 'InnerButton') != null");
var gotLoadCompleteNotification = false;
window.accessibilityController.addNotificationListener(function (target, notification) {
// Ignore this notification if it's not on the iframe or not about the iframe being loaded.
var targetString = platformValueForW3CName(target);
if (targetString.indexOf("InnerFrame") != -1
&& notification == "AXLoadComplete")
gotLoadCompleteNotification = true;
});
setTimeout(async function() {
// Reset gotLoadCompleteNotification to false to disregard any notification up to this point.
gotLoadCompleteNotification = false;
await waitFor(() => {
return gotLoadCompleteNotification;
});
debug("Got AXLoadComplete notification on iframe.");
await waitFor(() => {
return findByAccessibleTitleSubstring(root, 'InnerButton');
});
// Check that the button within the iframe is now reachable from the root.
shouldBeTrue("findByAccessibleTitleSubstring(root, 'InnerButton') != null");
accessibilityController.removeNotificationListener();
finishJSTest();
}, 0);
}
window.iframeElement = document.getElementById("iframe");
// Load content into the iframe. This will trigger the event
// handler above, which will check that the accessibility tree
// was updated with new content.
window.iframeElement.src = "data:text/html,<body><button>InnerButton</button></body>";
</script>
Change LayoutTests' a* and b* files to use pre and post js files in LayoutTests/resources. https://bugs.webkit.org/show_bug.cgi?id=120985. Rubber stamped by Filip Pizlo. * accessibility/accessibility-node-memory-management.html: * accessibility/accessibility-node-reparent.html: * accessibility/accessibility-object-detached.html: * accessibility/adjacent-continuations-cause-assertion-failure.html: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-checked.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-checkbox-text.html: * accessibility/aria-combobox.html: * accessibility/aria-controls-with-tabs.html: * accessibility/aria-disabled.html: * accessibility/aria-fallback-roles.html: * accessibility/aria-help.html: * accessibility/aria-hidden-hides-all-elements.html: * accessibility/aria-hidden-update.html: * accessibility/aria-hidden-updates-alldescendants.html: * accessibility/aria-hidden-with-elements.html: * accessibility/aria-hidden.html: * accessibility/aria-invalid.html: * accessibility/aria-label.html: * accessibility/aria-labelledby-overrides-label.html: * accessibility/aria-list-and-listitem.html: * accessibility/aria-menubar-menuitems.html: * accessibility/aria-option-role.html: * accessibility/aria-presentational-role.html: * accessibility/aria-readonly.html: * accessibility/aria-required.html: * accessibility/aria-scrollbar-role.html: * accessibility/aria-sort.html: * accessibility/aria-tab-role-on-buttons.html: * accessibility/aria-tab-roles.html: * accessibility/aria-text-role.html: * accessibility/aria-toggle-button-with-title.html: * accessibility/aria-used-on-image-maps.html: * accessibility/button-title-uses-inner-img-alt.html: * accessibility/canvas-accessibilitynodeobject.html: * accessibility/canvas-description-and-role.html: * accessibility/canvas-fallback-content-2.html: * accessibility/canvas-fallback-content.html: * accessibility/color-well.html: * accessibility/container-node-delete-causes-crash.html: * accessibility/content-changed-notification-causes-crash.html: * accessibility/contenteditable-hidden-div.html: * accessibility/contenteditable-table-check-causes-crash.html: * accessibility/corresponding-control-deleted-crash.html: * accessibility/crash-adopt-node-from-new-document.html: * accessibility/crash-determining-aria-role-when-label-present.html: * accessibility/crash-with-noelement-selectbox.html: * accessibility/crashing-a-tag-in-map.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/disabled-controls-not-focusable.html: * accessibility/div-within-anchors-causes-crash.html: * accessibility/duplicate-axrenderobject-crash.html: * accessibility/duplicate-child-nodes.html: * accessibility/element-haspopup.html: * accessibility/ellipsis-text.html: * accessibility/empty-image-with-title.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/first-letter-text-transform-causes-crash.html: * accessibility/focusable-div.html: * accessibility/global-aria-attributes-invalidate-presentational.html: * accessibility/hang-in-isignored.html: * accessibility/heading-level.html: * accessibility/heading-title-includes-links.html: * accessibility/hidden-legend.html: * accessibility/html-html-element-is-ignored.html: * accessibility/html5-required-attribute.html: * accessibility/iframe-bastardization.html: * accessibility/image-map-title-causes-crash.html: * accessibility/image-map-update-parent-crash.html: * accessibility/image-map1.html: * accessibility/img-alt-tag-only-whitespace.html: * accessibility/img-aria-button-alt-tag.html: * accessibility/img-fallsback-to-title.html: * accessibility/inline-continuations.html: * accessibility/input-file-causes-crash.html: * accessibility/input-image-alt.html: * accessibility/insert-selected-option-into-select-causes-crash.html: * accessibility/label-element-press.html: * accessibility/label-for-control-hittest.html: * accessibility/legend.html: * accessibility/link-inside-button-accessible-text.html: * accessibility/listbox-enabled-states.html: * accessibility/loading-iframe-sends-notification.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/media-controls.html: * accessibility/media-element.html: * accessibility/menu-item-crash.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/meter-element.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/non-native-image-crash.html: * accessibility/noscript-ignored.html: * accessibility/notification-listeners.html: * accessibility/placeholder.html: * accessibility/platform-name.html: * accessibility/poorly-formed-aria-table.html: * accessibility/popup-button-title.html: * accessibility/presentational-elements-with-focus.html: * accessibility/press-works-on-control-types.html: * accessibility/radio-button-title-label.html: * accessibility/removed-anonymous-block-child-causes-crash.html: * accessibility/removed-continuation-element-causes-crash.html: * accessibility/render-counter-text.html: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/svg-group-element-with-title.html: * accessibility/svg-image.html: * accessibility/svg-remote-element.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-destroyed-crash.html: * accessibility/table-remove-cell-crash.html: * accessibility/table-with-empty-thead-causes-crash.html: * accessibility/table-with-hidden-head-section.html: * accessibility/table-with-mismatch-column-count-in-initial-section.html: * accessibility/text-role-with-aria-hidden-inside.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/transformed-bounds.html: * accessibility/updating-attribute-in-table-causes-crash.html: * animations/animation-css-rule-types.html: * animations/animation-events-create.html: * animations/computed-style.html: * animations/keyframes-rule.html: * animations/script-tests/TEMPLATE.html: * batterystatus/add-listener-from-callback.html: * batterystatus/basic-all-types-of-events.html: * batterystatus/basic-operation.html: * batterystatus/event-after-navigation.html: * batterystatus/multiple-frames.html: * batterystatus/updates.html: * batterystatus/window-property.html: Canonical link: https://commits.webkit.org/138878@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-08 01:18:24 +00:00
<script src="../resources/js-test-post.js"></script>
</body>
</html>