Skip to content

Commit 209db38

Browse files
angusbezzinaclaude
andcommitted
docs: parity matrix reflects iOS view-tree default (not AX)
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>
1 parent 41b5baa commit 209db38

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

PARITY.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ row; each asymmetry is closed by code or has a tracked mitigation.
66

77
| Capability | macOS adapter | iOS adapter | Asymmetry / mitigation |
88
|---|---|---|---|
9-
| Default element source | AX hierarchy (own pid) | AX hierarchy | none |
10-
| 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 |
1313
| Hit test | `AXUIElementCopyElementAtPosition` + NSView `hitTest` | `UIView.hitTest(_:with:)` | iOS has no global AX point query; uses view hitTest. Tracked: F5.2 |
1414
| Coordinate space | Cocoa bottom-left to AX top-left flip | UIKit top-left native | iOS needs no flip; shared `ScreenSpace` used only on macOS |
1515
| Screenshot | ScreenCaptureKit / `cacheDisplay` | `UIGraphicsImageRenderer` + `drawHierarchy` | both capture own hierarchy only; no cross-window or secure overlays |

0 commit comments

Comments
 (0)