haikuwebkit/LayoutTests/accessibility/w3c-svg-description-calcula...

297 lines
9.3 KiB
HTML
Raw Permalink Normal View History

AX: Implement missing/different accessibility API mappings for SVG https://bugs.webkit.org/show_bug.cgi?id=155034 Reviewed by Chris Fleizach. Source/WebCore: Create an AccessibilitySVGElement class for the SVG-specific mappings; fix name and description mappings for ATK; add new AccessibilityRole types (SVGTextRole, SVGTSpanRole, SVGTextPathRole) and map them for ATK and AX API. Tests: accessibility/w3c-svg-description-calculation.html accessibility/w3c-svg-elements-not-exposed.html accessibility/w3c-svg-name-calculation.html accessibility/w3c-svg-presentational-role.html accessibility/w3c-svg-roles.html * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * accessibility/AXObjectCache.cpp: (WebCore::createFromRenderer): * accessibility/AccessibilityAllInOne.cpp: * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::alternativeText): Deleted. (WebCore::AccessibilityNodeObject::accessibilityDescription): Deleted. * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isAccessibilitySVGElement): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Deleted. * accessibility/AccessibilitySVGElement.cpp: Added. (WebCore::AccessibilitySVGElement::AccessibilitySVGElement): (WebCore::AccessibilitySVGElement::~AccessibilitySVGElement): (WebCore::AccessibilitySVGElement::create): (WebCore::AccessibilitySVGElement::targetForUseElement): (WebCore::AccessibilitySVGElement::accessibilityText): (WebCore::AccessibilitySVGElement::accessibilityDescription): (WebCore::AccessibilitySVGElement::helpText): (WebCore::AccessibilitySVGElement::computeAccessibilityIsIgnored): (WebCore::AccessibilitySVGElement::inheritsPresentationalRole): (WebCore::AccessibilitySVGElement::determineAriaRoleAttribute): (WebCore::AccessibilitySVGElement::determineAccessibilityRole): * accessibility/AccessibilitySVGElement.h: Added. * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (webkitAccessibleGetName): (webkitAccessibleGetDescription): (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): * rendering/RenderObject.h: (WebCore::RenderObject::isSVGTSpan): * rendering/svg/RenderSVGTSpan.h: LayoutTests: * accessibility/svg-group-element-with-title.html: Modified to reflect correct ATK results. * accessibility/svg-image.html: Modified to reflect correct ATK results. * accessibility/svg-labelledby.html: Modified to reflect correct ATK results. * accessibility/svg-remote-element.html: Modified to reflect correct ATK results. * accessibility/w3c-svg-description-calculation.html: Added. * accessibility/w3c-svg-elements-not-exposed.html: Added. * accessibility/w3c-svg-name-calculation.html: Added. * accessibility/w3c-svg-presentational-role.html: Added. * accessibility/w3c-svg-roles.html: Added. * platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Added. * platform/gtk/accessibility/svg-image-expected.txt: Added. * platform/gtk/accessibility/svg-labelledby-expected.txt: Added. * platform/gtk/accessibility/svg-remote-element-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-description-calculation-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-name-calculation-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-roles-expected.txt: Added. * platform/mac/accessibility/w3c-svg-description-calculation-expected.txt: Added. * platform/mac/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added. * platform/mac/accessibility/w3c-svg-name-calculation-expected.txt: Added. * platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Added. * platform/mac/accessibility/w3c-svg-roles-expected.txt: Added. Canonical link: https://commits.webkit.org/173150@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@197616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-03-05 21:35:57 +00:00
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<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>
AX: Implement missing/different accessibility API mappings for SVG https://bugs.webkit.org/show_bug.cgi?id=155034 Reviewed by Chris Fleizach. Source/WebCore: Create an AccessibilitySVGElement class for the SVG-specific mappings; fix name and description mappings for ATK; add new AccessibilityRole types (SVGTextRole, SVGTSpanRole, SVGTextPathRole) and map them for ATK and AX API. Tests: accessibility/w3c-svg-description-calculation.html accessibility/w3c-svg-elements-not-exposed.html accessibility/w3c-svg-name-calculation.html accessibility/w3c-svg-presentational-role.html accessibility/w3c-svg-roles.html * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * accessibility/AXObjectCache.cpp: (WebCore::createFromRenderer): * accessibility/AccessibilityAllInOne.cpp: * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::alternativeText): Deleted. (WebCore::AccessibilityNodeObject::accessibilityDescription): Deleted. * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isAccessibilitySVGElement): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Deleted. * accessibility/AccessibilitySVGElement.cpp: Added. (WebCore::AccessibilitySVGElement::AccessibilitySVGElement): (WebCore::AccessibilitySVGElement::~AccessibilitySVGElement): (WebCore::AccessibilitySVGElement::create): (WebCore::AccessibilitySVGElement::targetForUseElement): (WebCore::AccessibilitySVGElement::accessibilityText): (WebCore::AccessibilitySVGElement::accessibilityDescription): (WebCore::AccessibilitySVGElement::helpText): (WebCore::AccessibilitySVGElement::computeAccessibilityIsIgnored): (WebCore::AccessibilitySVGElement::inheritsPresentationalRole): (WebCore::AccessibilitySVGElement::determineAriaRoleAttribute): (WebCore::AccessibilitySVGElement::determineAccessibilityRole): * accessibility/AccessibilitySVGElement.h: Added. * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (webkitAccessibleGetName): (webkitAccessibleGetDescription): (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): * rendering/RenderObject.h: (WebCore::RenderObject::isSVGTSpan): * rendering/svg/RenderSVGTSpan.h: LayoutTests: * accessibility/svg-group-element-with-title.html: Modified to reflect correct ATK results. * accessibility/svg-image.html: Modified to reflect correct ATK results. * accessibility/svg-labelledby.html: Modified to reflect correct ATK results. * accessibility/svg-remote-element.html: Modified to reflect correct ATK results. * accessibility/w3c-svg-description-calculation.html: Added. * accessibility/w3c-svg-elements-not-exposed.html: Added. * accessibility/w3c-svg-name-calculation.html: Added. * accessibility/w3c-svg-presentational-role.html: Added. * accessibility/w3c-svg-roles.html: Added. * platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Added. * platform/gtk/accessibility/svg-image-expected.txt: Added. * platform/gtk/accessibility/svg-labelledby-expected.txt: Added. * platform/gtk/accessibility/svg-remote-element-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-description-calculation-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-name-calculation-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-roles-expected.txt: Added. * platform/mac/accessibility/w3c-svg-description-calculation-expected.txt: Added. * platform/mac/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added. * platform/mac/accessibility/w3c-svg-name-calculation-expected.txt: Added. * platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Added. * platform/mac/accessibility/w3c-svg-roles-expected.txt: Added. Canonical link: https://commits.webkit.org/173150@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@197616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-03-05 21:35:57 +00:00
</head>
<body id="body">
<div id="content">
<svg>
<circle id="test1" aria-describedby="t1" cx="50" cy="100" r="15" data-expected="description: end">
<title>abc</title>
<desc>123</desc>
</circle>
<text id="t1" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test2" aria-describedby="t2" cx="50" cy="100" r="15" data-expected="description: end">
<desc>123</desc>
</circle>
<text id="t2" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test3" aria-describedby="t3" cx="50" cy="100" r="15" data-expected="description: end">
<title>abc</title>
</circle>
<text id="t3" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test4" aria-describedby="t4" cx="50" cy="100" r="15" data-expected="description: end"/>
<text id="t4" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test5" cx="50" cy="100" r="15" data-expected="description: 123">
<title>abc</title>
<desc>123</desc>
</circle>
</svg>
<svg>
<circle id="test6" cx="50" cy="100" r="15" data-expected="description: 123">
<desc>123</desc>
</circle>
</svg>
<svg>
<circle id="test7" aria-describedby="t7" cx="50" cy="100" r="15" data-expected="description: end">
<title>abc</title>
<desc lang="en">123</desc>
<desc lang="es">456</desc>
</circle>
<text id="t7" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test8" cx="50" cy="100" r="15" data-expected="description: 554">
<title lang="en">abc</title>
<title lang="de">def</title>
<desc lang="fr">123</desc>
<desc lang="en">554</desc>
<desc lang="es">432</desc>
</circle>
</svg>
<svg>
<circle id="test9" cx="50" cy="100" r="15" data-expected="description: 567">
<desc lang="es">432</desc>
<desc lang="fr">123</desc>
<desc lang="en">567</desc>
</circle>
</svg>
<svg>
<g lang="fr">
<circle id="test10" cx="50" cy="100" r="15" data-expected="description: 123">
<title lang="en">abc</title>
<title lang="de">def</title>
<desc lang="fr">123</desc>
<desc lang="en">554</desc>
<desc lang="es">432</desc>
</circle>
</g>
</svg>
<svg>
<g lang="fr">
<circle id="test11" cx="50" cy="100" r="15" data-expected="description: 123">
<desc lang="es">432</desc>
<desc lang="fr">123</desc>
<desc lang="en">567</desc>
</circle>
</g>
</svg>
<svg>
<circle id="test12" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: 123">
<title>abc</title>
<desc>123</desc>
</circle>
</svg>
<svg>
<circle id="test13" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: 12">
<desc>12</desc>
</circle>
</svg>
<svg>
<circle id="test14" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: (empty)">
<title>abc</title>
</circle>
</svg>
<svg>
<circle id="test15" aria-describedby="" cx="50" cy="100" r="15" tabindex="0" data-expected="description: (empty)"/>
</svg>
<svg>
<circle id="test16" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: 222">
<title>abc</title>
<desc lang="fr">123</desc>
<desc lang="en">222</desc>
<desc lang="es">432</desc>
</circle>
</svg>
<svg>
<circle id="test17" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: 911">
<desc lang="fr">123</desc>
<desc lang="es">444</desc>
<desc lang="en">911</desc>
</circle>
</svg>
<svg>
<g lang="fr">
<circle id="test18" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: 123">
<title>abc</title>
<desc lang="fr">123</desc>
<desc lang="en">222</desc>
<desc lang="es">432</desc>
</circle>
</g>
</svg>
<svg>
<g lang="fr">
<circle id="test19" aria-describedby="" cx="50" cy="100" r="15" data-expected="description: 123">
<desc lang="es">444</desc>
<desc lang="fr">123</desc>
<desc lang="en">911</desc>
</circle>
</g>
</svg>
<svg>
<circle id="test20" aria-describedby="t20a t20b" cx="50" cy="100" r="15" data-expected="description: the end"/>
<text id="t20a" x="40" y="90">the</text>
<text id="t20b" x="140" y="90">end</text>
</svg>
<svg>
<circle id="test21" aria-describedby="t21a t21b" cx="50" cy="100" r="15" data-expected="description: the end"/>
<text id="t21a" x="40" y="90">the</text>
<text id="t21b" x="140" y="90" aria-describedby="t2c">end</text>
<text id="t21c" x="180" y="90">finish</text>
</svg>
<svg>
<circle id="test22" aria-describedby="t22a t22b" cx="50" cy="100" r="15" data-expected="description: end"/>
<text id="t22b" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test23" aria-labelledby="t23" cx="50" cy="100" r="15" data-expected="description: abc">
<title>abc</title>
</circle>
<text id="t23" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test24" aria-label="bob" cx="50" cy="100" r="15" data-expected="description: abc">
<title>abc</title>
</circle>
</svg>
<svg>
<circle id="test25" aria-labelledby="t25" cx="50" cy="100" r="15" data-expected="description: counter">
<title lang="es">barra</title>
<title lang="en">counter</title>
<title lang="fr">guichet</title>
</circle>
<text id="t25" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test26" aria-label="bob" cx="50" cy="100" r="15" data-expected="description: counter">
<title lang="fr">guichet</title>
<title lang="es">barra</title>
<title lang="en">counter</title>
</circle>
</svg>
<svg>
<circle id="test27" aria-labelledby="t27" cx="50" cy="100" r="15" lang="es" data-expected="description: barra">
<title lang="es">barra</title>
<title lang="en">counter</title>
<title lang="fr">guichet</title>
</circle>
<text id="t27" x="40" y="90">end</text>
</svg>
<svg>
<g lang="es" aria-label="hola">
<circle id="test28" aria-label="bob" cx="50" cy="100" r="15" data-expected="description: barra">
<title lang="fr">guichet</title>
<title lang="es">barra</title>
<title lang="en">counter</title>
</circle>
</g>
</svg>
<svg>
<circle id="test29" aria-labelledby="t29" cx="50" cy="100" r="15" data-expected="description: (empty)">
<title>abc</title>
</circle>
<text id="t29" x="40" y="90">abc</text>
</svg>
<svg>
<circle id="test30" aria-label="bob" cx="50" cy="100" r="15" data-expected="description: (empty)">
<title>bob</title>
</circle>
</svg>
<svg>
<circle id="test31" aria-labelledby="t31" cx="50" cy="100" r="15" data-expected="description: (empty)">
<title lang="es">soy</title>
<title lang="en">abc</title>
<title lang="fr">le</title>
</circle>
<text id="t31" x="40" y="90">abc</text> then accessible description = BLANK
</svg>
<svg>
<circle id="test32" aria-label="bob" cx="50" cy="100" r="15" data-expected="description: (empty)">
<title lang="en">bob</title>
<title lang="fr">dan</title>
<title lang="es">juan</title>
</circle>
</svg>
<svg>
<circle id="test33" aria-label="bob" cx="50" cy="100" r="15" data-expected="description: (empty)">
<title lang="fr">dan</title>
<title lang="es">juan</title>
<title lang="en">bob</title>
</circle>
</svg>
<svg>
<a id="test34" aria-labelledby="t34" aria-label="booth" href="../index.html" xlink:title="table" data-expected="description: (empty)"></a>
<text id="t34" x="40" y="90">end</text>
</svg>
<svg>
<a id="test35" aria-labelledby="t35" href="../index.html" xlink:title="table" data-expected="description: (empty)"></a>
<text id="t35" x="40" y="90">end</text>
</svg>
<svg>
<a id="test36" aria-label="booth" href="../index.html" xlink:title="table" data-expected="description: (empty)"></a>
</svg>
<svg>
<a id="test37" href="../index.html" xlink:title="table" data-expected="description: (empty)">
<title>counter</title>
</a>
</svg>
<svg>
<a id="test38" href="../index.html" xlink:title="table" data-expected="description: (empty)"></a>
</svg>
<svg>
<ellipse id="test39" cx="10" cy="100" rx="25" ry="15" data-expected="description: (empty)">
<title></title>
<desc></desc>
</ellipse>
</svg>
<svg>
<circle id="test40" cx="10" cy="10" r="5" data-expected="description: (empty)">
<title></title>
<desc> </desc>
</circle>
</svg>
<svg>
<line id="test41" x1="10" y1="10" x2="50" y2="10" data-expected="description: (empty)">
<title> </title>
<desc> </desc>
</line>
</svg>
<svg>
<polygon id="test42" fill="magenta" points="850,75 958,137.5 958,262.5 850,325 742,262.6 742,137.5" data-expected="description: (empty)">
<desc></desc>
</polygon>
</svg>
<svg>
<rect id="test43" x="10" y="10" width="50" height="30" data-expected="description: (empty)">
<desc> </desc>
</rect>
</svg>
</div>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests the accessible text alternatives results for SVG.");
if (window.accessibilityController) {
for (var i = 1; i <= 43; i++) {
var element = document.getElementById("test" + i);
var axElement = accessibilityController.accessibleElementById("test" + i);
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
var result = platformTextAlternatives(axElement);
debug("test" + i + ":\n\tExpected " + element.getAttribute("data-expected") + "\n" + result);
AX: Implement missing/different accessibility API mappings for SVG https://bugs.webkit.org/show_bug.cgi?id=155034 Reviewed by Chris Fleizach. Source/WebCore: Create an AccessibilitySVGElement class for the SVG-specific mappings; fix name and description mappings for ATK; add new AccessibilityRole types (SVGTextRole, SVGTSpanRole, SVGTextPathRole) and map them for ATK and AX API. Tests: accessibility/w3c-svg-description-calculation.html accessibility/w3c-svg-elements-not-exposed.html accessibility/w3c-svg-name-calculation.html accessibility/w3c-svg-presentational-role.html accessibility/w3c-svg-roles.html * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * accessibility/AXObjectCache.cpp: (WebCore::createFromRenderer): * accessibility/AccessibilityAllInOne.cpp: * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::alternativeText): Deleted. (WebCore::AccessibilityNodeObject::accessibilityDescription): Deleted. * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isAccessibilitySVGElement): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Deleted. * accessibility/AccessibilitySVGElement.cpp: Added. (WebCore::AccessibilitySVGElement::AccessibilitySVGElement): (WebCore::AccessibilitySVGElement::~AccessibilitySVGElement): (WebCore::AccessibilitySVGElement::create): (WebCore::AccessibilitySVGElement::targetForUseElement): (WebCore::AccessibilitySVGElement::accessibilityText): (WebCore::AccessibilitySVGElement::accessibilityDescription): (WebCore::AccessibilitySVGElement::helpText): (WebCore::AccessibilitySVGElement::computeAccessibilityIsIgnored): (WebCore::AccessibilitySVGElement::inheritsPresentationalRole): (WebCore::AccessibilitySVGElement::determineAriaRoleAttribute): (WebCore::AccessibilitySVGElement::determineAccessibilityRole): * accessibility/AccessibilitySVGElement.h: Added. * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (webkitAccessibleGetName): (webkitAccessibleGetDescription): (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): * rendering/RenderObject.h: (WebCore::RenderObject::isSVGTSpan): * rendering/svg/RenderSVGTSpan.h: LayoutTests: * accessibility/svg-group-element-with-title.html: Modified to reflect correct ATK results. * accessibility/svg-image.html: Modified to reflect correct ATK results. * accessibility/svg-labelledby.html: Modified to reflect correct ATK results. * accessibility/svg-remote-element.html: Modified to reflect correct ATK results. * accessibility/w3c-svg-description-calculation.html: Added. * accessibility/w3c-svg-elements-not-exposed.html: Added. * accessibility/w3c-svg-name-calculation.html: Added. * accessibility/w3c-svg-presentational-role.html: Added. * accessibility/w3c-svg-roles.html: Added. * platform/gtk/accessibility/svg-group-element-with-title-expected.txt: Added. * platform/gtk/accessibility/svg-image-expected.txt: Added. * platform/gtk/accessibility/svg-labelledby-expected.txt: Added. * platform/gtk/accessibility/svg-remote-element-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-description-calculation-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-name-calculation-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-presentational-role-expected.txt: Added. * platform/gtk/accessibility/w3c-svg-roles-expected.txt: Added. * platform/mac/accessibility/w3c-svg-description-calculation-expected.txt: Added. * platform/mac/accessibility/w3c-svg-elements-not-exposed-expected.txt: Added. * platform/mac/accessibility/w3c-svg-name-calculation-expected.txt: Added. * platform/mac/accessibility/w3c-svg-presentational-role-expected.txt: Added. * platform/mac/accessibility/w3c-svg-roles-expected.txt: Added. Canonical link: https://commits.webkit.org/173150@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@197616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-03-05 21:35:57 +00:00
}
document.getElementById("content").style.visibility = "hidden";
}
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>