aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorAndre de la Rocha <andre.rocha@qt.io>2020-04-30 07:17:18 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-05-19 06:19:40 +0200
commitf703881b8176dfcc85b8d1cb3b8449722bb0ebf8 (patch)
treeaf9ebe961dbceea76b9f1019428b42686d658382 /src/quick
parent87d948b34004ab7c44bd85d73dc0c6144db15853 (diff)
Fix Narrator spelling password characters in Quick TextInput
Quick was not setting the "passwordEdit" accessible state for TextInput controls set with a password-editing echo mode. Thus the platform accessibility layer would not let the accessibility client (Microsoft Narrator, in the reported case) know that the text being edited was a password, making it spell the letters instead of something like "hidden". Fixes: QTBUG-82433 Change-Id: Ic659f031f6bad2ae3d7e500333dc8e2f27797a08 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 788a3a183f8c49c1a88270c1456c3d47423df240)
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/accessible/qaccessiblequickitem.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/quick/accessible/qaccessiblequickitem.cpp b/src/quick/accessible/qaccessiblequickitem.cpp
index b87203c3ef..5e1ae25c38 100644
--- a/src/quick/accessible/qaccessiblequickitem.cpp
+++ b/src/quick/accessible/qaccessiblequickitem.cpp
@@ -43,6 +43,7 @@
#include "QtQuick/private/qquickitem_p.h"
#include "QtQuick/private/qquicktext_p.h"
+#include "QtQuick/private/qquicktextinput_p.h"
#include "QtQuick/private/qquickaccessibleattached_p.h"
#include "QtQuick/qquicktextdocument.h"
QT_BEGIN_NAMESPACE
@@ -197,6 +198,9 @@ QAccessible::State QAccessibleQuickItem::state() const
state.focusable = true;
if (item()->hasActiveFocus())
state.focused = true;
+ if (role() == QAccessible::EditableText)
+ if (auto ti = qobject_cast<QQuickTextInput *>(item()))
+ state.passwordEdit = ti->echoMode() != QQuickTextInput::Normal;
return state;
}