From 2d7a173b1f00c108cdf2ab451ff7f9af0094c2fa Mon Sep 17 00:00:00 2001 From: Peter Varga Date: Wed, 15 Jan 2020 10:47:37 +0100 Subject: Fix quick accessibility on macOS Same as the widget fix: ffdf7ece Fix widget accessibility on macOS This patch depends on a focusChild() fix in qtdeclarative: 6420ad91d3 Fix QAccessibleQuickWindow::focusChild() to return focused descendant Task-number: QTBUG-78284 Task-number: QTBUG-81539 Change-Id: If0da937d2c778a158ce02e1433b28ca0888692d8 Reviewed-by: Allan Sandfeld Jensen --- .../render_widget_host_view_qt_delegate_quick.cpp | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src/webengine/render_widget_host_view_qt_delegate_quick.cpp') diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index ac32671aa..ede85ca69 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -373,4 +373,53 @@ bool RenderWidgetHostViewQtDelegateQuick::copySurface(const QRect &rect, const Q return true; } +#if QT_CONFIG(accessibility) +RenderWidgetHostViewQtDelegateQuickAccessible::RenderWidgetHostViewQtDelegateQuickAccessible(RenderWidgetHostViewQtDelegateQuick *o, QQuickWebEngineView *view) + : QAccessibleObject(o) + , m_view(view) +{ +} + +QAccessibleInterface *RenderWidgetHostViewQtDelegateQuickAccessible::parent() const +{ + return QAccessible::queryAccessibleInterface(m_view)->parent(); +} + +QString RenderWidgetHostViewQtDelegateQuickAccessible::text(QAccessible::Text) const +{ + return QString(); +} + +QAccessible::Role RenderWidgetHostViewQtDelegateQuickAccessible::role() const +{ + return QAccessible::Client; +} + +QAccessible::State RenderWidgetHostViewQtDelegateQuickAccessible::state() const +{ + return QAccessible::queryAccessibleInterface(m_view)->state(); +} + +QAccessibleInterface *RenderWidgetHostViewQtDelegateQuickAccessible::focusChild() const +{ + return QAccessible::queryAccessibleInterface(m_view)->focusChild(); +} + +int RenderWidgetHostViewQtDelegateQuickAccessible::childCount() const +{ + return QAccessible::queryAccessibleInterface(m_view)->childCount(); +} + +QAccessibleInterface *RenderWidgetHostViewQtDelegateQuickAccessible::child(int index) const +{ + return QAccessible::queryAccessibleInterface(m_view)->child(index); +} + +int RenderWidgetHostViewQtDelegateQuickAccessible::indexOfChild(const QAccessibleInterface *c) const +{ + return QAccessible::queryAccessibleInterface(m_view)->indexOfChild(c); +} + +#endif // QT_CONFIG(accessibility) + } // namespace QtWebEngineCore -- cgit v1.2.3