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.
Speech-accessible HTML – https://t.co/hlh5dxFv30 In inaccessible PDF, rather ironically. — Jared Smith (@jared_w_smith) October 10, 2013
Unsafe guidance
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]
Guidance notes:
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 a
element.
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).
Guidance notes:
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 alt
attribute.
Refer to the following for detailed guidance:
- 4.8.1.1.3 A link or button containing nothing but an image
- 4.8.1.1.12 A group of images that form a single larger picture with links
- 4.8.1.1.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.
Guidance notes:
The 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 type=image
.
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.
Guidance notes:
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.
Conclusion
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.