[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.16-1409-g5afdf4d
cfleizach at apple.com
cfleizach at apple.com
Thu Dec 3 13:21:19 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit a7a2689413b699bb1b0f1bee3d0c3b887d2e4854
Author: cfleizach at apple.com <cfleizach at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Oct 28 02:56:17 2009 +0000
ARIA menu/menu item need AXRoleDescription
https://bugs.webkit.org/show_bug.cgi?id=30804
Reviewed by Darin Adler.
WebCore:
Make sure that role descriptions will default to the system's first, before
returning an unknown role.
Test: platform/mac/accessibility/aria-menu-role-descriptions.html
* accessibility/mac/AccessibilityObjectWrapper.mm:
(-[AccessibilityObjectWrapper roleDescription]):
LayoutTests:
* platform/mac/accessibility/aria-menu-role-descriptions-expected.txt: Added.
* platform/mac/accessibility/aria-menu-role-descriptions.html: Added.
* platform/mac/accessibility/table-with-aria-role-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50195 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5c27fb4..64a503d 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,14 @@
+2009-10-27 Chris Fleizach <cfleizach at apple.com>
+
+ Reviewed by Darin Adler.
+
+ ARIA menu/menu item need AXRoleDescription
+ https://bugs.webkit.org/show_bug.cgi?id=30804
+
+ * platform/mac/accessibility/aria-menu-role-descriptions-expected.txt: Added.
+ * platform/mac/accessibility/aria-menu-role-descriptions.html: Added.
+ * platform/mac/accessibility/table-with-aria-role-expected.txt:
+
2009-10-27 Steve Block <steveblock at google.com>
Reviewed by Darin Adler.
diff --git a/LayoutTests/platform/mac/accessibility/aria-menu-role-descriptions-expected.txt b/LayoutTests/platform/mac/accessibility/aria-menu-role-descriptions-expected.txt
new file mode 100644
index 0000000..15e1394
--- /dev/null
+++ b/LayoutTests/platform/mac/accessibility/aria-menu-role-descriptions-expected.txt
@@ -0,0 +1,12 @@
+menu item
+This makes sure that AXMenu and AXMenuItem have role descriptions.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS menuRole.length > 0 is true
+PASS menuItemRole.length > 0 is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/mac/accessibility/aria-menu-role-descriptions.html b/LayoutTests/platform/mac/accessibility/aria-menu-role-descriptions.html
new file mode 100644
index 0000000..0e9623b
--- /dev/null
+++ b/LayoutTests/platform/mac/accessibility/aria-menu-role-descriptions.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../../../fast/js/resources/js-test-style.css">
+<script>
+var successfullyParsed = false;
+</script>
+<script src="../../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div role="menu" tabindex="0" id="menu">
+<div role="menuitem" tabindex="0" id="menuitem">menu item</div>
+</div>
+
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This makes sure that AXMenu and AXMenuItem have role descriptions.");
+
+ if (window.accessibilityController) {
+
+ var menu = document.getElementById("menu");
+ menu.focus();
+
+ menu = accessibilityController.focusedElement;
+ var menuRole = menu.attributeValue("AXRoleDescription");
+ shouldBe("menuRole.length > 0", "true");
+
+ var menuItem = menu.childAtIndex(0);
+ var menuItemRole = menuItem.attributeValue("AXRoleDescription");
+ shouldBe("menuItemRole.length > 0", "true");
+ }
+
+ successfullyParsed = true;
+</script>
+
+<script src="../../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/mac/accessibility/table-with-aria-role-expected.txt b/LayoutTests/platform/mac/accessibility/table-with-aria-role-expected.txt
index eae6726..1d8ed06 100644
--- a/LayoutTests/platform/mac/accessibility/table-with-aria-role-expected.txt
+++ b/LayoutTests/platform/mac/accessibility/table-with-aria-role-expected.txt
@@ -41,7 +41,7 @@ AXRequired: 0
------------
AXRole: AXMenu
-AXRoleDescription: (null)
+AXRoleDescription: menu
AXChildren: <array of size 6>
AXParent: <AXMenu>
AXEnabled: 1
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 641365f..858c65d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-10-27 Chris Fleizach <cfleizach at apple.com>
+
+ Reviewed by Darin Adler.
+
+ ARIA menu/menu item need AXRoleDescription
+ https://bugs.webkit.org/show_bug.cgi?id=30804
+
+ Make sure that role descriptions will default to the system's first, before
+ returning an unknown role.
+
+ Test: platform/mac/accessibility/aria-menu-role-descriptions.html
+
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper roleDescription]):
+
2009-10-27 Geoffrey Garen <ggaren at apple.com>
Qt build fix: migrated away from API that no longer exists.
diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
index e56e77c..58e5018 100644
--- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
+++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
@@ -1102,21 +1102,7 @@ static NSString* roleValueToNSString(AccessibilityRole value)
if (m_object->isAttachment())
return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityRoleDescriptionAttribute];
- // FIXME 3447564: It would be better to call some AppKit API to get these strings
- // (which would be the best way to localize them)
-
NSString* axRole = [self role];
- if ([axRole isEqualToString:NSAccessibilityButtonRole])
- return NSAccessibilityRoleDescription(NSAccessibilityButtonRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityPopUpButtonRole])
- return NSAccessibilityRoleDescription(NSAccessibilityPopUpButtonRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityStaticTextRole])
- return NSAccessibilityRoleDescription(NSAccessibilityStaticTextRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityImageRole])
- return NSAccessibilityRoleDescription(NSAccessibilityImageRole, [self subrole]);
if ([axRole isEqualToString:NSAccessibilityGroupRole]) {
switch (m_object->roleValue()) {
@@ -1157,42 +1143,6 @@ static NSString* roleValueToNSString(AccessibilityRole value)
}
}
- if ([axRole isEqualToString:NSAccessibilityCheckBoxRole])
- return NSAccessibilityRoleDescription(NSAccessibilityCheckBoxRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityRadioButtonRole])
- return NSAccessibilityRoleDescription(NSAccessibilityRadioButtonRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityRadioGroupRole])
- return NSAccessibilityRoleDescription(NSAccessibilityRadioGroupRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityTextFieldRole])
- return NSAccessibilityRoleDescription(NSAccessibilityTextFieldRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityTextAreaRole])
- return NSAccessibilityRoleDescription(NSAccessibilityTextAreaRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityListRole])
- return NSAccessibilityRoleDescription(NSAccessibilityListRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityTableRole])
- return NSAccessibilityRoleDescription(NSAccessibilityTableRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityRowRole])
- return NSAccessibilityRoleDescription(NSAccessibilityRowRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityColumnRole])
- return NSAccessibilityRoleDescription(NSAccessibilityColumnRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityCellRole])
- return NSAccessibilityRoleDescription(NSAccessibilityCellRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilitySliderRole])
- return NSAccessibilityRoleDescription(NSAccessibilitySliderRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityValueIndicatorRole])
- return NSAccessibilityRoleDescription(NSAccessibilityValueIndicatorRole, [self subrole]);
-
if ([axRole isEqualToString:@"AXWebArea"])
return AXWebAreaText();
@@ -1207,20 +1157,13 @@ static NSString* roleValueToNSString(AccessibilityRole value)
if ([axRole isEqualToString:@"AXHeading"])
return AXHeadingText();
-
- if ([axRole isEqualToString:(NSString*)kAXMenuBarItemRole] ||
- [axRole isEqualToString:NSAccessibilityMenuRole])
- return nil;
- if ([axRole isEqualToString:NSAccessibilityMenuButtonRole])
- return NSAccessibilityRoleDescription(NSAccessibilityMenuButtonRole, [self subrole]);
-
- if ([axRole isEqualToString:NSAccessibilityToolbarRole])
- return NSAccessibilityRoleDescription(NSAccessibilityToolbarRole, [self subrole]);
+ // We should try the system default role description for all other roles.
+ // If we get the same string back, then as a last resort, return unknown.
+ NSString* defaultRoleDescription = NSAccessibilityRoleDescription(axRole, [self subrole]);
+ if (![defaultRoleDescription isEqualToString:axRole])
+ return defaultRoleDescription;
- if ([axRole isEqualToString:NSAccessibilitySplitterRole])
- return NSAccessibilityRoleDescription(NSAccessibilitySplitterRole, [self subrole]);
-
return NSAccessibilityRoleDescription(NSAccessibilityUnknownRole, nil);
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list