Accessibility audit: LanguageSwitcher and LocalePicker

Đang mở
#94 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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

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 help wanted

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.tsx
  • src/registry/components/language-switcher-pill.tsx
  • src/registry/components/locale-picker.tsx
  • The shared use-listbox-navigation hook
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-activedescendant or roving focus, aria-selected)
  • Language names: each option has a lang attribute 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 with vitest-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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của babelize/babelize-elements

Tất cả issue của babelize/babelize-elements

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.