Keyboard walk reports complete when focus is trapped

Aperta
#362 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à
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
playwright, typescript
Ambito
accessibility

Direzione di ricerca

Start with cycle detection in src/providers/keyboard-walk/, where a repeated stop currently ends the walk as complete. Then open the real-browser tests /light-trap and /shadow-trap, which assert no findings for this trapped case. Done means a walk that loops back to an earlier stop without reaching the document body ends with a truncation gap, and those tests are updated to expect it. Whether to also add a separate WCAG 2.1.2 check is a design question to settle with maintainers first.

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

Descrizione

area: engine bug

What happens

When keyboard focus is trapped in a group of controls, the keyboard walk ends as complete. It reports no finding and no gap. The controls after the trap are never reached, but the run reads as if the walk covered the page.

Example: a page with a focus trap around two buttons, followed by an "Outside" button. Tab moves between the two trapped buttons only. The walk sees a repeated stop, ends the cycle, and reports complete. "Outside" is never visited.

There is no keyboard trap rule in src.

Expected

A walk that returns to an earlier stop without passing through the document body has not covered the page. At minimum it should end with a truncation gap. A dedicated keyboard trap check (WCAG 2.1.2 No Keyboard Trap) would report it as a barrier.

Where

  • src/providers/keyboard-walk/ (cycle detection)
  • The real-browser tests /light-trap and /shadow-trap currently assert no findings for this case.
Lingua principale
TypeScript
Stelle
0
Fork
0
Merge medio
8h 39m
PR unite (30g)
52

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

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 usabl-dev/usabl

Tutte le issue di usabl-dev/usabl

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.