From 942df6432917835b0ad148ecd41f63bec96a63e3 Mon Sep 17 00:00:00 2001 From: Justin Cohen Date: Thu, 10 Jul 2025 15:41:34 -0400 Subject: [PATCH] Attempt to work around unknown trait in LiquidGlass _UIButtonBarButton. --- Classes/GTXAccessibilityTree.m | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Classes/GTXAccessibilityTree.m b/Classes/GTXAccessibilityTree.m index e85f6e0..82ea842 100644 --- a/Classes/GTXAccessibilityTree.m +++ b/Classes/GTXAccessibilityTree.m @@ -248,6 +248,20 @@ - (BOOL)gtx_isAccessibilityHiddenElement:(id)element { CGRect frame = [element frame]; isHiddenDueToFrame = frame.size.width == 0 || frame.size.height == 0; } + + if (@available(iOS 26, *)) { + if ([element respondsToSelector:@selector(accessibilityTraits)]) { + if ([NSStringFromClass([element class]) isEqualToString:@"_UIButtonBarButton"]) { + UIAccessibilityTraits traits = ((UIView*)element).accessibilityTraits; + // Unclear what trait 0x8000000 is, but with liquid glass on iOS26 + // this element appears to want to be ignored. + if (traits & 0x8000000) { + isHidden = YES; + } + } + } + } + return (isHidden || isAccessibilityHidden || (isHiddenDueToFrame && isHiddenDueToAccessibilityFrame) || [self gtx_isElementOffscreenPickerViewElement:element]);