AppPrimaryButton: Fokus-Semantik geht verloren (Web/Screenreader) #61
Labels
No labels
epic/katalog
epic/konto
epic/partien
epic/querschnitt
epic/sammlung
needs-clarification
prio/could
prio/must
prio/should
size/l
size/m
size/s
size/xl
status/in-progress
status/ready-for-merge
status/spec-review
type/bug
type/epic
type/story
type/tech
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: cschlaefke/Shuffle#61
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
Im Review von PR A zu #49 aufgefallen (vorbestehend, nicht durch #49 verursacht):
app/lib/core/widgets/app_primary_button.dart:66-70umschließt denFilledButtonmitSemantics(button: true, …, excludeSemantics: true). Dadurch verwirft es die Fokus-Flags des Buttons (focusable/focused), und sie werden nicht neu gesetzt.Messung im Flutter-Web-Build (Playwright-Probe):
flt-semantics role=button tabindex=0), der primäre Button „Sign in“ nie: Das Element hat keintabindex.AppPrimaryButtonnutzen (QUE-06 Kriterium 4, Tastaturbedienung/Fokus).Vorschlag
AppPrimaryButtonkorrigieren: entwederfocusable: enabledundfocusedaus einemFocusNodesetzen, oderexcludeSemanticsentfernen, so dass die Button-Semantik desFilledButtonerhalten bleibt.isSemantics(isFocusable: true)auf dem Knopf.e2e/tests/web/krit49-anmeldung-einstieg.spec.tsauch für „Sign in“toBeFocusedprüfen.Nicht geprüft
Echter Screenreader (VoiceOver/TalkBack/NVDA), iOS/Android.
Refs #49, QUE-06