diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 99493704b5a21d0a015becfe79ecc362d26330e3..de06d4454a3587aa6696a0eac51ad058087c006b 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -579,7 +579,7 @@ void QWidgetTextControlPrivate::selectionChanged(bool forceEmitSelectionChanged
     if (forceEmitSelectionChanged) {
         emit q->selectionChanged();
 #ifndef QT_NO_ACCESSIBILITY
-        if (q->parent()) {
+        if (q->parent() && q->parent()->isWidgetType()) {
             QAccessibleTextSelectionEvent ev(q->parent(), cursor.anchor(), cursor.position());
             QAccessible::updateAccessibility(&ev);
         }
@@ -602,7 +602,7 @@ void QWidgetTextControlPrivate::selectionChanged(bool forceEmitSelectionChanged
                     || cursor.anchor() != lastSelectionAnchor)))) {
         emit q->selectionChanged();
 #ifndef QT_NO_ACCESSIBILITY
-        if (q->parent()) {
+        if (q->parent() && q->parent()->isWidgetType()) {
             QAccessibleTextSelectionEvent ev(q->parent(), cursor.anchor(), cursor.position());
             QAccessible::updateAccessibility(&ev);
         }