Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#178 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
macos, swift

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
Swift
Étoiles
0
Forks
0
Merge moyen
39 min
PR mergées (30 j)
144

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de githubnext/desktop-tools

Toutes les issues de githubnext/desktop-tools

Issues similaires

Plus d'issues Swift

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.