Accessibility iOS
authorFrederik Gladhorn <frederik.gladhorn@digia.com>
Mon, 19 May 2014 10:28:32 +0000 (12:28 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 6 Jun 2014 18:23:08 +0000 (20:23 +0200)
commitd707acfc9e357ffc86feb5d9219372c30c5ff157
tree0e9f6d4b26b6b2d0d406546d8d0531838fc5acfb
parent0f8d35ff73b80d2044e03e35d338a2acb60b8fa2
Accessibility iOS

This lays the foundation for iOS accessibility.
The approach is slightly different from other a11y bridges in
that we completely flaten the hierarchy of wigets/quick items to
a list. This works well with VoiceOver since there are comparatively
few elements. The cache implementation for OS X is re-used.

With this patch VoiceOver on iOS works on many applications out of the box.
For now it sends the screen changed notfification somewhat overzealous,
that will need revisiting and potentially new API in QAccessible.

Device orientation changes are not yet supported.

[ChangeLog][iOS] Accessibility was added to the iOS platform port.
This enables Qt applications to be read by VoiceOver on iOS devices.

Task-number: QTBUG-39097
Change-Id: I441e844652d528cc2fdcc444f43b54ed6fa04f0c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
17 files changed:
src/gui/accessible/qaccessiblecache.cpp
src/gui/accessible/qaccessiblecache_mac.mm
src/gui/accessible/qaccessiblecache_p.h
src/plugins/platforms/cocoa/qcocoaaccessibility.mm
src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h
src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm
src/plugins/platforms/cocoa/qnsviewaccessibility.mm
src/plugins/platforms/ios/ios.pro
src/plugins/platforms/ios/qiosintegration.h
src/plugins/platforms/ios/qiosintegration.mm
src/plugins/platforms/ios/qiosplatformaccessibility.h [new file with mode: 0644]
src/plugins/platforms/ios/qiosplatformaccessibility.mm [new file with mode: 0644]
src/plugins/platforms/ios/qioswindow.h
src/plugins/platforms/ios/qioswindow.mm
src/plugins/platforms/ios/quiaccessibilityelement.h [new file with mode: 0644]
src/plugins/platforms/ios/quiaccessibilityelement.mm [new file with mode: 0644]
src/plugins/platforms/ios/quiview.h