Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Accessibility inspect returns far-offscreen elements, blowing the budget on long pages

Aperta
#178 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
macos, swift

Direzione di ricerca

Start by reading the accessibility inspection implementation and how it applies scope and element budgets; the issue does not name specific files or tests. Compare the returned element bounds with the window’s visible rectangle and check how truncation selects elements. Done means inspection can prioritize or limit offscreen elements so visible, actionable elements survive truncation.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What happened

Inspecting a Safari window showing Proton VPN's WireGuard config page returned
~25k tokens and was truncated ("truncated": true, "omitted": 964), dropping
elements the agent needed. The page has a 240-country server list below the
form.

The output includes a large number of elements that are nowhere near the
visible window (window is 1298x953):

{"id":"elem_52", "label":"Downloads",        "bounds":[337,-739,949,51]}
{"id":"elem_60", "label":"Download Android", "bounds":[384,-379,85,30]}
{"id":"elem_88", "label":"form",             "bounds":[337,96,949,7117]}
{"id":"elem_520","label":"Eritrea Eritrea 1 city", "bounds":[337,2733,949,41]}

Elements at y=-739 and y=2733 on a 953pt-tall window can't be acted on
without scrolling first, but they consume the element budget ahead of elements
that are actually visible.

scope doesn't help here

The documented workaround is to scope to a container, but the only container
that holds the form (elem_88, the form group) also contains the whole
country list — its bounds are 7117pt tall. Scoping returned the same
truncation.

Suggestion

Add a way to limit inspection to what's actionable:

  • a visible_only flag that drops elements whose bounds don't intersect the
    window's visible rect, or
  • a max_depth, or
  • spend the element budget on intersecting elements first, so truncation drops
    offscreen content rather than visible content.

For an agent driving a page, offscreen elements are close to useless: any
action on them is refused until scrolled into view anyway.

Workaround used

mode: pixels + point clicks, which is cheap but gives up element targeting
and can't do text insertion.

Environment

Desktop Tools 0.16.1, macOS 27, Safari 27

Lingua principale
Swift
Stelle
0
Fork
0
Merge medio
39m
PR unite (30g)
144

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di githubnext/desktop-tools

Tutte le issue di githubnext/desktop-tools

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.