7#include <QtGui/private/qguiapplication_p.h>
9@implementation QUIView (Accessibility)
11- (
void)createAccessibleElement:(QAccessibleInterface *)iface
13 if (!iface || iface->state().invisible || (iface->text(QAccessible::Name).isEmpty() && iface->text(QAccessible::Value).isEmpty() && iface->text(QAccessible::Description).isEmpty()))
15 QAccessible::Id accessibleId = QAccessible::uniqueId(iface);
16 UIAccessibilityElement *elem = [[QT_MANGLE_NAMESPACE(QMacAccessibilityElement) alloc] initWithId:accessibleId withAccessibilityContainer:self];
17 [m_accessibleElements addObject:elem];
21- (
void)createAccessibleContainer:(QAccessibleInterface *)iface
23 if (!iface || iface->state().invisible)
26 for (
int i = 0;
i < iface->childCount(); ++
i)
27 [self createAccessibleContainer: iface->child(
i)];
30 [
self createAccessibleElement:iface];
33- (
void)initAccessibility
37 if (!
self.platformWindow)
40 static bool init =
false;
49 QAccessibleInterface *
iface =
win->accessibleRoot();
51 [
self createAccessibleContainer: iface];
56 [m_accessibleElements removeAllObjects];
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)