diff options
-rw-r--r-- | src/core/browser_accessibility_qt.cpp | 17 | ||||
-rw-r--r-- | tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp | 10 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/core/browser_accessibility_qt.cpp b/src/core/browser_accessibility_qt.cpp index bfbb3f69b..cf2d305be 100644 --- a/src/core/browser_accessibility_qt.cpp +++ b/src/core/browser_accessibility_qt.cpp @@ -97,8 +97,21 @@ int BrowserAccessibilityQt::indexOfChild(const QAccessibleInterface *iface) cons QString BrowserAccessibilityQt::text(QAccessible::Text t) const { - std::string name_str = name(); - return toQt(name_str); + switch (t) { + case QAccessible::Name: + return toQt(GetStringAttribute(AccessibilityNodeData::ATTR_NAME)); + case QAccessible::Description: + return toQt(GetStringAttribute(AccessibilityNodeData::ATTR_DESCRIPTION)); + case QAccessible::Help: + return toQt(GetStringAttribute(AccessibilityNodeData::ATTR_HELP)); + case QAccessible::Value: + return toQt(GetStringAttribute(AccessibilityNodeData::ATTR_VALUE)); + case QAccessible::Accelerator: + return toQt(GetStringAttribute(AccessibilityNodeData::ATTR_SHORTCUT)); + default: + break; + } + return QString(); } void BrowserAccessibilityQt::setText(QAccessible::Text t, const QString &text) diff --git a/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp b/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp index 2d217e362..76b668b21 100644 --- a/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp +++ b/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp @@ -84,7 +84,7 @@ void tst_QWebEngineView::hierarchy() QWebEngineView webView; webView.setHtml("<html><body>" \ "Hello world" \ - "<input type='text'/><br>" \ + "<input type='text' value='some text'></input>" \ "</body></html>"); webView.show(); ::waitForSignal(&webView, SIGNAL(loadFinished(bool))); @@ -103,15 +103,23 @@ void tst_QWebEngineView::hierarchy() QVERIFY(grouping); QCOMPARE(grouping->parent(), document); QCOMPARE(grouping->childCount(), 2); + QAccessibleInterface *text = grouping->child(0); QCOMPARE(text->role(), QAccessible::StaticText); QCOMPARE(text->parent(), grouping); QEXPECT_FAIL("", "FIXME: static text should probably not have a child element", Continue); QCOMPARE(text->childCount(), 0); + QCOMPARE(text->text(QAccessible::Name), QString()); + QCOMPARE(text->text(QAccessible::Description), QString()); + QCOMPARE(text->text(QAccessible::Value), QStringLiteral("Hello world")); + QAccessibleInterface *input = grouping->child(1); QCOMPARE(input->role(), QAccessible::EditableText); QCOMPARE(input->parent(), grouping); QCOMPARE(input->childCount(), 0); + QCOMPARE(input->text(QAccessible::Name), QString()); + QCOMPARE(input->text(QAccessible::Description), QString()); + QCOMPARE(input->text(QAccessible::Value), QStringLiteral("some text")); } QTEST_MAIN(tst_QWebEngineView) |