haikuwebkit/LayoutTests/accessibility/w3c-svg-name-calculation.html

328 lines
10 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-labelledby="t1" aria-label="bob" cx="50" cy="100" r="15" data-expected="name: end">
<title>abc</title>
</circle>
<text id="t1" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test2" aria-labelledby="t2" aria-label="bob" cx="50" cy="100" r="15" data-expected="name: end"/>
<text id="t2" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test3" aria-labelledby="t3" cx="50" cy="100" r="15" data-expected="name: end">
<title>abc</title>
</circle>
<text id="t3" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test4" aria-labelledby="t4" cx="50" cy="100" r="15" data-expected="name: end"/>
<text id="t4" x="40" y="90">end</text>
</svg>
<svg>
<circle id="test5" aria-label="hello" cx="10" cy="10" r="5" data-expected="name: hello">
<title>abc</title>
</circle>
</svg>
<svg>
<circle id="test6" aria-label="hello" cx="10" cy="10" r="5" data-expected="name: hello"/>
</svg>
<svg>
<circle id="test7" cx="10" cy="100" r="5" data-expected="name: abc">
<title>abc</title>
</circle>
</svg>
<svg>
<circle id="test8" cx="10" cy="100" r="5" data-expected="name: hi">
<title lang="es">hola</title>
<title lang="en">hi</title>
<title lang="de">Hallo</title>
</circle>
</svg>
<svg>
<circle id="test9" cx="10" cy="100" r="5" data-expected="name: hi">
<title lang="en">hi</title>
<title lang="es">hola</title>
<title lang="de">Hallo</title>
</circle>
</svg>
<svg>
<circle id="test10" cx="10" cy="100" r="5" data-expected="name: hi">
<title lang="es">hola</title>
<title lang="de">Hallo</title>
<title lang="en">hi</title>
</circle>
</svg>
<svg>
<g lang="es">
<circle id="test11" cx="10" cy="100" r="5" data-expected="name: hola">
<title lang="es">hola</title>
<title lang="en">hi</title>
<title lang="de">Hallo</title>
</circle>
</g>
</svg>
<svg>
<g lang="es" aria-label="123">
<circle id="test12" cx="10" cy="100" r="5" data-expected="name: hola">
<title lang="en">hi</title>
<title lang="es">hola</title>
<title lang="de">Hallo</title>
</circle>
</g>
</svg>
<svg>
<g lang="es" aria-label="123">
<circle id="test13" cx="10" cy="100" r="5" data-expected="name: hola">
<title lang="es">hola</title>
<title lang="de">Hallo</title>
<title lang="en">hi</title>
</circle>
</g>
</svg>
<svg>
<circle id="test14" aria-labelledby="" aria-label="bob" cx="50" cy="100" r="15" data-expected="name: bob">
<title>abc</title>
</circle>
</svg>
<svg>
<circle id="test15" aria-labelledby="" aria-label="bob" cx="50" cy="100" r="15" data-expected="name: bob"/>
</svg>
<svg>
<circle id="test16" aria-labelledby="" cx="50" cy="100" r="15" data-expected="name: abc">
<title>abc</title>
</circle>
</svg>
<svg>
<circle id="test17" aria-labelledby="" cx="50" cy="100" r="15" tabindex="0" data-expected="name: (empty)"/>
</svg>
<svg>
<circle id="test18" aria-labelledby="" cx="50" cy="100" r="15" data-expected="name: waz up">
<title lang="es">hola</title>
<title lang="fr">bonjour</title>
<title lang="en">waz up</title>
<title lang="de">Hallo</title>
</circle>
</svg>
<svg>
<g lang="de" aria-label="123">
<circle id="test19" aria-labelledby="" cx="50" cy="100" r="15" data-expected="name: Hallo">
<title lang="es">hola</title>
<title lang="fr">bonjour</title>
<title lang="en">waz up</title>
<title lang="de">Hallo</title>
</circle>
</g>
</svg>
<svg>
<circle id="test20" aria-labelledby="20a 20b" cx="50" cy="100" r="15" data-expected="name: the end"/>
<text id="20a" x="40" y="90">the</text>
<text id="20b" x="140" y="90">end</text>
</svg>
<svg>
<circle id="test21" aria-labelledby="21a 21b" cx="50" cy="100" r="15" data-expected="name: big end"/>
<text id="21a" x="40" y="90" aria-label="big">the</text>
<text id="21b" x="140" y="90">end</text>
</svg>
<svg>
<circle id="test22" aria-labelledby="22a 22b" cx="50" cy="100" r="15" data-expected="name: big end"/>
<text id="22a" x="40" y="90" aria-label="big">the</text>
<text id="22b" x="140" y="90" aria-labelledby="3c">end</text>
<text id="22c" x="180" y="90">finish</text>
</svg>
<svg>
<circle id="test23" aria-labelledby="23a 23b" cx="50" cy="100" r="15" data-expected="name: end"/>
<text id="23b" x="40" y="90">end</text>
</svg>
<svg>
<text id="test24" x="40" y="90" data-expected="">end</text>
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
</svg>
<svg>
<a id="test25" aria-label="booth" href="../index.html" xlink:title="table" data-expected="name: booth"></a>
</svg>
<svg>
<a id="test26" href="../index.html" xlink:title="table" data-expected="name: table"></a>
</svg>
<svg>
<a id="test27" href="../index.html" data-expected="name: counter">
<title>counter</title>
</a>
</svg>
<svg>
<a id="test28" href="../index.html" xlink:title="table" data-expected="name: counter">
<title>counter</title>
</a>
</svg>
<svg>
<a id="test29" href="../index.html" xlink:title="table" data-expected="name: counter">
<title lang="es">barra</title>
<title lang="en">counter</title>
<title lang="fr">guichet</title>
</a>
</svg>
<svg>
<defs>
<path id="r30" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title>rock</title>
</path>
</defs>
<use id="test30" transform="translate(30 345)" xlink:href="#r30" aria-labelledby="b1" data-expected="name: boulder"/>
<text id="b1" x="35" y="90">boulder</text>
</svg>
<svg>
<defs>
<path id="r31" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title>rock</title>
</path>
</defs>
<use id="test31" transform="translate(30 345)" xlink:href="#31" aria-label="stone" data-expected="name: stone"/>
</svg>
<svg>
<defs>
<path id="r32" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title>rock</title>
</path>
</defs>
<use id="test32" transform="translate(30 345)" xlink:href="#r32" data-expected="name: pebble">
<title>pebble</title>
</use>
</svg>
<svg>
<defs>
<path id="r33" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title>rock</title>
</path>
</defs>
<use id="test33" transform="translate(30 345)" xlink:href="#r33" data-expected="name: rock"/>
</svg>
<svg>
<defs>
<path id="r34" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title>rock</title>
</path>
</defs>
<use id="test34" transform="translate(30 345)" href="#r34" data-expected="name: rock"/>
</svg>
<svg>
<defs>
<path id="r35" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title lang="en">stone</title>
</path>
</defs>
<use id="test35" transform="translate(30 345)" xlink:href="#r35" data-expected="name: stone"/>
</svg>
<svg>
<defs>
<path id="r36" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title lang="en">stone</title>
<title lang="es">piedra</title>
<title lang="de">Stein</title>
</path>
</defs>
<use id="test36" transform="translate(30 345)" href="#r36" data-expected="name: stone"/>
</svg>
<svg>
<defs>
<path id="r37" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z" lang="es">
<title lang="es">piedra</title>
<title lang="en">stone</title>
<title lang="de">Stein</title>
</path>
</defs>
<use id="test37" transform="translate(30 345)" xlink:href="#r37" data-expected="name: piedra"/>
</svg>
<svg>
<defs lang="es">
<path id="r38" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title lang="en">stone</title>
<title lang="es">piedra</title>
<title lang="de">Stein</title>
</path>
</defs>
<use id="test38" transform="translate(30 345)" href="#r38" data-expected="name: piedra"/>
</svg>
<svg>
<defs>
<path id="r39" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title lang="es">piedra</title>
<title lang="en">stone</title>
<title lang="de">Stein</title>
</path>
</defs>
<g lang="es">
<use id="test39" transform="translate(30 345)" xlink:href="#r39" data-expected="name: stone"/>
</g>
</svg>
<svg>
<defs>
<path id="r40" d="M 8,2 L 10,0 L 7,-5 L 3,-7 L 3,-8 L -9,1 L -5,4 L 1,3 L 2,2 L 5,3 z">
<title lang="en">stone</title>
<title lang="es">piedra</title>
<title lang="de">Stein</title>
</path>
</defs>
<g lang="es">
<use id="test40" transform="translate(30 345)" href="#r40" lang="es" data-expected="name: stone"/>
</g>
</svg>
<svg>
<path id="test41" d="M 100 100 L 300 100 L 200 300 z" fill="red" data-expected="name: (empty)">
<title></title>
</path>
</svg>
<svg>
<circle id="test42" cx="10" cy="10" r="5" data-expected="name: (empty)">
<title> </title>
</circle>
</svg>
<svg>
<ellipse id="test43" cx="10" cy="100" rx="25" ry="15" data-expected="name: (empty)">
<title></title>
<desc></desc>
</ellipse>
</svg>
<svg>
<line id="test44" x1="10" y1="10" x2="50" y2="10" data-expected="name: (empty)">
<title> </title>
<desc></desc>
</line>
</svg>
<svg>
<circle id="test45" cx="10" cy="10" r="5" data-expected="name: (empty)">
<title></title>
<desc> </desc>
</circle>
</svg>
<svg>
<line id="test46" x1="10" y1="10" x2="50" y2="10" data-expected="name: (empty)">
<title> </title>
<desc> </desc>
</line>
</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 <= 46; 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, true);
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>