Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Android: only send accessibility-focus-cleared when the node had accessibility focus

Offen
#845 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
52/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
android, rust
Bereich
accessibility

Rechercherichtung

Start in Adapter::perform_action, where ACTION_CLEAR_ACCESSIBILITY_FOCUS is handled. Check the node’s accessibility-focus state before sending the cleared event or invalidating the host. Done when repeating the action on a node without focus produces neither effect, while clearing focus from a focused node still works; the issue does not name a test file.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Problem

A repeated ACTION_CLEAR_ACCESSIBILITY_FOCUS for a node that no longer holds accessibility focus still sends TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED and invalidates the host. Screen readers can send this action more than once while moving focus, which produces a spurious cleared event for a node that was not focused.

Proposed fix

Only emit the event (and invalidate the host) when the node did hold accessibility focus, as a real View does. It is a small change in Adapter::perform_action.

Testing

Tested on a physical realme RMX5032 running Android 16 (API 36) with Google TalkBack 17.1.0 and with BackTalk, in an app using this adapter; swiping through controls behaves normally.

AI disclosure

I used an AI assistant (Claude) to help investigate and write this change. I reviewed the diff and ran the checks and the device testing myself.

I saw that AccessKit no longer accepts external pull requests (#832), so I'm opening an issue instead. If the plan looks reasonable, I'd be glad to send the PR as a member; I have the change ready and can share it however you prefer.

Vorherrschende Sprache
Rust
Sterne
1.5k
Forks
127
Ø Merge
16 Std. 45 Min.
Gemergte PRs (30 T.)
12

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus AccessKit/accesskit

Alle Issues in AccessKit/accesskit

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.