# User Agent Support Notes for HTML and XHTML Techniques

This page documents user agent support notes for HTML and XHTML Techniques.

## H24: Providing text alternatives for the area elements of image maps

The HTML 4.01 specification explains that the text of the `alt` attribute is to be displayed when the element cannot be rendered normally. User Agents will display the `alt` attribute text when images are not displayed. However, currently, visual User Agents do not display the `alt` attribute text for area elements of image maps when accessed by keyboard or when images are not displayed, and may clip the area elements if the intrinsic size of the image is not used. In addition, the display of `alt` attribute text in response to mouse-hover does not display in the font size or color combination set in the User Agent.

The `title` attribute is meant to provide additional information. However, current implementation in User Agents is access to either the title or `alt` attribute, but not both. User Agents generally will display the `title` attribute text when the mouse is placed over the element containing the `title` attribute.

Therefore, when using image maps, successful implementation of this technique would require either:

- Ensuring the area element `alt` attribute value is displayed in response to attaining focus (including keyboard focus), and that this applies both to situations where images are loaded and not loaded. OR

- A redundant mechanism serving the same purpose as the area elements is present in the Web Page.

## H27: Providing text and non-text alternatives for object

This technique is not supported well by assistive technologies and cross-browser support is irregular.

## H28: Providing definitions for abbreviations by using the abbr and acronym elements

- Assistive technologies provide different levels of support for speaking abbreviations and acronyms, often dependent upon specific customization settings.

- This technique is only sufficient if the `abbr` or `acronym` element's `title` attribute is accessibility supported. The content of the `title` attribute needs to be available to all keyboard users (not only those with text-to-speech software) for this attribute to be accessibility supported.

- JAWS 6.2 and higher and WindowEyes 5.0 and higher support the abbr and acronym elements. They can all be set to speak the title attribute when these elements are encountered, but this is not the default setting and is often not turned on by users.

- Many graphical user agents render text enclosed within an `abbr` or `acronym` element with a dotted line below or surrounding it. In addition, when the mouse hovers over the element, the expansion is displayed as a tool tip.

- In Internet Explorer 7 and below, items marked using the `abbr` element are not displayed with any additional formatting. For IE 6 and below, the expanded version does not display as a tooltip when the mouse hovers over the item.

- Within a given user agent or assistive technology, `abbr` and `acronym` elements are presented to users in the same way.

## H33: Supplementing link text with the title attribute

- Current user agents and assistive technology provide no feedback to the user when links have `title` attribute content available.

- Some graphical user agents will display a tool tip when the mouse hovers above an anchor element containing a `title` attribute. However, current user agents do not provide access to `title` attribute content via the keyboard.

- The tool tip in some common user agents disappears after a short period of time (approximately 5 seconds). This can cause difficulty accessing `title` attribute content for those users who can use a mouse but have fine motor skill impairment, and may result in difficulties for users who need more time to read the tool tip.

- Current graphical user agents do not provide mechanisms to control the presentation of `title` attribute content. The user cannot resize the tool tip text or control the foreground and background colors. The placement and location of the tool tip cannot be controlled by users, causing some screen magnifier users to be unable to access meaningful portions of the `title` attribute content because the tool tip cannot be fully displayed within the viewport.

- Some user agents allow access to supplementary information through the context menu. For example, the keystroke combination Shift+F10 followed by P will display the `title` attribute content, along with other supplementary information in Mozilla/Firefox.

- The HTML 4.01 specification explains that the text of the `alt` attribute is to be displayed when the element cannot be rendered normally. Thus, visual User Agents will display the `alt` attribute text when images are not displayed. The `title` attribute is meant to provide additional information. User Agents generally will display the `title` attribute text when the mouse is placed over the element containing the `title` attribute. Internet Explorer will display the `alt` text on mouse-over if there is no `title` text. The Firefox and Opera browsers only display the `title` text on mouse-over and do not use the `alt` attribute text for this purpose.

- Assistive technologies provide different levels of support for speaking title attributes. Some do not include features that allow users to access information provided via the title attribute.

- JAWS 7.0 and above will speak the value of title attributes depending upon a JAWS setting. This setting can be changed temporarily or permanently within JAWS.

- WindowEyes 5.5 and above has a hot key, ins-E, that will speak additional information, including the title attribute, for the item with focus.

