Notes on Guidelines For Speech accessible HTML for Dragon NaturallySpeaking
In a recent tweet Jared Smith linked to Guidelines For Speech accessible HTML for Dragon NaturallySpeaking (PDF) A ‘White Paper’ published in 2009 by Nuance containing ‘guidance’ on how to code HTML to support users of its product. Note that I could not find a link to this document from the Nuance web site and that I could not find a link to more recent guidance on this subject from Nuance.
Unfortunately the cited document contains inaccuracies that contradict the web standards for HTML and accessibility and do not correspond to interoperable implementations of accessibility support in browsers. Examples of the problematic guidance are detailed below:
Nuance guidance on the a element
anchor elements (<a>…</a>)
Text links (anchor elements) naturally provide the text that should be spoken for speech access, and therefore require no specification beyond the guidelines above. If for some reason an anchor element has no text, Dragon NaturallySpeaking uses its ALT text [emphasis mine]
The alt attribute is not a conforming attribute for the a element in HTML. i.e. it throws an error when validating the HTML document code. More importantly it is not used in calculating the accessible name (label) for the
a element. What this means is that the
alt attribute in this case will not be exposed to assistive technology via the agreed standard methods for identifying an accessible name for an HTML
Nuance advice on images used as the sole content of a link
Two general approaches can be taken to associate text with an image link. First, you can assign ALT or TITLE attributes [emphasis mine] containing the text that corresponds to the image (or to each individual area of an image map).
Any image (including one that is the sole content of a link) MUST have an
alt attribute that provides an appropriate text alternative. The
title attribute MUST NOT be used as an alternative to the
alt attribute. The same applies to an
area element, it MUST have an
Refer to the following for detailed guidance:
- 220.127.116.11.3 A link or button containing nothing but an image
- 18.104.22.168.12 A group of images that form a single larger picture with links
- 22.214.171.124.17 Icon Images
Nuance advice on button labels
Buttons (<input type=”submit | button” | reset | image”>)
Dragon uses the button’s caption (the VALUE attribute) as the spoken text, as well as ALT or TITLE attributes if any.
alt attribute is ONLY valid on
input type=image, it is not valid on
submit, button or
reset. More importantly the
alt attribute is only used as the accessible name for an
input when it is
Nuance advice on edit controls
edit Controls (text entry Fields) (<input type=”text | password”>)
While Dragon provides commands such as “click text field” to navigate to text fields, it is preferable to be able to reach each field directly by speaking. These elements have NAME attributes that can be used as the spoken text. Although these elements do not typically have ALT [emphasis mine] or TITLE attributes, you can include those attributes as well. Using the ALT [emphasis mine] or TITLE attribute may be preferable in software-generated HTML, which often assigns unpronounceable, programmatic NAME values that cannot be easily changed without breaking the functionality of the document.
The name attribute is not designed to be used as a human readable label for ANY element. It IS NOT used in the accessible name calculation for any element. The
alt attribute is not valid or used in the accessible name calculation for
input elements other than
type=image. Use of the
title attribute to provide an accessible label for a control is only recommended under very particular circumstances due to its inaccessible and unusable implementation in most browsers and operating systems.
The document ‘Guidelines For Speech accessible HTML for Dragon NaturallySpeaking’ includes poor guidance for HTML developers that contradicts web standards and may lead to less accessible content. As such it should not be used or cited as a credible resource.