8#if QT_CONFIG(accessibility)
14QIOSPlatformAccessibility::QIOSPlatformAccessibility()
17QIOSPlatformAccessibility::~QIOSPlatformAccessibility()
21void invalidateCache(QAccessibleInterface *iface)
23 if (!iface || !
iface->isValid()) {
32 if (
win &&
win->handle()) {
34 window->clearAccessibleCache();
40void QIOSPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *
event)
42 auto *accessibleInterface =
event->accessibleInterface();
43 if (!
isActive() || !accessibleInterface)
45 switch (
event->type()) {
46 case QAccessible::Focus: {
47 auto *element = [QMacAccessibilityElement elementWithId:
event->uniqueId()];
53 UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, element);
56 case QAccessible::ObjectCreated:
57 case QAccessible::ObjectShow:
58 case QAccessible::ObjectHide:
59 case QAccessible::ObjectDestroyed:
60 invalidateCache(accessibleInterface);
61 switch (accessibleInterface->role()) {
62 case QAccessible::Window:
63 case QAccessible::Dialog:
65 UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil);
69 UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil);
static QWindowList topLevelWindows()
Returns a list of the top-level windows in the application.
constexpr QBindableInterface iface