Chip: on the web every Chip sets aria-selected on role button
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
- 84/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- react-native, typescript
- Bereich
- accessibility, frontend
Rechercherichtung
Beginne in Chip.tsx, wo laut Issue aria-selected übergeben wird und selected standardmäßig auf false gesetzt ist; vergleiche das Verhalten im Web mit dem nativen Verhalten, bevor du etwas änderst. Prüfe das Chip-Beispiel unter /chip und führe axe-core für die Web-App aus, um zu bestätigen, dass der Verstoß behoben ist und ein ausgewählter Toggle seinen Zustand offenlegt. Fertig, wenn einfache Aktions-Chips keinen Toggle-Zustand angeben und ausgewählte Web-Chips den unterstützten Button-Zustand verwenden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Current behaviour
On the web, every Chip renders <button role="button" aria-selected="true|false"> (Chip.tsx passes aria-selected={selected}, and selected defaults to false). aria-selected is not allowed on role button, so screen readers ignore the selected state, and axe-core reports aria-allowed-attr (critical): "ARIA attribute is not allowed: aria-selected". The example app shows it on the Chip, Card, Floating Action Button, List.Section and Tooltip screens.
Expected behaviour
On the web a Chip used as a toggle exposes its state with aria-pressed, the state role button supports, and only when the app passes selected, so a plain action chip isn't announced as a toggle. Native keeps announcing the selected state as it does today. axe reports no aria-allowed-attr violation.
How to reproduce?
- Run the example app on the web from
main(yarn install, thennpx expo start --webinexample/). - Open the Chip example (
/chip). - Run axe-core on the page (for example with the axe DevTools extension).
Preview
What have you tried so far?
Your Environment
| software | version |
|---|---|
| react-native-paper | main (8cb344b) |
| browser | Chromium 153 |
- Vorherrschende Sprache
- TypeScript
- Sterne
- 14.5k
- Forks
- 2.3k
- Ø Merge
- 2 T. 12 Std.
- Gemergte PRs (30 T.)
- 22
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus callstack/react-native-paper
-
feature request
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
callstack/react-native-paper#5189 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
callstack/react-native-paper#5187 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Accessibility example app good first task
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 86/100
callstack/react-native-paper#5182 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Chip: accessibilityState passed by caller is discarded; aria-checked is never forwarded to the real rendered nodeEvtl. vergeben @bhumikabiyani hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
callstack/react-native-paper#5146 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Tooltip: onPress event object is not propagated to parent component on nativeEvtl. vergeben @aliyilmaztech hat das vor 87 Tagen übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
callstack/react-native-paper#5003 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in callstack/react-native-paper
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
pending close triaging
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
anomalyco/opencode#62582 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
live-codes/livecodes#1079 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add: ESP 2 ROOffenapproved check:passed streams:add
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag