haikuwebkit/LayoutTests/accessibility/aria-switch-sends-notificat...

39 lines
1.1 KiB
HTML
Raw Permalink Normal View History

AX: Implement support for ARIA 1.1 'switch' role https://bugs.webkit.org/show_bug.cgi?id=141986 Reviewed by Chris Fleizach. Source/WebCore: Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a widget to accessibility APIs (supports and emits notifications when toggled, doesn't have children, exposes a name and description when provided). Tests: accessibility/aria-switch-checked.html accessibility/aria-switch-sends-notification.html accessibility/aria-switch-text.html * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canHaveChildren): (WebCore::AccessibilityNodeObject::isChecked): (WebCore::AccessibilityNodeObject::visibleText): (WebCore::AccessibilityNodeObject::title): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isARIAInput): (WebCore::AccessibilityObject::actionVerb): (WebCore::initializeRoleMap): (WebCore::AccessibilityObject::supportsChecked): (WebCore::AccessibilityObject::checkboxOrRadioValue): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isSwitch): * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): (-[WebAccessibilityObjectWrapper accessibilityTraits]): (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): (-[WebAccessibilityObjectWrapper subrole]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): LayoutTests: * accessibility/aria-switch-checked-expected.txt: Added. * accessibility/aria-switch-checked.html: Added. * accessibility/aria-switch-sends-notification-expected.txt: Added. * accessibility/aria-switch-sends-notification.html: Added. * accessibility/aria-switch-text.html: Added. * accessibility/roles-exposed.html: Added a test case for the new role. * platform/efl/accessibility/aria-fallback-roles-expected.txt: Added. * platform/efl/accessibility/aria-switch-text-expected.txt: Added. * platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added. * platform/gtk/accessibility/aria-switch-text-expected.txt: Added. * platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it. * platform/mac/accessibility/aria-switch-text-expected.txt: Added. * platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role. Canonical link: https://commits.webkit.org/160015@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-25 01:43:42 +00:00
<html>
<head>
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
<script src="../resources/js-test.js"></script>
AX: Implement support for ARIA 1.1 'switch' role https://bugs.webkit.org/show_bug.cgi?id=141986 Reviewed by Chris Fleizach. Source/WebCore: Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a widget to accessibility APIs (supports and emits notifications when toggled, doesn't have children, exposes a name and description when provided). Tests: accessibility/aria-switch-checked.html accessibility/aria-switch-sends-notification.html accessibility/aria-switch-text.html * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canHaveChildren): (WebCore::AccessibilityNodeObject::isChecked): (WebCore::AccessibilityNodeObject::visibleText): (WebCore::AccessibilityNodeObject::title): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isARIAInput): (WebCore::AccessibilityObject::actionVerb): (WebCore::initializeRoleMap): (WebCore::AccessibilityObject::supportsChecked): (WebCore::AccessibilityObject::checkboxOrRadioValue): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isSwitch): * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): (-[WebAccessibilityObjectWrapper accessibilityTraits]): (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): (-[WebAccessibilityObjectWrapper subrole]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): LayoutTests: * accessibility/aria-switch-checked-expected.txt: Added. * accessibility/aria-switch-checked.html: Added. * accessibility/aria-switch-sends-notification-expected.txt: Added. * accessibility/aria-switch-sends-notification.html: Added. * accessibility/aria-switch-text.html: Added. * accessibility/roles-exposed.html: Added a test case for the new role. * platform/efl/accessibility/aria-fallback-roles-expected.txt: Added. * platform/efl/accessibility/aria-switch-text-expected.txt: Added. * platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added. * platform/gtk/accessibility/aria-switch-text-expected.txt: Added. * platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it. * platform/mac/accessibility/aria-switch-text-expected.txt: Added. * platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role. Canonical link: https://commits.webkit.org/160015@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-25 01:43:42 +00:00
<script>
function runTest() {
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
jsTestIsAsync = true;
AX: Implement support for ARIA 1.1 'switch' role https://bugs.webkit.org/show_bug.cgi?id=141986 Reviewed by Chris Fleizach. Source/WebCore: Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a widget to accessibility APIs (supports and emits notifications when toggled, doesn't have children, exposes a name and description when provided). Tests: accessibility/aria-switch-checked.html accessibility/aria-switch-sends-notification.html accessibility/aria-switch-text.html * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canHaveChildren): (WebCore::AccessibilityNodeObject::isChecked): (WebCore::AccessibilityNodeObject::visibleText): (WebCore::AccessibilityNodeObject::title): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isARIAInput): (WebCore::AccessibilityObject::actionVerb): (WebCore::initializeRoleMap): (WebCore::AccessibilityObject::supportsChecked): (WebCore::AccessibilityObject::checkboxOrRadioValue): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isSwitch): * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): (-[WebAccessibilityObjectWrapper accessibilityTraits]): (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): (-[WebAccessibilityObjectWrapper subrole]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): LayoutTests: * accessibility/aria-switch-checked-expected.txt: Added. * accessibility/aria-switch-checked.html: Added. * accessibility/aria-switch-sends-notification-expected.txt: Added. * accessibility/aria-switch-sends-notification.html: Added. * accessibility/aria-switch-text.html: Added. * accessibility/roles-exposed.html: Added a test case for the new role. * platform/efl/accessibility/aria-fallback-roles-expected.txt: Added. * platform/efl/accessibility/aria-switch-text-expected.txt: Added. * platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added. * platform/gtk/accessibility/aria-switch-text-expected.txt: Added. * platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it. * platform/mac/accessibility/aria-switch-text-expected.txt: Added. * platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role. Canonical link: https://commits.webkit.org/160015@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-25 01:43:42 +00:00
description("This tests that toggling an aria switch sends a notification.");
var widget = accessibilityController.accessibleElementById("switch");
var notificationCount = 0;
function listener(notification) {
if (notification == "CheckedStateChanged")
notificationCount++;
document.getElementById("console").innerText += "Got notification: " + notification + "\n";
if (notificationCount == 2) {
widget.removeNotificationListener(listener);
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
finishJSTest();
AX: Implement support for ARIA 1.1 'switch' role https://bugs.webkit.org/show_bug.cgi?id=141986 Reviewed by Chris Fleizach. Source/WebCore: Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a widget to accessibility APIs (supports and emits notifications when toggled, doesn't have children, exposes a name and description when provided). Tests: accessibility/aria-switch-checked.html accessibility/aria-switch-sends-notification.html accessibility/aria-switch-text.html * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canHaveChildren): (WebCore::AccessibilityNodeObject::isChecked): (WebCore::AccessibilityNodeObject::visibleText): (WebCore::AccessibilityNodeObject::title): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isARIAInput): (WebCore::AccessibilityObject::actionVerb): (WebCore::initializeRoleMap): (WebCore::AccessibilityObject::supportsChecked): (WebCore::AccessibilityObject::checkboxOrRadioValue): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isSwitch): * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): (-[WebAccessibilityObjectWrapper accessibilityTraits]): (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): (-[WebAccessibilityObjectWrapper subrole]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): LayoutTests: * accessibility/aria-switch-checked-expected.txt: Added. * accessibility/aria-switch-checked.html: Added. * accessibility/aria-switch-sends-notification-expected.txt: Added. * accessibility/aria-switch-sends-notification.html: Added. * accessibility/aria-switch-text.html: Added. * accessibility/roles-exposed.html: Added a test case for the new role. * platform/efl/accessibility/aria-fallback-roles-expected.txt: Added. * platform/efl/accessibility/aria-switch-text-expected.txt: Added. * platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added. * platform/gtk/accessibility/aria-switch-text-expected.txt: Added. * platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it. * platform/mac/accessibility/aria-switch-text-expected.txt: Added. * platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role. Canonical link: https://commits.webkit.org/160015@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-25 01:43:42 +00:00
}
}
widget.addNotificationListener(listener);
document.getElementById('switch').setAttribute('aria-checked', 'true');
document.getElementById('switch').setAttribute('aria-checked', 'false');
};
</script>
</head>
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
<body onload="runTest()">
AX: Implement support for ARIA 1.1 'switch' role https://bugs.webkit.org/show_bug.cgi?id=141986 Reviewed by Chris Fleizach. Source/WebCore: Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a widget to accessibility APIs (supports and emits notifications when toggled, doesn't have children, exposes a name and description when provided). Tests: accessibility/aria-switch-checked.html accessibility/aria-switch-sends-notification.html accessibility/aria-switch-text.html * accessibility/AccessibilityNodeObject.cpp: (WebCore::AccessibilityNodeObject::canHaveChildren): (WebCore::AccessibilityNodeObject::isChecked): (WebCore::AccessibilityNodeObject::visibleText): (WebCore::AccessibilityNodeObject::title): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isARIAInput): (WebCore::AccessibilityObject::actionVerb): (WebCore::initializeRoleMap): (WebCore::AccessibilityObject::supportsChecked): (WebCore::AccessibilityObject::checkboxOrRadioValue): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isSwitch): * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/atk/WebKitAccessibleWrapperAtk.cpp: (atkRole): * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]): (-[WebAccessibilityObjectWrapper accessibilityTraits]): (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]): * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (createAccessibilityRoleMap): (-[WebAccessibilityObjectWrapper subrole]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): LayoutTests: * accessibility/aria-switch-checked-expected.txt: Added. * accessibility/aria-switch-checked.html: Added. * accessibility/aria-switch-sends-notification-expected.txt: Added. * accessibility/aria-switch-sends-notification.html: Added. * accessibility/aria-switch-text.html: Added. * accessibility/roles-exposed.html: Added a test case for the new role. * platform/efl/accessibility/aria-fallback-roles-expected.txt: Added. * platform/efl/accessibility/aria-switch-text-expected.txt: Added. * platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added. * platform/gtk/accessibility/aria-switch-text-expected.txt: Added. * platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role. * platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it. * platform/mac/accessibility/aria-switch-text-expected.txt: Added. * platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role. Canonical link: https://commits.webkit.org/160015@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-02-25 01:43:42 +00:00
<div id="switch" role="switch" aria-checked="false">Test Switch</div>
<p id="description"></p>
<div id="console"></div>
</body>
</html>