diff --git a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java index 494995735e6..636d8240a55 100644 --- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java +++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java @@ -116,7 +116,9 @@ final class CAccessibility implements PropertyChangeListener { if (newValue instanceof Accessible) { AccessibleContext nvAC = ((Accessible) newValue).getAccessibleContext(); AccessibleRole nvRole = nvAC.getAccessibleRole(); - if (!ignoredRoles.contains(roleKey(nvRole))) { + String roleStr = nvRole == null ? null : + AWTAccessor.getAccessibleBundleAccessor().getKey(nvRole); + if (!ignoredRoles.contains(roleStr)) { focusChanged(); } } @@ -1034,8 +1036,10 @@ final class CAccessibility implements PropertyChangeListener { // "ignored", and we should skip it and its descendants if (isShowing(context)) { final AccessibleRole role = context.getAccessibleRole(); - if (role != null && ignoredRoles != null && - ignoredRoles.contains(roleKey(role))) { + String roleStr = role == null ? null : + AWTAccessor.getAccessibleBundleAccessor().getKey(role); + if (roleStr != null && ignoredRoles != null && + ignoredRoles.contains(roleStr)) { // Get the child's unignored children. _addChildren(child, whichChildren, false, childrenAndRoles, ChildrenOperations.COMMON); @@ -1096,8 +1100,6 @@ final class CAccessibility implements PropertyChangeListener { return isShowing(parentContext); } - private static native String roleKey(AccessibleRole aRole); - public static Object[] getChildren(final Accessible a, final Component c) { if (a == null) return null; return invokeAndWait(new Callable() { diff --git a/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m b/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m index bf66df162d1..fcd330940cc 100644 --- a/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m +++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m @@ -325,20 +325,6 @@ static BOOL JavaAccessibilityIsSupportedAttribute(id element, NSString *attribut return [[element accessibilityAttributeNames] indexOfObject:attribute] != NSNotFound; } -/* - * Class: sun_lwawt_macosx_CAccessibility - * Method: roleKey - * Signature: (Ljavax/accessibility/AccessibleRole;)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_sun_lwawt_macosx_CAccessibility_roleKey -(JNIEnv *env, jclass clz, jobject axRole) -{ - DECLARE_CLASS_RETURN(sjc_AccessibleRole, "javax/accessibility/AccessibleRole", NULL); - DECLARE_FIELD_RETURN(sjf_key, sjc_AccessibleRole, "key", "Ljava/lang/String;", NULL); - return (*env)->GetObjectField(env, axRole, sjf_key); -} - - // errors from NSAccessibilityErrors void JavaAccessibilityRaiseSetAttributeToIllegalTypeException(const char *functionName, id element, NSString *attribute, id value) {