@@ -206,26 +206,35 @@ function isTransparentHitTestBlocker(item: AccessibilityTreeItem): boolean {
206206
207207 const rawClassName = cleanText ( node . className ) ;
208208 const type = cleanText ( node . type ) ;
209- if ( ! isTransparentContainerClass ( rawClassName ) && type !== "UIView" ) {
209+ if (
210+ ! isTransparentContainerClass ( rawClassName ) &&
211+ ! isTransparentContainerClass ( type )
212+ ) {
210213 return false ;
211214 }
212215
213216 return ! hasMeaningfulNodeContent ( node ) ;
214217}
215218
216219function isTransparentContainerClass ( value : string | null ) : boolean {
220+ const className = unqualifiedClassName ( value ) ;
217221 return (
218- value === "UIView" ||
219- value === "UITransitionView" ||
220- value === "UIDropShadowView" ||
221- value === "UIViewControllerWrapperView" ||
222- value === "UINavigationTransitionView" ||
223- value === "_UITouchPassthroughView" ||
224- value === "_UIFloatingBarContainerView" ||
225- Boolean ( value ?. includes ( "FloatingBarHostingView" ) )
222+ className === "UIView" ||
223+ className === "UITransitionView" ||
224+ className === "UIDropShadowView" ||
225+ className === "UIViewControllerWrapperView" ||
226+ className === "UINavigationTransitionView" ||
227+ className === "_UITabBarContainerView" ||
228+ className === "_UITouchPassthroughView" ||
229+ className === "_UIFloatingBarContainerView" ||
230+ Boolean ( className ?. includes ( "FloatingBarHostingView" ) )
226231 ) ;
227232}
228233
234+ function unqualifiedClassName ( value : string | null ) : string | null {
235+ return value ?. split ( "." ) . pop ( ) ?. trim ( ) || value ;
236+ }
237+
229238function hasMeaningfulNodeContent ( node : AccessibilityNode ) : boolean {
230239 const generatedNames = new Set (
231240 [ node . type , node . className , node . role , "UIView" , "UIKit View" ]
0 commit comments