Summary
Setting the language ensures that assistive technologies correctly interpret and render the text.
Techniques
-
Set the
langandxml:langattributes on the roothtmlelement. [[WCAG-3.1.1]] -
Set the
langandxml:langattributes whenever the default language changes. [[WCAG-3.1.2]] -
Ensure language codes conform to BCP 47. [[WCAG-3.1.1]]
Examples
The lang and xml:lang attributes are set on the html
element to declare the language for the page.
<html … lang="en" xml:lang="en">
The lang and xml:lang attributes are used on span elements
within the body to change the language from English to French.
<html … lang="en" xml:lang="en">
…
<body>
…
<p>
Harsh gargoyle face that warred against me
over our mess of hash of lights in
<span xml:lang="fr" lang="fr">rue
Saint-André-des-Arts</span>. In words of
words for words, palabras. Oisin with
Patrick. Faunman he met in Clamart woods,
brandishing a winebottle.
<i xml:lang="fr" lang="fr">C'est
vendredi saint!</i> Murthering Irish.
His image, wandering, he met. I mine. I
met a fool i'the forest.
</p>
…
</body>
</html>
Frequently Asked Questions
- Is it necessary to specify a default language in content files?
The default language(s) for the publication are formally defined in the package document, but that information is not used when rendering the content. To ensure the proper language for braille rendering or TTS playback, the language must be set in each document.
- Is it necessary to specify both the
langandxml:langattributes? For optimal accessibility both should be specified when creating XHTML content. Assistive technologies may only recognize one or the other attribute.
In addition, if XHTML documents are rendered as HTML by a user agent, only the
langattribute may be recognized.The
xml:langattribute is not valid in HTML documents, only in XHTML.
Explanation
Specifying a document's default language — as well as any changes within the document, such as instances of foreign language terms or dialogue or passages in another language — helps ensure that assistive technologies can correctly render the text (e.g., that the correct braille characters are presented, or a voice capable of rendering the language gets used).
To define the default language of a document, the lang and xml:lang
language attributes need to be attached to the root html element. The language code defined
in these attributes should match one of the language codes specified in a dc:language
element in the package document's metadata section (see the faq for more
information).
When attached to elements within the body, the language attributes identify the language of the text content of that element (i.e., to identify a change in language).