Foreign language support is still relatively incomplete for screen readers, but here are some things that can be done. Screen readers programmed in a non-English language may be able to switch to English easier than a screen reader designed for a U.S. audience can switch to non-English.
Use Unicode encoding whenever possible.
Use the LANG tag to mark words or passages of text in another language. This works for major languages only.
Consider placing long passages of a non-English text on its own page with language identifier (in English and in the native language) and link to siwtch language page near the top of each page.
Use a textual indication (visual or hidden) to indicate when a foreign language word or passage is coming.
If developing a completely or partially non-English Web page, make
sure it is properly encoded. See the Penn
State Computing with Accents page for more details.
Note: Some screen readers may need plug-ins for some languages like Chinese
and Russian (if available).
For some lesser taught languages such as Swahili or Old Irish, true accessibility can only be accomplished via an audio file because screen readers may not be able to read the words correctly.
In most cases, non-English text (including special characters such as ©, †) should be inserted as is into a document encoded in Unicode. The Penn State Computing with Accents and Symbols page has information about individual languages, accent codes and math symbol codes.
If Unicode support is not feasible, then you can use entity codes such as è for
French è or £ for the British pound sign (£). See the Penn State Computing with Accents Entity Codes page for more information.
The LANG attribute is designed to signal screen readers to switch to another language. It is currently supported by only a few screen readers and only for the major languages, but could be more widely supported in the future.
NOTE: You must also declare the encoding in addition to the language. The language and its script are independent.
The official W3C recommendation is to declare the primary language for each Web page with a <...lang => attribute in the <html> tag. Codes are ISO-639 Language codes.
<html lang="en-US">
...
</html>
<html lang="en-GB">
...
</html>
Screen readers supporting this tag could switch to a British accent.
<html lang="fr">
...
</html>
Screen readers supporting this tag could switch to a French accent.
If you switch languages within one page, you can embed the LANG attribute in other tags such as a P, TD, SPAN, DIV and other tags. For example
This sentence is in default American English.
This sentence will be read with a British accent.
Esta frase es en español. (Spanish)
Cette phrase est en français. (French)
Mae'r frawddeg hon yn cymraeg. (Welsh - Not Supported)
<p> This sentence is in English. </p>
<p lang="en-GB"> This sentence will be read with a British accent </p>
<p lang="es"> Esta frase es en español. </p> (Spanish)
<p lang="fr"> Cette phrase est en français </p> (French)
<p lang="cy"> Mae'r frawddeg hon yn Cymraeg. </p> (Welsh,
not supported) </p>
ISO-639 language codes for languages taught at Penn State. See the Library of Congress and a complete list of ISO-639 Language Codes for more information.
These languages are supported by U.S. Version Homepage Reader 3 and Jaws 5.0:
Screen readers or screen reader plug-ins designed for specific languages may also be available and may provide support for additional language tags, although not all languages may have an available plug-in. Some additional language tags include:
See the Library of Congress Language Code Page for a complete list of codes.
In addition to using the LANG tag, you can also include an indication in the text so that users of older screen readers can manually with languages. This can be done by spelling out the beginning/end of a passage in the text (preferably in an H1,H2 tag or as part of a set of links) or in the alt tag of an invisible graphic.
Translations of U.N. Universal Declaration of Human Rights
Spanish | French ... (Menu provides quick list of where non-English passages are)
Artículo 1
Todos los seres humanos nacen libres e iguales en dignidad
y derechos y, dotados como están de razón y conciencia, deben
comportarse fraternalmente
los unos con los otros.
Begin Spanish Artículo 1
Todos los seres humanos nacen libres e iguales en dignidad y derechos y,
dotados como están de razón y conciencia, deben comportarse fraternalmente
los unos con los otros. End Spanish.
<img src="transpixel.gif" alt="Begin Spanish">
If JAWS is unable to recognize a particular symbol in a document, you can append a Symbol File (.sbl) file which assigns plain text values to a Unicode character. For example the cube root symbol ∛ (Unicode character code number U+221B) can be set as "U+221B = cube root"
Links to information and text files for math and phonetics are at Getting JAWS 6.1 to recognize "exotic" Unicode symbols
Note: This applies to JAWS 6.1 and later.
These links are primarily about accessbility policy in other countries, but there may be technical information provided. Organizations supporting visually impaired persons may also be another path to explore.