summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp
index 8747367..37b1b25 100644
--- a/src/plugins/accessible/widgets/simplewidgets.cpp
+++ b/src/plugins/accessible/widgets/simplewidgets.cpp
@@ -51,6 +51,7 @@
#include <qlabel.h>
#include <qgroupbox.h>
#include <qlcdnumber.h>
+#include <qtextdocument.h>
#include <qlineedit.h>
#include <private/qlineedit_p.h>
#include <qstyle.h>
@@ -540,7 +541,14 @@ QString QAccessibleDisplay::text(Text t, int child) const
str = widget()->accessibleName();
if (str.isEmpty()) {
if (qobject_cast<QLabel*>(object())) {
- str = qobject_cast<QLabel*>(object())->text();
+ QLabel *label = qobject_cast<QLabel*>(object());
+ str = label->text();
+ if (label->textFormat() == Qt::RichText
+ || (label->textFormat() == Qt::AutoText && Qt::mightBeRichText(str))) {
+ QTextDocument doc;
+ doc.setHtml(str);
+ str = doc.toPlainText();
+ }
#ifndef QT_NO_LCDNUMBER
} else if (qobject_cast<QLCDNumber*>(object())) {
QLCDNumber *l = qobject_cast<QLCDNumber*>(object());