Accessibility audit: LanguageSwitcher and LocalePicker
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- playwright, react, tailwindcss, typescript
- Lĩnh vực
- accessibility, frontend, testing
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- TypeScript
- Star
- 39
- Fork
- 16
- Merge trung bình
- 18 giờ 14 phút
- Pull request đã merge (30 ngày)
- 35
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của babelize/babelize-elements
-
component help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
babelize/babelize-elements#93 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Component: Relative TimeĐang mởcomponent date-time good first issue
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
babelize/babelize-elements#92 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Component: Timezone PickerĐang mởcomponent date-time good first issue
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
babelize/babelize-elements#91 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
component good first issue language-switcher
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
babelize/babelize-elements#90 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
component enhancement help wanted
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
babelize/babelize-elements#47 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của babelize/babelize-elements
Issue tương tự
-
test: claim-conflict drop leaves both facts active and is never re-proposed (untested review cell)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature]: Usage page should show API-equivalent cost and say when a connected plan shows info onlyĐang mởenhancement from-x
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
nightly-labs/openbot#4867 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
egonSchiele/agency-lang#1377 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
normalizePath removes the Windows device namespace prefixCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
caprover/caprover-frontend#273 ·
Maintainer thường phản hồi trong vòng 1 ngày