Accessibility audit: LanguageSwitcher and LocalePicker
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Feature
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- playwright, react, tailwindcss, typescript
- Bereich
- accessibility, frontend, testing
Rechercherichtung
Start with src/registry/components/language-switcher.tsx, language-switcher-pill.tsx, locale-picker.tsx, and the shared use-listbox-navigation hook; review the component docs and CONTRIBUTING.md for project conventions. Check keyboard and screen reader behavior, ARIA states, locale pronunciation, focus visibility, and contrast, then add keyboard interaction and axe checks in test/. Done means reporting findings with reproduction steps, fixing the issues, and documenting component limitations.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Accessibility audit: LanguageSwitcher and LocalePicker
The language switchers and the locale picker are often the first thing someone using a keyboard or a screen reader touches to make a site usable in their language. They should work flawlessly without a mouse.
Scope
src/registry/components/language-switcher.tsxsrc/registry/components/language-switcher-pill.tsxsrc/registry/components/locale-picker.tsx- The shared
use-listbox-navigationhook
What to check
- Keyboard: open/close with Enter, Space and Escape; arrow keys, Home/End and type-ahead in the list; focus returns to the trigger on close; nothing traps focus
- Screen readers (VoiceOver and NVDA if you can): the trigger announces the current language and that it opens a list; options announce their name, and the selected one is marked; search results changes are announced
- ARIA: correct roles and states for the pattern used (
combobox/listbox/option,aria-expanded,aria-activedescendantor roving focus,aria-selected) - Language names: each option has a
langattribute matching its locale, so screen readers pronounce "Deutsch" in German - Visuals: visible focus ring in light and dark themes; text contrast meets WCAG 2.2 AA
Deliverables
- A short report as a comment on this issue: what works, what doesn't, with steps to reproduce
- Fixes in one or more PRs (small focused PRs are easier to review)
- Automated checks in
test/: keyboard interaction tests, and an axe check (for example withvitest-axe) for each component - Note any limitations in each component's docs page
Good for contributors who know accessibility well, even without building a component from scratch.
See CONTRIBUTING.md.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 39
- Forks
- 16
- Ø Merge
- 15 Std. 26 Min.
- Gemergte PRs (30 T.)
- 42
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 babelize/babelize-elements
-
component help wanted
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
babelize/babelize-elements#93 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Component: Relative TimeOffencomponent date-time good first issue
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
babelize/babelize-elements#92 ·
Maintainer antworten meist innerhalb von 1 Tag
-
component date-time good first issue
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
babelize/babelize-elements#91 ·
Maintainer antworten meist innerhalb von 1 Tag
-
component good first issue language-switcher
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 56/100
babelize/babelize-elements#90 ·
Maintainer antworten meist innerhalb von 1 Tag
-
component enhancement help wanted
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
babelize/babelize-elements#47 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in babelize/babelize-elements
Ähnliche Issues
-
JSDelivr CDN is brokenOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
🐛 bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
LibreChat-AI/LibreChat#17875 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
category:helper tech-debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
LanternOps/breeze#11285 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: core area: docs good first issue help wanted lane: free-agent priority: P3 roadmap size: XS type: task
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
arminazimi/seaworthy#701 ·
Maintainer antworten meist innerhalb von 1 Tag