- Implementing this technique with the `title` attribute is only sufficient if the `title` attribute is accessibility supported. If the value of the `title` is essential to understanding the purpose of the link for all users, then the content of this attribute needs to be available to all keyboard users (not only those with text-to-speech software) for this technique to be accessibility supported.

## H35: Providing text alternatives on applet elements

- This technique is not supported well by assistive technologies. The HTML specification explains that text alternatives for applets are to be displayed when the element cannot be rendered. Therefore, text alternatives that are included in the body of `applet` elements may not be available to users unless the user agent either does not support or has been configured not to render applets.

- IE 6 for Windows and Firefox 1.5 and Opera 9 on Windows treat alternative text for the applet element differently. IE will display the body text of the applet element and not the `alt` attribute. Firefox and Opera will display the `alt` attribute but not the body text.

## H44: Using label elements to associate text labels with form controls

The HTML and XHTML specifications allow both implicit and explicit labels. However, some assistive technologies do not correctly handle implicit labels (for example, `<label>First name <input type="text" name="firstname"></label>`).

- JAWS 7.10 was tested on Windows XP with Internet Explorer 6.0 and Firefox 1.5. It reads the label for explicit and implicit labels for text fields in both virtual PC cursor and forms reading mode. In forms mode it does not read the label for implicit labels on checkboxes and radio fields.

- Window-Eyes 5.5 was tested on Windows XP with Internet Explorer 6.0 and Firefox 1.5. It will always speak the label for an explicitly labelled form field. It does not speak the label for the implicitly labelled form control in browse on mode but will speak the implicit label when navigating from control to control in browse off mode.

User agents will display a tool tip when the mouse hovers above an `input` element containing a `title` attribute. Title attributes are exposed to assistive technology and are displayed as tooltips in many graphical browsers. Tooltips can't be opened via the keyboard, so this information may not be available to sighted keyboard users.

If no `label` is available, JAWS and Window-Eyes speak the `title` attribute when the form control receives focus

- JAWS 6.0 and later can be set to speak both `label` and `title` when the two items are different; however, very few users are aware of this setting.

- WindowEyes 5.5 has a hot key, ins-E, that will display additional information, including the title attribute, for the item with focus.

## H45: Using longdesc

User Agent support for `longdesc` varies, but overall support is improving. Screen readers such as JAWS, NVDA, and Window-Eyes support `longdesc`, but Voiceover 4.0, Orca 2.32.0, and screen magnifier Zoomtext 10.0 do not yet support the `longdesc` attribute. Browsers including Internet Explorer, Firefox, Opera, and Chrome all support longdesc.

## H46: Using noembed with embed

Note: Although `embed` is widely supported in user agents - it is not a valid part of HTML or XHTML.

## H48: Using ol, ul and dl for lists or groups of links

Assistive technologies include inconsistent support for various uses of the `type` attribute used to indicate numbering and bullet styles.

## H49: Using semantic markup to mark emphasized or special text

- Some semantic elements are not supported well by assistive technologies. Elements and attributes that are known to have limited support include `code`, `del`, `dfn`, `ins`, `kbd`, `s`, `sub`, `sup`, `tt`, and `q`. For these elements, authors are encouraged to consider whether they are using them in a way that would require users to be able to access the semantic meaning of the markup in order to understand the content and, where understanding the semantics is required, to provide this information in text.

- Most screen readers do not provide automatic notification about `em`, `strong`, `b`, or `i`.

- JAWS contains support for `blockquote` and `cite`. WindowEyes contains support for `blockquote`, `q` and `cite`.

- Firefox 1.0 (Windows) and higher, Opera 7.54 (Windows) and higher, Mozilla 1.7.3 (Windows) and higher automatically generate quotes around `q` elements, but Internet Explorer 6 for Windows does not.

## H53: Using the body of the object element

This technique is not supported well by assistive technologies and cross-browser support is irregular.

## H57: Using language attributes on the html element

Additional subtags for region, script, variant or other aspects may lead to errors in language switching in older versions of some screenreaders.

JAWS 8.0 can be configured to change language automatically on the basis of the lang attribute. However, it only switches amongst major languages as indicated by the primary code. If a regional language variant is indicated with a language subcode, JAWS will use the default variant for which it is configured.

## H58: Using language attributes to identify changes in the human language

Additional subtags for region, script, variant or other aspects may lead to errors in language switching in older versions of some screenreaders.

JAWS 8.0 can be configured to change language automatically on the basis of the lang attribute. However, it only switches amongst major languages as indicated by the primary code. If a regional language variant is indicated with a language subcode, JAWS will use the default variant for which it is configured.

