diff options
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaaccessibility.mm | 2 | ||||
-rw-r--r-- | src/widgets/accessible/complexwidgets.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaaccessibility.mm b/src/plugins/platforms/cocoa/qcocoaaccessibility.mm index 535d0a3d8a..dc2baa6961 100644 --- a/src/plugins/platforms/cocoa/qcocoaaccessibility.mm +++ b/src/plugins/platforms/cocoa/qcocoaaccessibility.mm @@ -155,6 +155,8 @@ NSString *macRole(QAccessibleInterface *interface) if (roleMap.contains(qtRole)) { // MAC_ACCESSIBILTY_DEBUG() << "return" << roleMap[qtRole]; + if (roleMap[qtRole] == NSAccessibilityComboBoxRole && !interface->state().editable) + return NSAccessibilityMenuButtonRole; if (roleMap[qtRole] == NSAccessibilityTextFieldRole && interface->state().multiLine) return NSAccessibilityTextAreaRole; return roleMap[qtRole]; diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp index df81713d72..624090a2af 100644 --- a/src/widgets/accessible/complexwidgets.cpp +++ b/src/widgets/accessible/complexwidgets.cpp @@ -366,6 +366,7 @@ QAccessible::State QAccessibleComboBox::state() const s.expandable = true; s.expanded = isValid() && comboBox()->view()->isVisible(); + s.editable = comboBox()->isEditable(); return s; } |