Have you ever noticed announcements like “x-western” or “x-cyrillic” when reading messages in Thunderbird? JAWS and possibly other screen readers that support the detection of language attributes in HTML content may announce this. The reason is that Thunderbird puts the encoding of a message into the “lang” attribute for each paragraph of content.

The problem is: Screen readers such as JAWS usually do not know what to do with these language names. They’re familiar with regular language names such as “en-us” or “de”, but not “x-western” or the like. As a result, the “language” is indicated with its attribute value. JAWS would also do this if you used Eloquence as your speech synthesizer, but encounter a web site that is tagged with lang=da” for the “Danish” language. JAWS would indicate to you that the web site is meant to be in Danish, but that the current speech synthesizer does not support this language. If you used RealSpeak and had the Danish voice installed, that voice would be then switched to, and the Danish text read out in the native tongue.

So what do we do to get rid of these announcements? There are two possibilities:

Turn off language detection for Thunderbird

One possibility is to turn offf the Language Detection feature for Thunderbird alltogether. The steps are rather simple, but you’d lose language switching if you read a blog feed or properly language-tagged HTML message. To turn off Language Detection, in JAWS you would do the following:

  1. Start Thunderbird.
  2. Press INSERT+F2 to bring up the List of Managers.
  3. Chooose the Configuration Manager entry.
  4. Inside Configuration Manager, go to the Set Options menu, then select Text Processing.
  5. Within the Text Processing dialog, tab to the checkbox that says “Detect Languages”, and uncheck it.
  6. Press ENTER to accept the changes, CTRL+S to save the configuration, and ALT+F4 to close Configuration Manager and return to Thunderbird.

See the relevant steps if you’re using a different screen reader and also want to turn off Language Detection.

Make those encoding languages simply use your default synthesizer language

A less drastic, yet a bit more involved method is to introduce those encodings to JAWS by making them simply use the default Eloquence language you’re using.

JAWS stores language mappings in a [ShortName Language Aliases] section in the DEFAULT.JCF configuration file. There, language attributes such as “en-us” are mapped to Eloquence languages such as “American English”. This section can be enhanced or changed in application specific JCF files. To enhance the Thunderbird JCF file with the encodings that you no longer want announced:

  1. In your User Settings directory, locate the Thunderbird.jcf file. If it is not already there, create one using NotePad or your favorite plain text editor. Note: You can go to your JAWS User Settings directory by going to Start Menu, All Programs, JAWS 8.0 (or 7.10 or 9.0), Explore JAWS, Explore My Settings.
  2. In that newly created or existing Thunderbird.jcf file, add the following lines:
    [Eloq Language Aliases]
    x-western=American English
    x-unicode=American English
    x-central-european=American English
    x-cyrillic=American English
  3. Save the file.

Let’s break this down a bit so you know what you just pasted:

  • The [Eloq Language Aliases] section heading tells JAWS that this is a Language Aliases section for Eloq, the short name for the Eloquence synthesizer.
  • To the left of each equals sign is the value that’s being put in the “lang” attribute, and which is not recognized by JAWS by default.
  • To the right of the equals sign is the Eloquence language that is to be used whenever this “lang” attribute value is encountered.

Happy reading!

If you haven’t heard it already, Firefox 3 Beta 2 is now available for download. One immediately noticeable difference from Beta 1 is, if you surf to a page that contains combo boxes, JAWS will no longer read all entries of such combo boxes in the virtual document, but will once again read the selected item only. On pages that contain, say, a combo box to select your country of origin, this is a huge relief.

One known issue is that the AutoComplete list that pops up in the Location bar announces itself to be a “menu” to screen readers. While JAWS 8.0, NVDA on Windows, and Orca on Linux cope well with this, Window-Eyes has problems reading the entries and keeping track of the focus. JAWS 9.0 will even announce the list as being a context menu, causing its automatic highlighting feature to always select the first found entry, making address entry a really cumbersome experience. The same is true in part for the Add Bookmarks dialog, which also announces itself to be a menu when it truly is a panel. For interested parties, we’re working on this issue in this bug report.

JAWS 9.0 also will not read any text in forms mode in Firefox 3. This is something Freedom Scientific must fix in a JAWS update. For this and the above reason, I strongly suggest to use JAWS 8.0 for surfing with Firefox 3 Beta 2.

Other than that, happy surfing! And feedback is always welcome!