ios-simulator-accessibility
Reading the iOS Simulator accessibility tree and hit testing it — bridge delegate tokens, full-screen backdrops, app-scoped versus display-scoped results, and reaching web content that the tree cannot see
Install / Use
npx skills add DioxusLabs/accessibility-cli --skill ios-simulator-accessibilityInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of ios-simulator-accessibility
ios-simulator-accessibility scores 57/100 on our quality scale, 4159th of 4,598 Development & Engineering skills we index.
Its SKILL.md is 3.3 KB long, split into 5 sections and no code examples: a solid amount of guidance for an agent.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- Our last check on 2026-09-28 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
ios-simulator-accessibility compared with similar skills
All 4 of these similar skills score higher than ios-simulator-accessibility; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| ios-simulator-accessibility (this skill)by DioxusLabs | 57 | 0 | — | SKILL.md |
| ai-job-searchby MadsLorentzen | 100 | 45.1k | 1d ago | CLAUDE.md |
| claude-howtoby luongnv89 | 100 | 41.8k | 6d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 14d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 14d ago | SKILL.md |
Frequently asked questions
- How do I install ios-simulator-accessibility?
- Run
npx skills add DioxusLabs/accessibility-cli --skill ios-simulator-accessibility. The install tabs above show the steps for each supported agent. - Which AI agents does ios-simulator-accessibility work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is ios-simulator-accessibility safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is ios-simulator-accessibility still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubname: ios-simulator-accessibility description: Reading the iOS Simulator accessibility tree and hit testing it — bridge delegate tokens, full-screen backdrops, app-scoped versus display-scoped results, and reaching web content that the tree cannot see. Use when working on get_tree, element picking or the inspector. triggers:
- user
- model
Reading and hit testing the simulator's accessibility tree, via AXPTranslator
in packages/accessibility-ios-sys.
The theme: failures here are silent and look like absence. A missed token returns an empty label rather than an error, so the symptom is "this element cannot be selected" rather than anything that points at the cause.
Hit testing needs the token applied twice
objectAtPoint: returns a platform element whose own translation must also
be given the bridge delegate token — it is not necessarily the translation you
tokenized on the way in.
Miss that and attribute reads do not fail, they silently return an empty label
and a zero frame. get_tree already does this; see the matching step in
get_element_at_point.
SpringBoard crash remediation
A dead SpringBoard can leave CoreSimulatorBridge serving a stale root with a
zero frame. Spawn the runtime's bin/launchctl through
SimDevice.spawnAsyncWithPath:... and run stop com.apple.CoreSimulator.bridge.
The service is kept alive and respawns automatically; after it exits, retry the
accessibility query once. This was verified on Xcode 26.6 by killing SpringBoard:
the retry returned a healthy tree from the replacement SpringBoard PID.
The spawn completion and termination callbacks share one Condvar, so their
results must also share one mutex. macOS rejects using one condition variable
with two mutexes and panics before the CoreSimulator call can complete.
Backdrops swallow hit tests
Every app has full-screen backdrops: the Application node plus one or more container groups. Hit testing empty space resolves to one, and highlighting it paints over the whole device. They are filtered out rather than drawn.
The tree and the hit test have different scopes
The tree is app-scoped and the hit test is display-scoped, so the status bar
appears in hit tests but never in get_tree.
Reaching web content
get_tree walks the frontmost app and so cannot see anything in another
process; a Safari page reports five elements of chrome. Hit testing does
cross that boundary — objectAtPoint: resolves elements inside a WKWebView
while get_tree returns only the host app's chrome, and there is no hierarchy
to traverse from either end. This applies to Safari and to any embedded web
view.
So ?scan=true marks everything the tree walk explained on a coverage grid and
then probes the cells left over. On a real page that takes 5 elements at 4%
coverage to 15 at 50%, using 114 probes in under half a second.
Swept elements are tagged point_grid rather than recursive: they are point
samples with no parent, no children and no document order, and should not be
treated as equivalent to nodes the tree walk returned.
Coverage is reported whether or not a scan runs, and is a useful signal on its own — a full web page reporting 4% describes the problem far better than an empty element list does.
Background on the approach, and how idb solves the same problem, is in
docs/WEB_CONTENT_ACCESSIBILITY_PLAN.md.
Related Skills
ai-job-search
45.1kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
claude-howto
41.8kA visual, example-driven guide to Claude Code — from basic concepts to advanced agents, with copy-paste templates that bring immediate value.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
