diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index ae42ba1ba4d5ed803990e709b803b0bafedea9e3..9ef8c7ab7200b1582d8c08ee0bc287b3800ff774 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -1,3 +1,5 @@
 TEMPLATE = subdirs
 SUBDIRS +=  qmltooling
-SUBDIRS +=  accessible
+contains(QT_CONFIG, accessibility) {
+    SUBDIRS += accessible
+}
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp
index 5a57a908b979295f7d58d24169bd4f0f793f8246..5d4293a262ec96aa67ae724c21ae1c6559dd2d2a 100644
--- a/src/quick/items/qquickcanvas.cpp
+++ b/src/quick/items/qquickcanvas.cpp
@@ -122,10 +122,12 @@ private:
     bool m_eventSent;
 };
 
+#ifndef QT_NO_ACCESSIBILITY
 QAccessibleInterface *QQuickCanvas::accessibleRoot() const
 {
     return QAccessible::queryAccessibleInterface(const_cast<QQuickCanvas*>(this));
 }
+#endif
 
 
 /*
diff --git a/src/quick/items/qquickcanvas.h b/src/quick/items/qquickcanvas.h
index 787bb7e3c73fbc5fe46b12fdb6522e87742cc536..396bc2b8ff3fd2a79ee4d3ea9a8418b526312394 100644
--- a/src/quick/items/qquickcanvas.h
+++ b/src/quick/items/qquickcanvas.h
@@ -102,7 +102,9 @@ public:
 
     QQmlIncubationController *incubationController() const;
 
+#ifndef QT_NO_ACCESSIBILITY
     virtual QAccessibleInterface *accessibleRoot() const;
+#endif
 
     // Scene graph specific functions
     QSGTexture *createTextureFromImage(const QImage &image) const;