Skip to content

qt: fix accessibility exposition of the QML scene when using composition

Pierre Lamot requested to merge chub/vlc:qt/accessiblity into master

This MR allows to properly expose the QML tree to accessibility tools.

The method used feels a bit convoluted, but this matches what has been done in Qt for QuickWidgets. see QTBUG-67290

https://codereview.qt-project.org/c/qt/qtdeclarative/+/348284

This works well on Windows platforms, I ran some tests with Windows Narator and NVDA)

On linux/X11, the result is a bit more mitigated, this goes from being unusable with older versions of Qt (with 5.11 for instance) to somewhat functional with 5.15.2 (user declared properties are correctly exposed, QQuickControls are not), to full functional with 5.15.8+kde patches. As we don't control the Qt version provided by the distribution, we can't do much more on this aspect.

I managed to get rid of the QWidget MainWindow used as the render window in the X11 compositor, the reason of the change was that I needed a QWindow that we controls to be the root object for accessibility discovery, this shouldn't change much and I didn't noticed drawbacks from my tests but I remains a bit wary.

Merge request reports