From c802de110bb57b71ab2a91ea14a3d9f533bb415d Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Tue, 20 Aug 2024 09:25:38 +0200 Subject: [PATCH] Accessibility on macOS: add more diagnostic output to test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emit debug output if we fail to get child, row, or column lists from a table or row element. Task-number: QTBUG-122751 Change-Id: Id8e4d2e46db089fab8295b314f66163e8c9a893c Reviewed-by: Tor Arne Vestbø (cherry picked from commit 283ff11d0fd3df07d7500020e9af379725af1e72) Reviewed-by: Qt Cherry-pick Bot --- .../tst_qaccessibilitymac.mm | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac.mm b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac.mm index 4bedd07e15a..0ff66c6cd43 100644 --- a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac.mm +++ b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac.mm @@ -104,34 +104,46 @@ QDebug operator<<(QDebug dbg, AXErrorTag err) - (NSArray*) childList { NSArray *list; - AXUIElementCopyAttributeValues( - reference, - kAXChildrenAttribute, - 0, 100, /*min, max*/ - (CFArrayRef *) &list); + AXError err; + + if (kAXErrorSuccess != (err = AXUIElementCopyAttributeValues(reference, kAXChildrenAttribute, + 0, 100, /*min, max*/ + (CFArrayRef *) &list))) { + axError = true; + qDebug() << "AXUIElementCopyAttributeValue(kAXChildrenAttribute) returned error = " + << AXErrorTag(err) << "with reference" << reference; + } return list; } - (NSArray *)tableRows { - NSArray *arr; - AXUIElementCopyAttributeValues( - reference, - kAXRowsAttribute, - 0, 100, /*min, max*/ - (CFArrayRef *) &arr); - return arr; + NSArray *arr; + AXError err; + + if (kAXErrorSuccess != (err = AXUIElementCopyAttributeValues(reference, kAXRowsAttribute, + 0, 100, /*min, max*/ + (CFArrayRef *) &arr))) { + axError = true; + qDebug() << "AXUIElementCopyAttributeValue(kAXRowsAttribute) returned error = " + << AXErrorTag(err) << "with reference" << reference; + } + return arr; } - (NSArray *)tableColumns { - NSArray *arr; - AXUIElementCopyAttributeValues( - reference, - kAXColumnsAttribute, - 0, 100, /*min, max*/ - (CFArrayRef *) &arr); - return arr; + NSArray *arr; + AXError err; + + if (kAXErrorSuccess != (err = AXUIElementCopyAttributeValues(reference, kAXColumnsAttribute, + 0, 100, /*min, max*/ + (CFArrayRef *) &arr))) { + axError = true; + qDebug() << "AXUIElementCopyAttributeValue(kAXColumnsAttribute) returned error = " + << AXErrorTag(err) << "with reference" << reference; + } + return arr; } - (AXUIElementRef) findDirectChildByRole: (CFStringRef) role