Blolabel
← Notes
analysis 7 min read

A11y-Compressor cuts a desktop accessibility tree to 22% of its tokens and gains 5.1 points on OSWorld; phoneshell cut one iPhone read from 5.82s to 0.89s by dropping two attributes by hand

Both projects found that most of an accessibility tree is dead weight. A11y-Compressor learned a pipeline to remove it and got more accurate as a side effect. phoneshell dropped two named attributes by hand and only ever claimed the time back, never the accuracy, because it never measured it.

A11y-Compressor (arXiv:2605.00551) restructures a linearized accessibility tree into a form it calls Compressed-a11y and reports, on the OSWorld desktop benchmark, input tokens cut to about 22% of the original alongside an average 5.1 percentage point gain in task success. It has been tested on desktop Linux and Windows applications only; the authors state plainly that mobile interfaces have not been investigated. phoneshell's own tree reads, measured on a physical iPhone and recorded in FINDINGS.md section 2, got most of their cost back a smaller and more specific way: excluding the visible and accessible attributes from a WebDriverAgent read cut one heavy third-party screen from 5.82 seconds to 0.89 seconds, at a stated cost of one element out of 24 going undescribed. Separately, deduplicating unchanged screens across conversation turns cut a measured three-turn task from 18,584 to 1,278 cache-write tokens. Both projects pulled on the same lever, that most of what an accessibility tree exposes is redundant for a given step, but only one of them turned pulling it into a measured accuracy gain, because only one of them was set up to measure accuracy at all.

Abstract technical illustration of a dense branching tree diagram being distilled through two different filters into a much sparser structure, one filter automated and layered, the other a single hand-drawn cut

What changed, and when

A11y-Compressor was posted to arXiv in May 2026 under the title "A Framework for Enhancing the Efficiency of GUI Agent Observations through Visual Context Reconstruction and Redundancy Reduction." Its pipeline runs a linearized tree through modal detection, redundancy reduction and semantic structuring, in that order, rebuilding the spatial relationships a flat text dump throws away before handing the result to the agent. We found no public code or dataset release to accompany the preprint as of this writing, so the 22% and 5.1-point figures are the paper's own reported numbers, not independently rerun here.

phoneshell's attribute exclusion and screen-dedup changes predate that paper and are documented in FINDINGS.md sections 2 and 8, both committed before A11y-Compressor's submission. Neither change in phoneshell ran an accuracy comparison; both are wall-clock and token-cost measurements on the same tree content, read once with the expensive attributes and once without, on the same screen.

What each project actually measured

projectplatformwhat changedcost resultaccuracy resultsource
A11y-Compressordesktop (OSWorld)learned pipeline: modal detection, redundancy reduction, semantic structuringtokens to ~22% of a linearized tree+5.1 points average task successarXiv:2605.00551
phoneshelliOS (heavy third-party screen)exclude visible and accessible attributes from the read5.82s → 0.89s wall timenot measured; 1 of 24 elements goes undescribedFINDINGS.md §2
phoneshelliOS (3-turn task shape)deduplicate unchanged screens across turnscache-write tokens 18,584 → 1,278 (6.9% of original); $0.1011 → $0.0345not measuredFINDINGS.md §8
phoneshelliOS (tree depth)default depth 20 vs escalate to depth 25depth 25 costs 1,270ms vs 159 to 210ms at depth 20, for 19 more elementsnot measuredFINDINGS.md §2
Each change, indexed to its own starting point as 100% A11y-Compressortokens, OSWorld phoneshell: attribute dropwall time, one screen phoneshell: screen dedupcache-write tokens, 3 turns 22.0% of original tokens, +5.1pp success 15.3% of original wall time (5.82s → 0.89s) 6.9% of original cache-write tokens 0% 100% (original) Reduction size is comparable in shape. Only A11y-Compressor measured whether accuracy moved with it.
phoneshell's two changes cut more off their own metric than A11y-Compressor cut off tokens, but that is not the same claim. phoneshell never ran the accuracy side of the experiment; A11y-Compressor is the only one of the three results with a success-rate number attached.
Restructuring versus subtracting A11y-Compressor: rebuilds structure, then shrinks raw linear tree modal detection redundancy reduction semantic structuring Compressed-a11y, 22% phoneshell: two independent subtractions, same information, less of it full tree, depth 20 drop visible, accessible5.82s → 0.89s; 1 of 24 elements lost same screen, next turn skip resend if unchanged18,584 → 1,278 cache-write tokens neither rule adds information back neither rule was tested against task success
A11y-Compressor's gain is structural: it puts spatial relationships back that a flat dump destroyed, and that is plausibly why accuracy moved, not just cost. phoneshell's two rules are pure subtraction, which is a legitimate cost optimisation but not evidence either way about accuracy.

What this means for someone tuning a tree read

The honest reading is not "phoneshell should adopt A11y-Compressor's pipeline" or "A11y- Compressor's gain would vanish on iOS." Neither claim is supported by what either project has actually run. What is supported: an accessibility tree, on both platforms, carries enough redundant structure that cutting most of it costs little and in at least one documented case (A11y-Compressor, desktop, OSWorld) costs nothing and buys accuracy back as well. phoneshell's own number that should worry anyone copying its attribute exclusion wholesale is the one element out of 24 it could no longer describe. That tradeoff was accepted for a 6.5x time saving on a heavy screen without ever checking whether the missing element was ever the one a task needed. A project that wants A11y-Compressor's kind of result, cost down and accuracy up rather than cost down and accuracy unmeasured, would need to run the same paired comparison phoneshell ran for vision in experiment 2 (FINDINGS.md §26): same tasks, same model, tree with the excluded attributes against tree without, scored from device state. Nobody has run that comparison for phoneshell's own attribute exclusion yet.

Check it yourself

git clone https://github.com/Blomega/phoneshell && cd phoneshell
grep -A6 "visible.*and.*accessible" FINDINGS.md     # section 2, the 5.82s to 0.89s read
grep -A8 "Token cost" FINDINGS.md                     # section 8, the 18,584 to 1,278 token dedup
sed -n '1,40p' phoneshell/wda/client.py               # the attribute exclusion itself

A11y-Compressor's own pipeline has no public repository we could find as of this writing, so its 22% and 5.1-point numbers cannot currently be rerun outside the paper; the arXiv preprint (2605.00551) is the only available source for them.

What would prove this wrong

Sources

  1. "A11y-Compressor: A Framework for Enhancing the Efficiency of GUI Agent Observations through Visual Context Reconstruction and Redundancy Reduction." arXiv:2605.00551, posted May 2026.
  2. Blolabel, FINDINGS.md, sections 2 and 8, measured on a physical iPhone.
  3. Blolabel, phoneshell/wda/client.py, the tree-read attribute exclusion.