## H60: Using the link element to link to a glossary

Some user agents provide an optional navigation bar which will display the information specified in the `link` element. Current versions of the Mozilla and Opera browsers provide this functionality. IE 6.0 and Firefox 1.5 do not offer this feature but it may be available through extensions or add-ons. See The 'link'-Element in (X)HTML for more information on browser support for the `link` element.

## H62: Using the ruby element

Ruby markup includes the `rp` element as a fallback mechanism for user agents that do not support XHTML 1.1. Although ruby markup is only defined in XHTML 1.1, IE 5.0 and later supports the `ruby`, `rt`, and `rp` elements even if they are used in HTML 4.01 or XHTML 1.0.

## H63: Using the scope attribute to associate header cells and data cells in data tables

The `row` and `col` values of the `scope` attribute are currently supported to a large extent by most current versions of JAWS. However, there are still some problems and WindowEyes support for `scope` is inconsistent. The same is true for Japanese versions of these screen readers. Versions of JAWS prior to version 5 and older versions of Window-Eyes have inconsistent support for `scope`.

At the current time, those who want to ensure consistent support across Assistive Technologies for tables where the headers are not in the first row/column may want to use the technique for complex tables H43: Using id and headers attributes to associate data cells with header cells in data tables. For simple tables that have headers in the first column or row we recommend the use of the `th` and `td` elements.

## H64: Using the title attribute of the frame and iframe elements

The use of the `longdesc` attribute in HTML 4 on `frame` and `iframe` elements to specify a link to a long description of a frame is not supported well by assistive technologies. The use of `title` as described in this technique is recommended instead.

## H65: Using the title attribute to identify form controls when the label element cannot be used

- User agents will display a tool tip when the mouse hovers above an `input` element containing a `title` attribute.

- If no `label` is available, JAWS and Window-Eyes speak the `title` attribute when the form control receives focus

  - JAWS 6.0 and later can be set to speak both `label` and `title` when the two items are different; however, very few users are aware of this setting.

  - WindowEyes 5.5 has a hot key, ins-E, that will display additional information, including the title attribute, for the item with focus.

## H69: Providing heading elements at the beginning of each section of content

Most screen readers provide navigation via headings and provide information about the level of the heading. The Opera browser provides a mechanism to navigate by headings. Additional plugins support navigation by headings in other user agents. See the Resources section for references to some of these plugins.

Editorial Note: There is an action to update user agent notes, but not yet a precise edit.

## H78: Identifying the purpose of a link using link text combined with its enclosing paragraph

JAWS 5.0 and later includes the following keystrokes:

- alt+leftArrow: read previous sentence

- alt+rightArrow: read next sentence

- alt+NumPad 5: read current sentence

- Ctrl+NumPad5: read current paragraph

If alt+numPad5 is pressed when a link has focus, the sentence is read without changing the focus.

If Ctrl+NumPad 5 is pressed when the link has focus, the entire paragraph is read without changing the focus.

Window-Eyes 5.5 has hotkeys to read the current sentence and current paragraph.

To surf the internet with WindowEyes you must be in browse mode. Current sentence and current paragraph hot keys do not work in browse mode in version 6.1.

The factory default settings for reading surrounding link context are as follows:

Desktop settings:

- Character = CTRL-NUMPAD-LEFT ARROW

- Word = CTRL-NUMPAD-RIGHT ARROW

- Line = CTRL-NUMPAD-CENTER

- Sentence = Not available in Browse mode

- (Next Sentence command is undefined by default on Desktop mode but the next line is the DOWN Arrow.)

- Next Paragraph = P

- Prior Paragraph = Shift P

- Current Paragraph = Not Available in Browse mode

Laptop

- Character = ALT-SHIFT-LESS THAN

- Word Prior = ALT-SHIFT-J

- Word = ALT-SHIFT-K

- Word Next = ALT-SHIFT-L

- Sentence Prior = ALT-SHIFT-7

- Sentence = unavailable in browse mode

- Sentence Next = unavailable in browse mode

- Paragraph = Undefined on Laptop by default

- Line Prior = ALT-SHIFT-U

- Line = ALT-SHIFT-I

- Line Next = ALT-SHIFT-O

The "speak parent element" command in Fire Vox (Ctrl+Shift+u) works without changing the focus. Fire Vox is a free screen reader designed specifically for Firefox 1.0 and later. It supports Windows, Macintosh, and Linux.

