Accessibility inspect returns far-offscreen elements, blowing the budget on long pages
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- macos, swift
- Domínio
- accessibility, desktop
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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_onlyflag 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
- Linguagem predominante
- Swift
- Estrelas
- 0
- Forks
- 0
- Merge médio
- 39min
- PRs com merge (30d)
- 144
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de githubnext/desktop-tools
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
githubnext/desktop-tools#192 ·
Mantenedores costumam responder em até 1 dia
-
ace documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
githubnext/desktop-tools#104 ·
Mantenedores costumam responder em até 1 dia
-
Status-item NSMenu (MenuBarExtra .menu): opens but can't be inspected via Accessibility or dismissedAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
githubnext/desktop-tools#193 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
githubnext/desktop-tools#191 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
githubnext/desktop-tools#179 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de githubnext/desktop-tools
Issues semelhantes
-
product / auth product / databases product / functions product / messaging product / storage product / vcs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
storage: eliminate force-unwraps and fatalError in continueStreamingUploadTalvez já em andamento @chingor13 assumiu hoje. Abertaapi: storage type: cleanup
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
googleapis/google-cloud-swift#1527 ·
Mantenedores costumam responder em até 1 dia
-
ci-failure ci:assertion test
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
openwatersio/slackwater-ios#811 ·
Mantenedores costumam responder em até 1 dia
-
ai-assisted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
swiftlang/swift-testing#1979 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
Mantenedores costumam responder em até 1 dia