Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.12.9, 5.15.1
-
None
Description
Repro steps:
- Using any version of Qt that supports UI Automation, create a dialog with at least one button (see below code sample)
- Open NVDA (https://github.com/nvaccess/nvda http://nvda.bhvd.de/ )
- Show the dialog
- Observe
Expected results:
- NVDA reads the dialog contents and the focused widget once (e.g. "Critical message dialog, This is a critical message, OK button, Enter")
Actual results:
- NVDA reads the dialog contents and the focused widget twice
Additional info:
- I am upgrading an application from 5.9.3 (MSAA accessibility backend) to 5.15.1 (UIA accessibility backend). NVDA behaves as expected in 5.9.3.
- I only see this issue in Qt applications. The UIA examples on MSDN do not exhibit this issue.
- Narrator does not exhibit this issue. Only NVDA.
- The same issue can be seen when creating a simple dialog in Qt Designer and previewing it (from the Form menu)
- This might be related to QTBUG-90897, though the symptoms are slightly different.
Code sample:
#include <QApplication> #include <QHBoxLayout> #include <QMessageBox> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QCoreApplication::setApplicationName("Qt NVDA double readout"); QWidget window; window.resize({ 300, 100 }); window.setLayout(new QHBoxLayout()); QPushButton *button = new QPushButton("Click me!"); QObject::connect(button, &QPushButton::clicked, []() { QMessageBox::critical(nullptr, "Critical message", "This is a critical message", QMessageBox::StandardButton::Ok); }); window.layout()->addWidget(button); window.show(); return app.exec(); }
Attachments
Issue Links
- relates to
-
QTBUG-90897 Windows/Accessibility: Qt does not report correct focused widget to screen readers on Windows
-
- Reported
-