Linux Accessibility: Add missing roles: Terminal and Desktop

There is an effort to make KDE software accessible, which exposed the
missing roles. Check that they are complete with an assert.

Change-Id: Ibaff0a90e1cee316983569ecee7759a13212e3c3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
This commit is contained in:
Frederik Gladhorn 2019-04-24 17:44:22 +02:00
parent 65a33d73ea
commit 1269f9cd16

View File

@ -261,6 +261,10 @@ static RoleMapping map[] = {
//: Role of an accessible object
{ QAccessible::ComplementaryContent, ATSPI_ROLE_SECTION, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "complementary content") },
//: Role of an accessible object
{ QAccessible::Terminal, ATSPI_ROLE_TERMINAL, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "terminal") },
//: Role of an accessible object
{ QAccessible::Desktop, ATSPI_ROLE_DESKTOP_FRAME, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "desktop") },
//: Role of an accessible object
{ QAccessible::UserRole, ATSPI_ROLE_UNKNOWN, QT_TRANSLATE_NOOP("QSpiAccessibleBridge", "unknown") }
};
@ -268,6 +272,12 @@ void QSpiAccessibleBridge::initializeConstantMappings()
{
for (uint i = 0; i < sizeof(map) / sizeof(RoleMapping); ++i)
qSpiRoleMapping.insert(map[i].role, RoleNames(map[i].spiRole, QLatin1String(map[i].name), tr(map[i].name)));
// -1 because we have button duplicated, as PushButton and Button.
Q_ASSERT_X(qSpiRoleMapping.size() ==
QAccessible::staticMetaObject.enumerator(
QAccessible::staticMetaObject.indexOfEnumerator("Role")).keyCount() - 1,
"", "Handle all QAccessible::Role members in qSpiRoleMapping");
}
QT_END_NAMESPACE