diff options
author | Andre de la Rocha <andre.rocha@qt.io> | 2019-12-13 17:13:44 +0100 |
---|---|---|
committer | Andre de la Rocha <andre.rocha@qt.io> | 2020-02-12 17:06:15 +0100 |
commit | a82f9f1a1d7a9a0bd0ceebac6a2bc765b01877e5 (patch) | |
tree | 57ba0893967e35eb0a5a3dd3962a3ffff42c3555 /src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp | |
parent | 217b7d2dd64551ea499766b538551d31319c01cd (diff) |
Windows QPA: Implement IExpandCollapseProvider for submenus
Menu items with submenus should implement the Expand/Collapse UI Automation
pattern in order to allow screen readers to say whether they are expandable
items.
Fixes: QTBUG-80550
Change-Id: I4f72d30172f76f028be5cbdeb1fd85fca6b07acf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp')
-rw-r--r-- | src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp b/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp index cc293b777c..c89dea3dfb 100644 --- a/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp +++ b/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp @@ -53,6 +53,7 @@ #include "qwindowsuiagridprovider.h" #include "qwindowsuiagriditemprovider.h" #include "qwindowsuiawindowprovider.h" +#include "qwindowsuiaexpandcollapseprovider.h" #include "qwindowscombase.h" #include "qwindowscontext.h" #include "qwindowsuiautils.h" @@ -341,6 +342,14 @@ HRESULT QWindowsUiaMainProvider::GetPatternProvider(PATTERNID idPattern, IUnknow *pRetVal = new QWindowsUiaInvokeProvider(id()); } break; + case UIA_ExpandCollapsePatternId: + // Menu items with submenus. + if (accessible->role() == QAccessible::MenuItem + && accessible->childCount() > 0 + && accessible->child(0)->role() == QAccessible::PopupMenu) { + *pRetVal = new QWindowsUiaExpandCollapseProvider(id()); + } + break; default: break; } |