From d77c9860c688de974c4fb57f40622ef344a56bb1 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 10 Jul 2014 14:22:00 +0200 Subject: Improve text for accessibles Change-Id: I0301ed0403b56169e610cf1c38a1e5da39ee164f Reviewed-by: Andras Becsi --- src/core/browser_accessibility_qt.cpp | 17 +++++++++++++++-- .../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("" \ "Hello world" \ - "
" \ + "" \ ""); 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) -- cgit v1.2.3