diff options
author | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-12-14 17:40:22 +0100 |
---|---|---|
committer | Mikolaj Boc <mikolaj.boc@qt.io> | 2022-12-16 18:21:57 +0100 |
commit | b53dcb4e67a4f630c8108085967a7842b4d5d95e (patch) | |
tree | e4a4b41dad9c983a02fe65f28257f062d99a80ad /src/plugins/platforms/cocoa | |
parent | c672f148dbf179f2e0ac94dfac7d329d50a3e4a3 (diff) |
Treat the accessible non-editable combobox as ButtonMenu on macOS
Following the system design, we should treat the non-editable combobox
as a ButtonMenu. All of the similar elements in macOS's UI are called
ButtonMenu with the screen reader.
This fixes the case when ctrl+option+space does not invoke the popup
menu with options.
Fixes: QTBUG-106162
Change-Id: I0b439c56d72d1fe5b32a60eb7c001f863c00adc1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaaccessibility.mm | 2 |
1 files changed, 2 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]; |