summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/accessible/qaccessible.cpp83
-rw-r--r--src/gui/accessible/qaccessible.h6
-rw-r--r--src/plugins/platforms/ios/quiaccessibilityelement.mm29
3 files changed, 117 insertions, 1 deletions
diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp
index 01827c807a..7abe40d30c 100644
--- a/src/gui/accessible/qaccessible.cpp
+++ b/src/gui/accessible/qaccessible.cpp
@@ -2611,7 +2611,14 @@ struct QAccessibleActionStrings
decreaseAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Decrease"))),
showMenuAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "ShowMenu"))),
setFocusAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "SetFocus"))),
- toggleAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Toggle"))) {}
+ toggleAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Toggle"))),
+ scrollLeftAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Left"))),
+ scrollRightAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Right"))),
+ scrollUpAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Up"))),
+ scrollDownAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Scroll Down"))),
+ previousPageAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Previous Page"))),
+ nextPageAction(QStringLiteral(QT_TRANSLATE_NOOP("QAccessibleActionInterface", "Next Page")))
+ {}
const QString pressAction;
const QString increaseAction;
@@ -2619,6 +2626,12 @@ struct QAccessibleActionStrings
const QString showMenuAction;
const QString setFocusAction;
const QString toggleAction;
+ const QString scrollLeftAction;
+ const QString scrollRightAction;
+ const QString scrollUpAction;
+ const QString scrollDownAction;
+ const QString previousPageAction;
+ const QString nextPageAction;
QString localizedDescription(const QString &actionName)
{
@@ -2634,6 +2647,20 @@ struct QAccessibleActionStrings
return QAccessibleActionInterface::tr("Sets the focus");
else if (actionName == toggleAction)
return QAccessibleActionInterface::tr("Toggles the state");
+ else if (actionName == scrollLeftAction)
+ return QAccessibleActionInterface::tr("Scrolls to the left");
+ else if (actionName == scrollRightAction)
+ return QAccessibleActionInterface::tr("Scrolls to the right");
+ else if (actionName == scrollUpAction)
+ return QAccessibleActionInterface::tr("Scrolls up");
+ else if (actionName == scrollDownAction)
+ return QAccessibleActionInterface::tr("Scrolls down");
+ else if (actionName == previousPageAction)
+ return QAccessibleActionInterface::tr("Goes back a page");
+ else if (actionName == nextPageAction)
+ return QAccessibleActionInterface::tr("Goes to the next page");
+
+
return QString();
}
};
@@ -2704,6 +2731,60 @@ const QString &QAccessibleActionInterface::toggleAction()
return accessibleActionStrings()->toggleAction;
}
+/*!
+ Returns the name of the scroll left default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollLeftAction()
+{
+ return accessibleActionStrings()->scrollLeftAction;
+}
+
+/*!
+ Returns the name of the scroll right default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollRightAction()
+{
+ return accessibleActionStrings()->scrollRightAction;
+}
+
+/*!
+ Returns the name of the scroll up default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollUpAction()
+{
+ return accessibleActionStrings()->scrollUpAction;
+}
+
+/*!
+ Returns the name of the scroll down default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::scrollDownAction()
+{
+ return accessibleActionStrings()->scrollDownAction;
+}
+
+/*!
+ Returns the name of the previous page default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::previousPageAction()
+{
+ return accessibleActionStrings()->previousPageAction;
+}
+
+/*!
+ Returns the name of the next page default action.
+ \sa actionNames(), localizedActionName()
+ */
+const QString &QAccessibleActionInterface::nextPageAction()
+{
+ return accessibleActionStrings()->nextPageAction;
+}
+
/*! \internal */
QString qAccessibleLocalizedActionDescription(const QString &actionName)
{
diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h
index 7b5d7a1bfd..1d935cbf2d 100644
--- a/src/gui/accessible/qaccessible.h
+++ b/src/gui/accessible/qaccessible.h
@@ -635,6 +635,12 @@ public:
static const QString &showMenuAction();
static const QString &setFocusAction();
static const QString &toggleAction();
+ static const QString &scrollLeftAction();
+ static const QString &scrollRightAction();
+ static const QString &scrollUpAction();
+ static const QString &scrollDownAction();
+ static const QString &nextPageAction();
+ static const QString &previousPageAction();
};
class Q_GUI_EXPORT QAccessibleImageInterface
diff --git a/src/plugins/platforms/ios/quiaccessibilityelement.mm b/src/plugins/platforms/ios/quiaccessibilityelement.mm
index 63b6827ad3..3dff271d00 100644
--- a/src/plugins/platforms/ios/quiaccessibilityelement.mm
+++ b/src/plugins/platforms/ios/quiaccessibilityelement.mm
@@ -193,4 +193,33 @@
action->doAction(QAccessibleActionInterface::decreaseAction());
}
+- (BOOL) accessibilityScroll : (UIAccessibilityScrollDirection) direction
+{
+ QAccessibleInterface *iface = QAccessible::accessibleInterface(self.axid);
+ QAccessibleActionInterface *action = iface->actionInterface();
+ if (!action)
+ return NO;
+ switch (direction) {
+ case UIAccessibilityScrollDirectionRight:
+ action->doAction(QAccessibleActionInterface::scrollRightAction());
+ return YES;
+ case UIAccessibilityScrollDirectionLeft:
+ action->doAction(QAccessibleActionInterface::scrollLeftAction());
+ return YES;
+ case UIAccessibilityScrollDirectionUp:
+ action->doAction(QAccessibleActionInterface::scrollUpAction());
+ return YES;
+ case UIAccessibilityScrollDirectionDown:
+ action->doAction(QAccessibleActionInterface::scrollDownAction());
+ return YES;
+ case UIAccessibilityScrollDirectionNext:
+ action->doAction(QAccessibleActionInterface::nextPageAction());
+ return YES;
+ case UIAccessibilityScrollDirectionPrevious:
+ action->doAction(QAccessibleActionInterface::previousPageAction());
+ return YES;
+ }
+ return NO;
+}
+
@end