Team guide, Assistive technology testing in a foreign language
When testing with assistive technology it's important to test with content in a language that you can understand and with a language that is supported by the assistive technology.
A language you understand
Make every effort when testing with assistive technology (AT), to test with content in a language you can understand. Even for an experienced AT user, navigating and reading content in a language that isn't understood would be challenging.
Don't be tempted to translate content in the browser, into a language you do understand, for example with Google Translate or by switching the screen reader language, this may affect how the AT interacts with it.
Options for when testing in a language you don't understand:
- Component library - If the language or languages of your product are not ones that you understand, do you have a component library in a language you do understand, can you use that for testing?
- Test content - Can you create some test content in a language you do understand? If doing this, make sure that the test page has the correct language code for the content. Language codes enable assistive technologies to announce content in the correct way, with the correct accent.
- Ask someone who does understand - Ask another team member who does understand the language to test with you.
- Languages you can read - If testing can’t be done in a language you or a team member understands, test with a font you can read even if you can't understand it. For example, if your first language is english, test with a latin font over a script font. If using a screen reader, having the semantics announced in your OS language will also make testing easier. For VoiceOver on iPhone make sure 'Detect languages' is off, go to ‘Settings’, then within the ‘Accessibility’ menu look for ‘VoiceOver’, go to 'Speech' and check 'Detect languages' is toggled off. Note not all screen readers have this level of customisation.
- Languages you can't read - Screen reader caption panels display in text format on screen, what is being announced at any given time. If you can't read the language, at a minimum you will be able to check the text in the caption panel, against what can be seen on screen, and the documented screen reader UX. Note not all screen readers have a caption panel, and some may require you to enable the caption panel. To turn the ‘Caption Panel’ on for VoiceOver on iPhone, within ‘Settings’ go to the ‘Accessibility’ menu, then under 'VoiceOver' look for 'Caption Panel'.
Operating system language
Does my operating system (OS) language need to be in the same foreign language as the content I'm testing? No, this is not necessary, though if you understand the foreign language, and are comfortable changing your OS language, this is the best way to test. This ensures a true user experience in the language.
Depending on the assistive technology, if your OS language is different to the foreign language content you're testing, you may observe the content being announced in the foreign language, and the associated semantics and user instructions being announced in the OS language. This is an acceptable way to test. If content is not announced as expected, validate the bug by testing with the same OS language as the foreign language content you're testing.Back to page contents
AT language support
Some assistive technologies may automatically switch voice for the language being read, some may require specific language selection and / or downloads. Note, not all languages are supported by all assistive technologies.
|Assistive technology||Language support|
|TalkBack||TalkBack language support varies by device|
|VoiceOver on iPhone||Over 30 languages on iPhone|
|Voice Access||Voice Access language support varies by device|
|Voice Control||Voice Control isn't available in all countries or regions. Speak voice commands in the OS language.|
|Assistive technology||Language support|
|ClaroRead or Read&Write||ClaroRead supports 30 languages. A few languages are supported with Read&Write via Google Chrome.|
|ZoomText Magnifier / Reader||Some language support available with different voices for ZoomText|
|JAWS||Jaws supports many languages, depending on the speech synthesizer used. See speech synthesizers for JAWS|
|NVDA||NVDA can read content in any language as long as you have a speech synthesizer that can speak the language. See speech synthesizers for NVDA.|
|VoiceOver on Mac||Over 30 languages on Mac|
|Dragon||Not supported for all languages. Speak voice commands in the OS language.|
Testing in an unsupported language
Testing in an unsupported language is better than not testing at all with assistive technology. While it's not recommended, if there are no other options, this can be done as a best efforts approach.
Consider the following before testing in an unsupported language:
- Component library - If the language or languages of your product are not ones that are unsupported by assistive technologies, do you have a component library in a language that is supported, can you use that for testing?
- Test content - Can you create some test content in a language that is supported? If doing this, make sure that the test page has the correct language code for the content. Language codes enable assistive technologies to announce content in the correct way, with the correct accent.
Examples of things you may observe when testing with a screen reader in an unsupported language:
- The language code being announced alongside content. For example at the time of writing, if using Jaws on a page in the Pidgin language, as this language is not supported by this screen reader, the first time content is encounted on the page, this results in an announcement that includes the language code for Pidgin (PCM), alongside the content and semantics of the element. For example, 'PCM, Sport, Heading level 2'.
- Content not read out at all, or just the semantics and user instructions
- Content read in a different language to that specified
- Test with a language you understand
- If you don't understand the language, is there someone who does understand?
- If testing can’t be done in a language you or a team member understands, test with a font you can read even if you can't understand it
- Always follow the testing steps