## H80: Identifying the purpose of a link using link text combined with the preceding heading element

The command to take advantage of this technique in JAWS is "JAWS KEY + T".

## H81: Identifying the purpose of a link in a nested list using link text combined with the parent list item under which the list is nested

Although the context information is programmatically associated with the link, assistive technology lacks commands for reading the parent list item without moving focus away from the link.

## H85: Using OPTGROUP to group OPTION elements inside a SELECT

The `optgroup` element is not widely supported by many screen readers including JAWS 11 and below or Window-Eyes 6 and below.

The `label` attribute for `option` and `optgroup` is supported inconsistently across user agents and is not widely supported by screen readers including JAWS 11 and below and Window-Eyes 6 and below.

## H86: Providing text alternatives for ASCII art, emoticons, and leetspeak

- Assistive technologies provide different levels of support for speaking title attributes. Some do not include features that allow users to access information provided via the title attribute.

- Implementing this technique with the `title` attribute is only sufficient if the `title` attribute is accessibility supported. The content of the `title` attribute needs to be available to all keyboard users (not only those with text-to-speech software) for this attribute to be accessibility supported.

- JAWS 6.2 and higher and WindowEyes 5.0 and higher support the abbr and acronym elements. They can all be set to speak the title attribute when these elements are encountered, but this is not the default setting and is often not turned on by users.

- Many graphical user agents render text enclosed within an `abbr` or `acronym` element with a dotted line below or surrounding it. In addition, when the mouse hovers over the element, the expansion is displayed as a tool tip.

- In Internet Explorer 7 and below, items marked using the `abbr` element are not displayed with any additional formatting. For IE 6 and below, the expanded version does not display as a tooltip when the mouse hovers over the item.

- Within a given user agent or assistive technology, `abbr` and `acronym` elements are presented to users in the same way.

## H89: Using the title attribute to provide context-sensitive help

- Some current assistive technology provide feedback to the user when form fields have title attribute content available.

- Some graphical user agents will display a tool tip when the mouse hovers above a form field containing a `title` attribute. However, current user agents do not provide access to the `title` attribute content via the keyboard.

- The tool tip in some common user agents disappears after a short period of time (approximately 5 seconds). This can cause difficulty accessing title attribute content for those users who can use a mouse but have fine motor skill impairment, and may result in difficulties for users who need more time to read the tool tip.

- It is difficult for most users to resize, adjust background colors, reposition or otherwise control the presentation of title attribute content in many current user agents.

- This technique can only be used when the element has an explicitly associated label. In the absence of a label, the title will be used as the Name in the accessibility API of current user agents that support one. The help text described below makes a poor name.

## H90: Indicating required form controls using label or legend

The HTML and XHTML specifications allow both implicit and explicit labels. However, some assistive technologies do not correctly handle implicit labels (for example, `<label>First name <input type="text" name="firstname"></label>`).

- JAWS 7.10 was tested on Windows XP with Internet Explorer 6.0 and Firefox 1.5. It reads the label for explicit and implicit labels for text fields in both virtual PC cursor and forms reading mode. In forms mode it does not read the label for implicit labels on checkboxes and radio fields.

- Window-Eyes 5.5 was tested on Windows XP with Internet Explorer 6.0 and Firefox 1.5. It will always speak the label for an explicitly labelled form field. It does not speak the label for the implicitly labelled form control in browse on mode but will speak the implicit label when navigating from control to control in browse off mode.

User agents will display a tool tip when the mouse hovers above an `input` element containing a `title` attribute. Title attributes are exposed to assistive technology and are displayed as tooltips in many graphical browsers. Tooltips can't be opened via the keyboard, so this information may not be available to sighted keyboard users.

If no `label` is available, JAWS and Window-Eyes speak the `title` attribute when the form control receives focus

- JAWS 6.0 and later can be set to speak both `label` and `title` when the two items are different; however, very few users are aware of this setting.

- WindowEyes 5.5 has a hot key, ins-E, that will display additional information, including the title attribute, for the item with focus.

Some user agents (specifically the Window-Eyes screen reader) do not by default voice the asterisk character in form labels. There is a preference that Window-Eyes users can modify to adjust this behavior but many users should be expected not to have made this change.

## H91: Using HTML form controls and links

JAWS does not insert a space between an image's alt text and any adjacent text.