From bc546e14688c7056ac36b6f478fde852b5afaf46 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Tue, 20 Oct 2015 12:41:55 +0200 Subject: QQuickControl: dynamically create a11y attached object Using QAccessible::ActivationObserver approach. Change-Id: Ib99c1f9b7b0c37a3e8a4747db265c9df77acc1f8 Reviewed-by: J-P Nurmi --- src/templates/qquickslider.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src/templates/qquickslider.cpp') diff --git a/src/templates/qquickslider.cpp b/src/templates/qquickslider.cpp index 9e15f1aa..3413d504 100644 --- a/src/templates/qquickslider.cpp +++ b/src/templates/qquickslider.cpp @@ -78,7 +78,10 @@ class QQuickSliderPrivate : public QQuickControlPrivate public: QQuickSliderPrivate() : from(0), to(1), value(0), position(0), stepSize(0), pressed(false), orientation(Qt::Horizontal), snapMode(QQuickSlider::NoSnap), - handle(Q_NULLPTR), track(Q_NULLPTR) { } + handle(Q_NULLPTR), track(Q_NULLPTR) + { + m_accessibleRole = 0x00000033; // QAccessible::Slider + } qreal valueAt(qreal position) const; qreal snapPosition(qreal position) const; @@ -157,7 +160,6 @@ QQuickSlider::QQuickSlider(QQuickItem *parent) : { setActiveFocusOnTab(true); setAcceptedMouseButtons(Qt::LeftButton); - setAccessibleRole(0x00000033); //QAccessible::Slider } /*! @@ -555,4 +557,15 @@ void QQuickSlider::componentComplete() d->updatePosition(); } +#ifndef QT_NO_ACCESSIBILITY +void QQuickSlider::accessibilityActiveChanged(bool active) +{ + QQuickControl::accessibilityActiveChanged(active); + + Q_D(QQuickSlider); + if (active) + setAccessibleProperty("pressed", d->pressed); +} +#endif + QT_END_NAMESPACE -- cgit v1.2.3