AbbrPronunciation
From html4all
Contents |
Providing Proper Pronunciation for Abbreviated Forms
Pronunciation rules for the ennunciation of abbreviated forms should be controlled by aural stylesheets, including specific instructions to assistive technologies as to how to pronounce an acronym or expansion. However, there remains a need to provide some sort of pronunciation guidance for those not using speech-output, without abusing the "title" attribute.
CSS2 and CSS 2.1
Using CSS 2.0 or CSS 2.1, one can use Aural Style Sheets to force an aural CSS-aware screen reader into either speaking an abbreviated form as a word or force it to spell out the abbreviated form, using the speaking properties property.
According to Section 19 of CSS2:
This property specifies whether text will be rendered aurally and if so, in what manner (somewhat analogous to the 'display' property). The possible values are:
- none
- Suppresses aural rendering so that the element requires no time to render. Note, however, that descendants may override this value and will be spoken. (To be sure to suppress rendering of an element and its descendants, use the 'display' property).
- normal
- Uses language-dependent pronunciation rules for rendering an element and its children.
- spell-out
- Spells the text one letter at a time (useful for acronyms and abbreviations).
For example:
<ACRONYM title="North Atlantic Treaty Organization" style="speak:spell-out;">NATO</ACRONYM>
CSS3 Speech
If a document has CSS3 speech properties applied to it, one can control:
- speak (this is backwards compatible with CSS2/CSS2.1)
- phonetic properties: phonemes, @phonetic-alphabet, and content
To exercise coarse-grained control of an abbreviated form, one would use the speak properties of the CSS 3 Speech Module. Note that in CSS3-Speech, the speak
property is more robust than that defined for either CSS 2.0 or CSS 2.1
This property specifies whether text will be rendered aurally and if so, in what manner. The possible values are:
- none
- Suppresses aural rendering so that the element requires no time to render. Note, however, that descendants may override this value and will be spoken. (To be sure to suppress rendering of an element and its descendants, use the display property).
- normal
- Uses language-dependent pronunciation rules for rendering an element and its children. Punctuation is not to be spoken, but instead rendered naturally as various pauses.
- spell-out
- Spells the text one letter at a time (useful for acronyms and abbreviations). In languages where accented characters are rare, it is permitted to drop accents in favor of alternative unaccented spellings. As as example, in English, the word "rôle" can also be written as "role". A conforming implementation would thus be able to spell-out "rôle" as "R O L E".
- digits
- Speak numbers one digit at a time, for instance, "twelve" would be spoken as "one two", and "31" as "three one".
- literal-punctuation
- Similar to 'normal' value, but punctuation such as semicolons, braces, and so on are to be spoken literally.
- no-punctuation
- Similar to 'normal' value but punctuation is not to be spoken nor rendered as various pauses.
To fine-tune control proper pronunciation of an abbreviated form, one would use the CSS3 Speech Module's phonemetic properties, the default alphabet for which is comprised of the unicode values for the International Phonetic Alphabet (IPA).
FireVox, a self-voicing extension for FireFox, recognizes a aub-set of the CSS3 Speech module's properties. Broader support for CSS3 Speech properties can also be tested/utilized when using the XHTML+Voice extension for the Opera browser.
Providing Pronunciation Guides for non-Speech Users
Pronunciation guides should not be media type specific, applying to speech-output only, but must also provide some guidance those for whom the document's natural language is a secondary or tertiary language. One suggestion as to how to address this is the proposed "expressed-as" attributes for a single abbreviation element.
- expressed-as="characters" (originally, expressed-as="letters")
- expressed-as="word"
- expressed-as="phrase"
Another important consideration is the use of ABBR
to provide an expansion for such "common" abbreviations -- as etc. (e t c period), ibid, or e.g. -- for those for whom the "common" abbreviations have nothing in common with their first, second or tertiary natural language, as well as for those who have never encountered Latinisms in their study of English. To mark up "etc." for example, one wouldn't include the lang="la"
attribute, as etc. is an accepted part of the natural language "en"; moreover expanding "etc." to "et cetera" doesn't really help -- the correct expansion for etc. is "and so on", for ibid "in the same place", for i.e., "that is", for e.g. "for example", and so on. Thus, non-native speakers of a declared natural language can use a querying mechanism -- such as OnMouseOver, in which case the expansion could be rendered in a ToolTip or in a status line message, or via a context menu invoked via the keyboard or by a status line expansion of the term when it is "selected" (as if for copying) -- when that user encounters unfamiliar or synonymic abbreviations. Thus, ABBR
this isn't just an aural rendering mechanism, but an overall contextualizing mechanism.