You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The iOS default source is the UIView-tree walker; correct the parity matrix
rows (default/opt-in/accessibilityIdentifier/class-name) to state the real
macOS-AX-default vs iOS-view-tree-default asymmetry and its mitigation.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
| Opt-in element source | NSView tree |UIView tree (clean-room walk) |symmetric concept, platform views differ|
11
-
|`accessibilityIdentifier`| via AX | via AX|none|
12
-
| Concrete view class name | via NSView opt-in source | via UIView opt-in source| none |
9
+
| Default element source | AX hierarchy (own pid) |UIView tree (clean-room walk) | iOS defaults to the view-tree walk; it still surfaces SwiftUI `accessibilityIdentifier` (set on the backing UIView), so a separate AX source is not needed|
10
+
| Opt-in element source | NSView tree |(the default already walks the view tree) |macOS adds a view-tree opt-in alongside its AX default; iOS only needs the one source|
11
+
|`accessibilityIdentifier`| via AX | via `UIView.accessibilityIdentifier`|both surface SwiftUI identifiers|
12
+
| Concrete view class name | via NSView opt-in source | via the default UIView walk| none |
13
13
| Hit test |`AXUIElementCopyElementAtPosition` + NSView `hitTest`|`UIView.hitTest(_:with:)`| iOS has no global AX point query; uses view hitTest. Tracked: F5.2 |
14
14
| Coordinate space | Cocoa bottom-left to AX top-left flip | UIKit top-left native | iOS needs no flip; shared `ScreenSpace` used only on macOS |
15
15
| Screenshot | ScreenCaptureKit / `cacheDisplay`|`UIGraphicsImageRenderer` + `drawHierarchy`| both capture own hierarchy only; no cross-window or secure overlays |
0 commit comments