-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Description
While testing the language selector on nodejs.org with Windows Narrator, I identified an accessibility issue affecting multilingual announcements.
When navigating the language dropdown on the English page (<html lang="en">), some language options (e.g., Japanese, Korean, Chinese, Tamil, Uzbek) are not properly announced by Narrator.
Instead of reading the visible label (e.g., 日本語, 한국어, 中文, தமிழ், O‘zbekcha), Narrator only announces positional information such as “5 of 14”. The actual language name is not spoken.
This makes it impossible for screen reader users to determine which language they are selecting.
Root cause
Because the page is lang="en", Narrator attempts to interpret the Japanese text using English pronunciation rules. This can result in Incorrect pronunciation Or the text not being announced at all. Only positional information being spoken.
Expected Behavior
Each option should be fully announced, for example: “Japanese, 5 of 14”, “Korean, 6 of 14”. Screen reader users must be able to identify which language they are selecting.
Fix
Add appropriate lang attributes to each language option.
Ref WCAG 2.2 – Success Criterion 3.1.2 (Language of Parts)
URL:
Browser Name:
Chrome
Browser Version:
latest
Operating System:
windows 11
Note
Additional Testing Welcome
I tested this issue using Windows Narrator on Windows. Testing and confirmation on other platforms and screen readers would be very helpful, including macOS (VoiceOver), Android (TalkBack), NVDA.
If others can reproduce or provide additional findings across platforms, that would help validate the > fix and ensure consistent multilingual accessibility
If maintainers agree with this approach, I would be happy to work on a fix.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status