haikuwebkit/LayoutTests/accessibility/inline-continuations.html

51 lines
1.4 KiB
HTML
Raw Permalink Normal View History

2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The basic change is to modify the AccessibilityRenderObject tree traversal methods to account for inline continuations in the render tree and make the accessibility tree look as if continuations didn't exist - the same as if CSS blocks could just sit in CSS inlines. This is slightly tricky code but creates a much saner accessibility tree. Tests: accessibility/image-link-inline-cont.html accessibility/image-link.html accessibility/inline-continuations.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. (WebCore::firstChildInContinuation): ditto (WebCore::firstChildConsideringContinuation): ditto (WebCore::lastChildConsideringContinuation): ditto (WebCore::startOfContinuations): ditto (WebCore::endOfContinuations): ditto (WebCore::childBeforeConsideringContinuations): ditto (WebCore::firstChildIsInlineContinuation): ditto (WebCore::lastChildHasContinuation): ditto (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. (WebCore::AccessibilityRenderObject::lastChild): ditto (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations and their anonymous block parents. (WebCore::AccessibilityRenderObject::nextSibling): ditto (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The new test cases verify the accessibility tree created by an image inside a link, and verify that adding a div with role=presentation now has no effect on the accessibility tree (as expected). * accessibility/image-link-inline-cont-expected.txt: Added. * accessibility/image-link-inline-cont.html: Added. * accessibility/image-link.html: Added. * platform/gtk/Skipped: * platform/mac/accessibility/image-link-expected.txt: Added. * platform/win/Skipped: Test to check that accessibility tree doesn't get duplicate content in the presence of inline continuations (this was a bug in an earlier version of this patch). * accessibility/inline-continuations-expected.txt: Added. * accessibility/inline-continuations.html: Added. Canonical link: https://commits.webkit.org/49430@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@58150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-04-23 05:47:06 +00:00
<!DOCTYPE html>
<head>
<title>Inline continuations - accessibility tree linkage</title>
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>
2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The basic change is to modify the AccessibilityRenderObject tree traversal methods to account for inline continuations in the render tree and make the accessibility tree look as if continuations didn't exist - the same as if CSS blocks could just sit in CSS inlines. This is slightly tricky code but creates a much saner accessibility tree. Tests: accessibility/image-link-inline-cont.html accessibility/image-link.html accessibility/inline-continuations.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. (WebCore::firstChildInContinuation): ditto (WebCore::firstChildConsideringContinuation): ditto (WebCore::lastChildConsideringContinuation): ditto (WebCore::startOfContinuations): ditto (WebCore::endOfContinuations): ditto (WebCore::childBeforeConsideringContinuations): ditto (WebCore::firstChildIsInlineContinuation): ditto (WebCore::lastChildHasContinuation): ditto (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. (WebCore::AccessibilityRenderObject::lastChild): ditto (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations and their anonymous block parents. (WebCore::AccessibilityRenderObject::nextSibling): ditto (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The new test cases verify the accessibility tree created by an image inside a link, and verify that adding a div with role=presentation now has no effect on the accessibility tree (as expected). * accessibility/image-link-inline-cont-expected.txt: Added. * accessibility/image-link-inline-cont.html: Added. * accessibility/image-link.html: Added. * platform/gtk/Skipped: * platform/mac/accessibility/image-link-expected.txt: Added. * platform/win/Skipped: Test to check that accessibility tree doesn't get duplicate content in the presence of inline continuations (this was a bug in an earlier version of this patch). * accessibility/inline-continuations-expected.txt: Added. * accessibility/inline-continuations.html: Added. Canonical link: https://commits.webkit.org/49430@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@58150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-04-23 05:47:06 +00:00
<script>
if (window.testRunner)
testRunner.dumpAsText();
2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The basic change is to modify the AccessibilityRenderObject tree traversal methods to account for inline continuations in the render tree and make the accessibility tree look as if continuations didn't exist - the same as if CSS blocks could just sit in CSS inlines. This is slightly tricky code but creates a much saner accessibility tree. Tests: accessibility/image-link-inline-cont.html accessibility/image-link.html accessibility/inline-continuations.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. (WebCore::firstChildInContinuation): ditto (WebCore::firstChildConsideringContinuation): ditto (WebCore::lastChildConsideringContinuation): ditto (WebCore::startOfContinuations): ditto (WebCore::endOfContinuations): ditto (WebCore::childBeforeConsideringContinuations): ditto (WebCore::firstChildIsInlineContinuation): ditto (WebCore::lastChildHasContinuation): ditto (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. (WebCore::AccessibilityRenderObject::lastChild): ditto (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations and their anonymous block parents. (WebCore::AccessibilityRenderObject::nextSibling): ditto (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The new test cases verify the accessibility tree created by an image inside a link, and verify that adding a div with role=presentation now has no effect on the accessibility tree (as expected). * accessibility/image-link-inline-cont-expected.txt: Added. * accessibility/image-link-inline-cont.html: Added. * accessibility/image-link.html: Added. * platform/gtk/Skipped: * platform/mac/accessibility/image-link-expected.txt: Added. * platform/win/Skipped: Test to check that accessibility tree doesn't get duplicate content in the presence of inline continuations (this was a bug in an earlier version of this patch). * accessibility/inline-continuations-expected.txt: Added. * accessibility/inline-continuations.html: Added. Canonical link: https://commits.webkit.org/49430@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@58150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-04-23 05:47:06 +00:00
</script>
</head>
<body>
<h2>Inline continuations - accessibility tree linkage</h2>
<p>This test checks that the right accessibility tree is generated in
the presence of inline continuations. Each of the five numbers
below should be visited only ones traversing the accessibility
tree.</p>
AX: WebCore accessibility roles should be cross-platform https://bugs.webkit.org/show_bug.cgi?id=94870 Reviewed by Chris Fleizach. Source/WebCore: Make 5 accessibility roles cross-platform rather than GTK-only. Instead of mapping the HR tag to SplitterRole (which is an interactive splitter control on Mac), create a new role HorizontalRuleRole. Map all of the new roles to AXGroup on Mac, which matches the existing behavior. Add a new test for these roles on Chromium. Test: platform/chromium/accessibility/chromium-only-roles.html * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::supportsARIAAttributes): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::determineAccessibilityRole): * accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/mac/WebAccessibilityObjectWrapper.mm: (createAccessibilityRoleMap): Source/WebKit/chromium: Add a new accessibility role. * public/WebAccessibilityRole.h: * src/AssertMatchingEnums.cpp: Tools: Add debug strings to Chromium for new accessibility roles. * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp: (roleToString): LayoutTests: Adds a test for some new accessibility roles that aren't present on all platforms. * platform/chromium/accessibility/chromium-only-roles-expected.txt: Added. * platform/chromium/accessibility/chromium-only-roles.html: Added. Canonical link: https://commits.webkit.org/114035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@127936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-09-07 23:46:45 +00:00
<div contentEditable="true" id="test"><span>1<div role="group">2</div>3</span><span>4</span><div role="group">5</div></div>
2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The basic change is to modify the AccessibilityRenderObject tree traversal methods to account for inline continuations in the render tree and make the accessibility tree look as if continuations didn't exist - the same as if CSS blocks could just sit in CSS inlines. This is slightly tricky code but creates a much saner accessibility tree. Tests: accessibility/image-link-inline-cont.html accessibility/image-link.html accessibility/inline-continuations.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. (WebCore::firstChildInContinuation): ditto (WebCore::firstChildConsideringContinuation): ditto (WebCore::lastChildConsideringContinuation): ditto (WebCore::startOfContinuations): ditto (WebCore::endOfContinuations): ditto (WebCore::childBeforeConsideringContinuations): ditto (WebCore::firstChildIsInlineContinuation): ditto (WebCore::lastChildHasContinuation): ditto (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. (WebCore::AccessibilityRenderObject::lastChild): ditto (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations and their anonymous block parents. (WebCore::AccessibilityRenderObject::nextSibling): ditto (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The new test cases verify the accessibility tree created by an image inside a link, and verify that adding a div with role=presentation now has no effect on the accessibility tree (as expected). * accessibility/image-link-inline-cont-expected.txt: Added. * accessibility/image-link-inline-cont.html: Added. * accessibility/image-link.html: Added. * platform/gtk/Skipped: * platform/mac/accessibility/image-link-expected.txt: Added. * platform/win/Skipped: Test to check that accessibility tree doesn't get duplicate content in the presence of inline continuations (this was a bug in an earlier version of this patch). * accessibility/inline-continuations-expected.txt: Added. * accessibility/inline-continuations.html: Added. Canonical link: https://commits.webkit.org/49430@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@58150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-04-23 05:47:06 +00:00
<div id="console"></div>
<script>
function nonGroupDescendants(elt)
{
var result = 0;
var count = elt.childrenCount;
for (var i = 0; i < count; ++i) {
var child = elt.childAtIndex(i);
AX: WebCore accessibility roles should be cross-platform https://bugs.webkit.org/show_bug.cgi?id=94870 Reviewed by Chris Fleizach. Source/WebCore: Make 5 accessibility roles cross-platform rather than GTK-only. Instead of mapping the HR tag to SplitterRole (which is an interactive splitter control on Mac), create a new role HorizontalRuleRole. Map all of the new roles to AXGroup on Mac, which matches the existing behavior. Add a new test for these roles on Chromium. Test: platform/chromium/accessibility/chromium-only-roles.html * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::supportsARIAAttributes): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::determineAccessibilityRole): * accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/mac/WebAccessibilityObjectWrapper.mm: (createAccessibilityRoleMap): Source/WebKit/chromium: Add a new accessibility role. * public/WebAccessibilityRole.h: * src/AssertMatchingEnums.cpp: Tools: Add debug strings to Chromium for new accessibility roles. * DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp: (roleToString): LayoutTests: Adds a test for some new accessibility roles that aren't present on all platforms. * platform/chromium/accessibility/chromium-only-roles-expected.txt: Added. * platform/chromium/accessibility/chromium-only-roles.html: Added. Canonical link: https://commits.webkit.org/114035@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@127936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-09-07 23:46:45 +00:00
if (!child.role.match(/group/i))
result++;
2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The basic change is to modify the AccessibilityRenderObject tree traversal methods to account for inline continuations in the render tree and make the accessibility tree look as if continuations didn't exist - the same as if CSS blocks could just sit in CSS inlines. This is slightly tricky code but creates a much saner accessibility tree. Tests: accessibility/image-link-inline-cont.html accessibility/image-link.html accessibility/inline-continuations.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. (WebCore::firstChildInContinuation): ditto (WebCore::firstChildConsideringContinuation): ditto (WebCore::lastChildConsideringContinuation): ditto (WebCore::startOfContinuations): ditto (WebCore::endOfContinuations): ditto (WebCore::childBeforeConsideringContinuations): ditto (WebCore::firstChildIsInlineContinuation): ditto (WebCore::lastChildHasContinuation): ditto (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. (WebCore::AccessibilityRenderObject::lastChild): ditto (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations and their anonymous block parents. (WebCore::AccessibilityRenderObject::nextSibling): ditto (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The new test cases verify the accessibility tree created by an image inside a link, and verify that adding a div with role=presentation now has no effect on the accessibility tree (as expected). * accessibility/image-link-inline-cont-expected.txt: Added. * accessibility/image-link-inline-cont.html: Added. * accessibility/image-link.html: Added. * platform/gtk/Skipped: * platform/mac/accessibility/image-link-expected.txt: Added. * platform/win/Skipped: Test to check that accessibility tree doesn't get duplicate content in the presence of inline continuations (this was a bug in an earlier version of this patch). * accessibility/inline-continuations-expected.txt: Added. * accessibility/inline-continuations.html: Added. Canonical link: https://commits.webkit.org/49430@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@58150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-04-23 05:47:06 +00:00
result += nonGroupDescendants(child);
}
return result;
}
if (window.accessibilityController) {
var result = document.getElementById("result");
document.getElementById("test").focus();
shouldBe("nonGroupDescendants(accessibilityController.focusedElement)", "5");
// This should pass (and is a simpler test than above) if anonymous blocks were not in the AX tree
// shouldBe("accessibilityController.focusedElement.childrenCount", "5");
}
</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>
2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The basic change is to modify the AccessibilityRenderObject tree traversal methods to account for inline continuations in the render tree and make the accessibility tree look as if continuations didn't exist - the same as if CSS blocks could just sit in CSS inlines. This is slightly tricky code but creates a much saner accessibility tree. Tests: accessibility/image-link-inline-cont.html accessibility/image-link.html accessibility/inline-continuations.html * accessibility/AccessibilityRenderObject.cpp: (WebCore::isInlineWithContinuation): Helper function for traversal functions to use in accounting for continuations. (WebCore::firstChildInContinuation): ditto (WebCore::firstChildConsideringContinuation): ditto (WebCore::lastChildConsideringContinuation): ditto (WebCore::startOfContinuations): ditto (WebCore::endOfContinuations): ditto (WebCore::childBeforeConsideringContinuations): ditto (WebCore::firstChildIsInlineContinuation): ditto (WebCore::lastChildHasContinuation): ditto (WebCore::AccessibilityRenderObject::firstChild): Account for inline continuations. (WebCore::AccessibilityRenderObject::lastChild): ditto (WebCore::AccessibilityRenderObject::previousSibling): Account for inline continuations and their anonymous block parents. (WebCore::AccessibilityRenderObject::nextSibling): ditto (WebCore::AccessibilityRenderObject::parentObjectIfExists): Account for inline continuations. (WebCore::AccessibilityRenderObject::parentObject): Account for inline continuations. * rendering/RenderInline.h: Make RenderInline::inlineContinuation public. 2010-04-22 Maciej Stachowiak <mjs@apple.com> Reviewed by Dan Bernstein. Links around blocks (e.g. divs) results in too many VoiceOver call outs https://bugs.webkit.org/show_bug.cgi?id=37079 The new test cases verify the accessibility tree created by an image inside a link, and verify that adding a div with role=presentation now has no effect on the accessibility tree (as expected). * accessibility/image-link-inline-cont-expected.txt: Added. * accessibility/image-link-inline-cont.html: Added. * accessibility/image-link.html: Added. * platform/gtk/Skipped: * platform/mac/accessibility/image-link-expected.txt: Added. * platform/win/Skipped: Test to check that accessibility tree doesn't get duplicate content in the presence of inline continuations (this was a bug in an earlier version of this patch). * accessibility/inline-continuations-expected.txt: Added. * accessibility/inline-continuations.html: Added. Canonical link: https://commits.webkit.org/49430@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@58150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-04-23 05:47:06 +00:00
</body>