diff --git c/src/corelib/itemmodels/qabstractitemmodel.cpp i/src/corelib/itemmodels/qabstractitemmodel.cpp
index c1749526bc..47c5530244 100644
--- c/src/corelib/itemmodels/qabstractitemmodel.cpp
+++ i/src/corelib/itemmodels/qabstractitemmodel.cpp
@@ -876,6 +876,9 @@ void QAbstractItemModelPrivate::rowsAboutToBeInserted(const QModelIndex &parent,
 void QAbstractItemModelPrivate::rowsInserted(const QModelIndex &parent,
                                              int first, int last)
 {
+    if (persistent.indexes.count() > 1000)
+        qDebug() << "rowsInserted, looking at" << persistent.indexes.count()
+                 << "persistent indexes";
     const QList<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
     const int count = (last - first) + 1; // it is important to only use the delta, because the change could be nested
     for (auto *data : persistent_moved) {
diff --git c/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp i/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp
index 586afeef57..035e65ab9e 100644
--- c/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp
+++ i/src/plugins/platforms/windows/uiautomation/qwindowsuiaaccessibility.cpp
@@ -36,6 +36,7 @@ QWindowsUiaAccessibility::~QWindowsUiaAccessibility()
 // Handles UI Automation window messages.
 bool QWindowsUiaAccessibility::handleWmGetObject(HWND hwnd, WPARAM wParam, LPARAM lParam, LRESULT *lResult)
 {
+	qDebug() << Q_FUNC_INFO;
     // Start handling accessibility internally
     QGuiApplicationPrivate::platformIntegration()->accessibility()->setActive(true);
     m_accessibleActive = true;
diff --git c/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp i/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp
index 05b886d2da..af56b35189 100644
--- c/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp
+++ i/src/plugins/platforms/windows/uiautomation/qwindowsuiamainprovider.cpp
@@ -126,7 +126,8 @@ void QWindowsUiaMainProvider::notifyValueChange(QAccessibleValueChangeEvent *eve
         if (accessible->role() == QAccessible::ComboBox && accessible->childCount() > 0) {
             QAccessibleInterface *listacc = accessible->child(0);
             if (listacc && listacc->role() == QAccessible::List) {
-                int count = listacc->childCount();
+                int count = listacc->childCount(); // rows+header * columns+header
+                qDebug() <<  "QWindowsUiaMainProvider::notifyValueChange childCount=" << count << " - will iterate and create cells until finding" << event->value();
                 for (int i = 0; i < count; ++i) {
                     QAccessibleInterface *item = listacc->child(i);
                     if (item && item->isValid() && item->text(QAccessible::Name) == event->value()) {
@@ -134,6 +135,7 @@ void QWindowsUiaMainProvider::notifyValueChange(QAccessibleValueChangeEvent *eve
                             if (QAccessibleActionInterface *actionInterface = item->actionInterface())
                                 actionInterface->doAction(QAccessibleActionInterface::toggleAction());
                         }
+                        qDebug() << "Found at index" << i;
                         break;
                     }
                 }
diff --git c/src/widgets/accessible/itemviews.cpp i/src/widgets/accessible/itemviews.cpp
index aa5f729820..1ca3dd6cbf 100644
--- c/src/widgets/accessible/itemviews.cpp
+++ i/src/widgets/accessible/itemviews.cpp
@@ -681,6 +681,7 @@ void QAccessibleTable::modelChange(QAccessibleTableModelChangeEvent *event)
     case QAccessibleTableModelChangeEvent::ColumnsInserted: {
         int newRows = event->lastRow() - event->firstRow() + 1;
         int newColumns = event->lastColumn() - event->firstColumn() + 1;
+        qDebug() << "QAccessibleTableModelChangeEvent::RowsInserted" << view() << view()->model() << newRows << "new rows" << newColumns << "newColumns";
 
         ChildCache newCache;
         ChildCache::ConstIterator iter = childToId.constBegin();
@@ -712,6 +713,7 @@ void QAccessibleTable::modelChange(QAccessibleTableModelChangeEvent *event)
             }
             ++iter;
         }
+        qDebug() << "newCache=>childToId size" << newCache.size() << view() << view()->model();
         childToId = newCache;
         break;
     }
