diff options
author | Piotr Mikolajczyk <piotr.mikolajczyk@qt.io> | 2020-11-20 15:07:59 +0100 |
---|---|---|
committer | Piotr Mikolajczyk <piotr.mikolajczyk@qt.io> | 2020-12-08 10:02:34 +0100 |
commit | fd20bc2277f98b86bddbd3f8a0ca92457a8c7c70 (patch) | |
tree | 69939f53963fb5a8ca42c85dac20dbdc28f89fa9 /src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java | |
parent | 4a85160e0bcfef04ed186d3fe264566d6313727c (diff) |
Android: Qml accessibility fixes
- Accessibility focus can follow the position of the widget
(for example when swiping on a scrollview)
- controls are clickable directly after appearing on the screen after
scroll (previously you had to click somewhere else on the screen,
and after that you could focus the newly appeared control)
- checkbox and switch react correctly on click action
- fixed combobox behavior with accessibility enabled
Task-number: QTBUG-79611
Pick-to: 6.0 5.15
Change-Id: If36914ab0165f33593e68fd7ecf168693f8538a7
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java index 35d86611c6..3785eb4011 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java @@ -159,6 +159,8 @@ public class QtActivityDelegate private CursorHandle m_rightSelectionHandle; private EditPopupMenu m_editPopupMenu; + private QtAccessibilityDelegate m_accessibilityDelegate = null; + public void setSystemUiVisibility(int systemUiVisibility) { @@ -876,10 +878,30 @@ public class QtActivityDelegate m_splashScreen.startAnimation(fadeOut); } + public void notifyAccessibilityLocationChange() + { + if (m_accessibilityDelegate == null) + return; + m_accessibilityDelegate.notifyLocationChange(); + } + + public void notifyObjectHide(int viewId) + { + if (m_accessibilityDelegate == null) + return; + m_accessibilityDelegate.notifyObjectHide(viewId); + } + + public void notifyObjectFocus(int viewId) + { + if (m_accessibilityDelegate == null) + return; + m_accessibilityDelegate.notifyObjectFocus(viewId); + } public void initializeAccessibility() { - new QtAccessibilityDelegate(m_activity, m_layout, this); + m_accessibilityDelegate = new QtAccessibilityDelegate(m_activity, m_layout, this); } public void onWindowFocusChanged(boolean hasFocus) { |