# Using HTML language attributes to specify language in Flash content

ID: FLASH13

Technology: flash

Type: Technique

## When to Use

- Adobe Flash Professional version MX and higher
- Adobe Flex

## Description

The objective of this technique is to identify the default language of the Flash content by providing the lang and/or xml:lang attribute on the HTML or object elements for the page containing the Flash. The embedded Flash content will inherit the language specified. If the entire web page uses the same language, the lang and/or xml:lang attribute can be placed on the page's HTML element, as described in H57: Using language attributes on the html element.

Since Flash inherits the language from the HTML or object element, all text within the Flash content is expected to be in that inherited language. This means that it is possible to have a Flash object in the French language on a page that is primarily in another language, or to have a page with multiple Flash objects, each in a different language. It is not possible, however, to indicate changes in the human language of content within a single Flash object using this technique.

## Examples

### Using the language of the page as whole in the embedded Flash

This example defined the content of the entire web page to be in the French language. The Flash content will inherit the specified language from the HTML container.

    <?xml version="1.0" encoding="UTF-8"?>
    <html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <meta content="text/html; charset=iso-8859-1"
          http-equiv="Content-Type"/>
        <title>Flash Languages Examples - French</title>
        <script src="swfobject.js" type="text/javascript"/>
        <script type="text/javascript">
        swfobject.registerObject("myMovie", "9.0.115", "expressInstall.swf");
    </script>
      </head>
      <body>
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
          height="420" id="myMovie" width="780">
          <param name="movie" value="myMovie.swf"/>
          <!--[if !IE]>-->
          <object data="languages.swf" height="420"
            type="application/x-shockwave-flash" width="780">
            <!--<![endif]-->
            <!--[if !IE]>-->
          </object>
          <!--<![endif]-->
        </object>
      </body>
    </html>

This is demonstrated in the working example of Using the language of the page as whole in the embedded Flash. The source of Using the language of the page as whole in the embedded Flash is available.

### Applying a language just to the embedded Flash

This example defines the content of a Flash movie to be in the French language. The Flash movie is embedded using SWFObject's static publishing method. This means that there are two nested object elements, the outer to target Internet Explorer, the Inner to target other browsers. For this reason the lang and xml:lang attributes must be added twice.

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
      height="420" id="myMovie" lang="fr" width="780" xml:lang="fr">
      <param name="movie" value="myMovie.swf"/>
      <!--[if !IE]>-->
      <object data="languages.swf" height="420" lang="fr"
        type="application/x-shockwave-flash" width="780" xml:lang="fr">
        <!--<![endif]-->
        <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

## Tests

### Procedure

1. Examine the html element and the object element of the HTML document containing the reference to the SWF.
2. Check that the human language of the Flash content is the same as the inherited language for the object element as specified in HTML 4.01, Inheritance of language codes
3. Check that the value of the lang attribute conforms to BCP 47: Tags for the Identification of Languages or its successor and reflects the primary language used by the Flash content.
4. Check that no changes in human language occur within the Flash content

### Expected Results

- For Success Criterion 3.1.1: Checks 1-3 are all true.
- For Success Criterion 3.1.2: Checks 1-4 are all true.

## Related Techniques

- H57
- H58

## Resources

- BCP 47: Tags for the Identification of Languages
- Inheritance of language codes