diff -r 9604915644c1 modules/graphics/src/main/java/com/sun/glass/ui/win/WinAccessible.java --- a/modules/graphics/src/main/java/com/sun/glass/ui/win/WinAccessible.java Tue Mar 18 14:17:08 2014 -0700 +++ b/modules/graphics/src/main/java/com/sun/glass/ui/win/WinAccessible.java Wed Mar 19 11:02:28 2014 -0700 @@ -537,16 +537,15 @@ break; } case UIA_NamePropertyId: { - /* The name for ComboBox is provided in get_ValueString() - * Returning the title in the two places will cause Narrator - * to read the same name twice. - * - * Note this needs means LABELED_BY no longer works for - * ComboBox. + /* Note: For controls that implement UIA_ValuePatternId + * (TextField, TextArea, and ComboBos) let he title + * be returned in get_ValueString() and use the + * NameProperty exclusively to report the label. */ - if (Role.COMBOBOX == getAttribute(ROLE)) break; - - String name = (String)getAttribute(TITLE); + String name = null; + if (GetPatternProvider(UIA_ValuePatternId) == 0L) { + name = (String)getAttribute(TITLE); + } if (name == null || name.length() == 0) { Node label = (Node)getAttribute(LABELED_BY); if (label != null) {