diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp
index 67d17c98e5..5dd8d0f0a7 100644
--- a/src/quick/items/qquickaccessibleattached.cpp
+++ b/src/quick/items/qquickaccessibleattached.cpp
@@ -336,6 +336,7 @@ QMetaMethod QQuickAccessibleAttached::sigNextPage;
 QQuickAccessibleAttached::QQuickAccessibleAttached(QObject *parent)
     : QObject(parent), m_role(QAccessible::NoRole)
 {
+    qDebug() << __FUNCTION__ << parent;
     Q_ASSERT(parent);
     if (!item()) {
         qmlWarning(parent) << "Accessible must be attached to an Item";
@@ -371,10 +372,12 @@ QQuickAccessibleAttached::QQuickAccessibleAttached(QObject *parent)
 
 QQuickAccessibleAttached::~QQuickAccessibleAttached()
 {
+    qDebug() << __FUNCTION__ << parent();
 }
 
 void QQuickAccessibleAttached::setRole(QAccessible::Role role)
 {
+    qDebug() << __FUNCTION__ << parent() << role;
     if (role != m_role) {
         m_role = role;
         Q_EMIT roleChanged();
@@ -431,6 +434,7 @@ void QQuickAccessibleAttached::setNameImplicitly(const QString &name)
 
 QQuickAccessibleAttached *QQuickAccessibleAttached::qmlAttachedProperties(QObject *obj)
 {
+    qDebug() << __FUNCTION__ << obj;
     return new QQuickAccessibleAttached(obj);
 }
 
@@ -449,6 +453,7 @@ void QQuickAccessibleAttached::setIgnored(bool ignored)
 
 bool QQuickAccessibleAttached::doAction(const QString &actionName)
 {
+    qDebug() << __FUNCTION__ << parent() << actionName;
     QMetaMethod *sig = nullptr;
     if (actionName == QAccessibleActionInterface::pressAction())
         sig = &sigPress;
@@ -497,6 +502,7 @@ void QQuickAccessibleAttached::availableActions(QStringList *actions) const
         actions->append(QAccessibleActionInterface::previousPageAction());
     if (isSignalConnected(sigNextPage))
         actions->append(QAccessibleActionInterface::nextPageAction());
+    qDebug() << __FUNCTION__ << parent() << *actions;
 }
 
 QT_END_NAMESPACE
diff --git a/src/quick/items/qquickaccessibleattached_p.h b/src/quick/items/qquickaccessibleattached_p.h
index c24bce7bda..61184820cf 100644
--- a/src/quick/items/qquickaccessibleattached_p.h
+++ b/src/quick/items/qquickaccessibleattached_p.h
@@ -165,6 +165,7 @@ public:
     static bool setProperty(QObject *object, const char *propertyName, const QVariant &value)
     {
         QObject *obj = qmlAttachedPropertiesObject<QQuickAccessibleAttached>(object, true);
+         qDebug() << __FUNCTION__ << object << obj;
         if (!obj) {
             qWarning("cannot set property Accessible.%s of QObject %s", propertyName, object->metaObject()->className());
             return false;
@@ -174,13 +175,20 @@ public:
 
     static QObject *findAccessible(QObject *object, QAccessible::Role role = QAccessible::NoRole)
     {
+        qDebug() << __FUNCTION__ << object << role;
         while (object) {
             QQuickAccessibleAttached *att = QQuickAccessibleAttached::attachedProperties(object);
+            if (!att)
+                att = object->findChild<QQuickAccessibleAttached *>();
+            qDebug() << __FUNCTION__ << "loop" << object << att;
+            if (att)
+                qDebug() << __FUNCTION__ << "att->role=" << att->role();
             if (att && (role == QAccessible::NoRole || att->role() == role)) {
                 break;
             }
             object = object->parent();
         }
+         qDebug() << __FUNCTION__ << "returns" << object;
         return object;
     }
 
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index bb78ead0e8..d7478ac405 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -38,6 +38,7 @@
 ****************************************************************************/
 
 #include "qquicktextinput_p.h"
+#include "qquickaccessibleattached_p.h"
 #include "qquicktextinput_p_p.h"
 #include "qquickwindow.h"
 
@@ -2746,6 +2747,11 @@ void QQuickTextInputPrivate::init()
     }
 
     m_inputControl = new QInputControl(QInputControl::LineEdit, q);
+    QQuickAccessibleAttached::setProperty(q, "bla", 42);
+    auto qqa =  QQuickAccessibleAttached::attachedProperties(q);
+    qDebug() << __FUNCTION__ << qqa;
+    if (qqa)
+        qqa->setRole(QAccessible::EditableText);
 }
 
 void QQuickTextInputPrivate::resetInputMethod()
@@ -3666,8 +3672,12 @@ void QQuickTextInputPrivate::internalSetText(const QString &txt, int pos, bool e
     Q_UNUSED(changed)
 #else
     Q_Q(QQuickTextInput);
+    qDebug() << __FUNCTION__ << changed
+          << "active" << QAccessible::isActive();
     if (changed && QAccessible::isActive()) {
-        if (QObject *acc = QQuickAccessibleAttached::findAccessible(q, QAccessible::EditableText)) {
+        QObject *acc = QQuickAccessibleAttached::findAccessible(q, QAccessible::EditableText);
+        qDebug() << __FUNCTION__ << acc;
+        if (acc) {
             QAccessibleTextUpdateEvent ev(acc, 0, oldText, m_text);
             QAccessible::updateAccessibility(&ev);
         }
@@ -4318,8 +4328,11 @@ bool QQuickTextInputPrivate::emitCursorPositionChanged()
         }
 
 #if QT_CONFIG(accessibility)
+        qDebug() << __FUNCTION__ << "active" << QAccessible::isActive();
         if (QAccessible::isActive()) {
-            if (QObject *acc = QQuickAccessibleAttached::findAccessible(q, QAccessible::EditableText)) {
+            QObject *acc = QQuickAccessibleAttached::findAccessible(q, QAccessible::EditableText);
+            qDebug() << __FUNCTION__ << acc;
+            if (acc) {
                 QAccessibleTextCursorEvent ev(acc, m_cursor);
                 QAccessible::updateAccessibility(&ev);
             }
diff --git a/tests/auto/qml/ecmascripttests/test262 b/tests/auto/qml/ecmascripttests/test262
index 6b0c42c63c..5a105134b9 160000
--- a/tests/auto/qml/ecmascripttests/test262
+++ b/tests/auto/qml/ecmascripttests/test262
@@ -1 +1 @@
-Subproject commit 6b0c42c63c2492bd0a7a96d3179d122b5f71793f
+Subproject commit 5a105134b9fdf9abc0dc12dc3e44027529634715
