title Attribute in ARIA and non-ARIA Environments, with Screen Readers
Context
- tested the "standalone lightbox", that is: ".../src/webapp/fluid-components/html/Lightbox.html" (revision 4739).
- tested two title based configurations:
- Lightbox.html as is, i.e. no title attributes.
- Changed the alt text for each <img> within a thumbnail to "Fruit alt text".
- For the image caption text, changed the text between the <a> tags to "Fruit link text".
- Added "title" attribute to:
- the lightbox container <div> (id="gallery:::gallery-thumbs:::") -- value = "Lightbox",
- each thumbnail <div> (id="gallery:::gallery-thumbs:::lightbox-cell:n:") -- value = "Thumbnail of Fruit"
- tested three browsers:
- FF3 (Minefield 3.0b5pre 2008031405)
- FF2
- IE7
- tested two screen readers (in non-browse mode/virtual pc cursor off mode):
- WindowEyes
- JAWS
- tested four actions:
- tab to the lightbox.
- move from thumbnail to thumbnail using arrow keys (keyboard navigation)
- keyboard based "drag-and-drop"
- mouse hover over:
- thumbnail image
- thumbnail whitespace
- thumbnail link
- Temporarily serving from:
One variable that was not tested was running Windows accessible Inspector application in parallel with the browsers. When that is done, IE7 and/or the screen reader acquires more information about what has focus, etc., and tends to give a better experience. It is unlikely that the average screen reader user will run Inspector in tandem with their screen reader; however, our doing so may provide clues as to how to render thumbnails in the lightbox for these types of users.
WindowEyes
Note: when the mouse cursor changes, WindowEyes speaks to indicate the new cursor. For example, when it changes to an I-beam, WindowEyes says, "I-beam". The mouse cursor changes to a pointing hand when over a link; in this case WindowEyes says, "Pointer 32649, undefined". This speech is repeated a lot in the following table.
FF3 (Minefield) | tab to lightbox | "Fruit link text, cell" | "Lightbox, Fruit link text, cell, Thumbnail of Fruit" |
keyboard navigation | "Fruit link text, cell" | "Lightbox, Fruit link text, cell, Thumbnail of Fruit" | |
keyboard DnD | Silence | Silence | |
hover over image | "Pointer 32649, undefined" | "Pointer 32649, undefined"; Visually, "Thumbnail of Fruit" shows as a tool tip. | |
hover over whitespace | "Arrow", if mouse cursor changes to arrow; silence otherwise. | "Arrow", if mouse cursor changes to arrow; silence otherwise; Visually, "Thumbnail of Fruit" shows as a tool tip. | |
hover over link | "Fruit link text, Pointer 32649, undefined" | "Fruit link text, Pointer 32649, undefined"; Visually, "Thumbnail of Fruit" shows as a tool tip. | |
FF2 | tab to lightbox | "Fruit link text, cell" | "Lightbox, Fruit link text, cell, Thumbnail of Fruit" |
keyboard navigation | "Fruit link text, cell" | "Lightbox, Fruit link text, cell, Thumbnail of Fruit" | |
keyboard DnD | Silence | Silence | |
hover over image | "Pointer 32649, undefined" | "Context menu, Pointer 32649, undefined...menu closed"; Visually, "Thumbnail of Fruit shows as a tool tip. Note that WindowEyes interprets a tooltip popup as a menu. | |
hover over whitespace | "Arrow", if mouse cursor changes to arrow; silence otherwise. | "Context menu, Arrow, ...menu closed", if mouse cursor changes to arrow; "Context menu, ...menu closed" otherwise; Visually, "Thumbnail of _Fruit" shows as a tool tip. Note that WindowEyes interprets a tooltip popup as a menu. | |
hover over link | "Fruit link text, Pointer 32649, undefined" | "Fruit link text, context menu, Pointer 32649, undefined, ...menu closed"; Visually, "Thumbnail of Fruit shows as a tool tip. Note that WindowEyes interprets a tooltip popup as a menu. | |
IE7 | tab to lightbox | "Fruit link text, grouping object" | "Thumbnail of Fruit, grouping object" |
keyboard navigation | "Fruit link text, grouping object" | "Thumbnail of Fruit, grouping object" | |
keyboard DnD | "Fruit link text, grouping object", where Fruit, is the name of the thumbnail being moved. | "Thumbnail of Fruit, grouping object", where Fruit, is the name of the thumbnail being moved. | |
hover over image | "Fruit alt text, Pointer 32649, undefined" Note: only "Fruit alt text" if mouse cursor does not change; Visually, "Fruit alt text" shows as a tool tip. |
"Fruit alt text, Pointer 32649, undefined"; Visually, "Fruit alt text" shows as a tool tip. | |
hover over whitespace | "Arrow", if mouse cursor changes to arrow; silence otherwise. | "Thumbnail of Fruit, Arrow", if mouse cursor changes to arrow; "Thumbnail of Fruit", otherwise; Visually, "Thumbnail of Fruit shows as a tool tip. | |
hover over link | "Fruit link text, Pointer 32649, undefined" | "Fruit link text, Thumbnail of Fruit, Pointer 32649, undefined"; Visually, "Thumbnail of Fruit" shows as a tool tip. |
JAWS
In terms of moving thumbnails using the keyboard, only cntl-left and cntl-right arrows worked reliably. Cntl-up and cntl-down was intercepted by JAWS, and resulted in the opening of the link (inside a thumbnail) in a new tab, in all three browsers.
FF3 (Minefield) | tab to lightbox | "Tab, Table, Fruit alt text, Fruit link text" | "Tab, Table, Fruit alt text, Fruit link text" |
keyboard navigation | "Fruit alt text, Fruit link text" | "Fruit alt text, Fruit link text" | |
keyboard DnD | "Blank" on the first move, thereafter "Fruit, repeatedly", where Fruit is the name of the fruit immediately to the left or right (depending on direction of movement) of the moving item after the first move. Example: "Blank, Kiwi, Kiwi, ..." | "Blank" on the first move, thereafter "Fruit, repeatedly", where Fruit is the name of the fruit immediately to the left or right (depending on direction of movement) of the moving item after the first move. Example: "Blank, Kiwi, Kiwi, ..." | |
hover over image | Silence | Silence; Visually, "Thumbnail of Fruit" shows as tooltip. | |
hover over whitespace | Silence | Silence; Visually, "Thumbnail of Fruit" shows as tooltip. | |
hover over link | Silence | Silence; Visually, "Thumbnail of Fruit" shows as tooltip. | |
FF2 | tab to lightbox | "Tab, Table, Fruit alt text, Fruit link text" | "Tab, Table, Fruit alt text, Fruit link text" |
keyboard navigation | "Fruit alt text, Fruit link text" | "Fruit alt text, Fruit link text" | |
keyboard DnD | "Blank" on the first move, thereafter "Fruit" repeatedly, where Fruit is the name of the fruit immediately to the left or right (depending on direction of movement) of the moving item after the first move. Example: "Blank, Kiwi, Kiwi, ..." | "Blank" on the first move, thereafter "Fruit" repeatedly, where Fruit is the name of the fruit immediately to the left or right (depending on direction of movement) of the moving item after the first move. Example: "Blank, Kiwi, Kiwi, ..." | |
hover over image | Silence | "Menu, ...leaving menus"; Visually, "Thumbnail of Fruit" shows as tooltip. Note: JAWS interprets the tooltip popup as a menu. | |
hover over whitespace | Silence | "Menu, ...leaving menus"; Visually, "Thumbnail of Fruit" shows as tooltip. Note: JAWS interprets the tooltip popup as a menu. | |
hover over link | Silence | "Menu, ...leaving menus"; Visually, "Thumbnail of Fruit" shows as tooltip. Note: JAWS interprets the tooltip popup as a menu. | |
IE7 | tab to lightbox | "Tab, Fruit link text" Note: once, it read the entire list of thumbnails. |
"Tab, Thumbnail of Fruit" |
keyboard navigation | "Fruit link text" | "Thumbnail of Fruit" | |
keyboard DnD | "View, Fruit link text [fluid:of the thumbnail that is moving], Fruit link text [fluid:of the thumbnail just moved past]" Note: upon releasing the cntl key, "Fruit link text [fluid:of the thumbnail that was moved]. |
"View, Thumbnail of Fruit [fluid:that is moving], Fruit link text [fluid:just moved past]" Note: upon releasing the cntl key, "Fruit link text" [fluid:that was moved]. | |
hover over image | Silence; Visually, "Fruit alt text" is shown as a toolitp. |
Silence; Visually, "Fruit alt text" shows as a tool tip. | |
hover over whitespace | Silence. | Silence; Visually, "Thumbnail of Fruit" shows as a tool tip. | |
hover over link | Silence. | Silence; Visually, "Thumbnail of Fruit" shows as a tool tip. |
Summary
The addition of a title
attribute had an effect mostly with respect to WindowEyes. Furthermore, it had an effect for all three browsers when using this particular screen reader. The presentation of the title, in the case of JAWS, was only effective in IE7.
It may be that where the title attribute was added defines whether it is appears in a screen reader context. It was added the the thumbnail <div>
element. It could also be added to the <a>
element for the image and/or the <a>
element for the link text, or both.
What should a screen reader say?
It's not yet clear what the advantage of having a title attribute is. But, more importantly, it's not clear what the screen reader user experience should be for the lightbox.
A lightbox is a device for displaying and reorganizing thumbnail images. Screen reader users should be able to navigate among the thumbnails and move them about. The keyboard support in the lightbox/reorderer already allows for this, but what should be the audio feedback? Here are some brain storming ideas:
Behaviour |
Comment |
---|---|
As the user navigates about the thumbnails, announce the name of the thumbnail they are currently on (i.e., the one that has focus). |
This is currently happening |
Inform users of the existence of the hyperlink in the thumbnails. |
The title text could be changed to include the phrase "contains link" or some such thing? |
Given the reordering functionality of the lightbox, allow querying of the thumbnails immediately surrounding the currently foucused one: What is immediately to the left, right, above, below, and at the four corners? |
Not available, but the user can navigate up, down, etc. to discover neighbors |
Users should be allowed to ask for the current order of the images. If the list is long, they should be allowed to interrupt the speech once they have heard enough to know what they were seeking.
|
|
as users move an image, some verbal feedback of the new ordering; for example:
|
This does sound like a definite necessity, but not sure how to implement |
A comment on the proposed text of the title:
Once the user is familiar with the Lightbox, they will know that they are navigating amongst thumbnails, and the main thing they're going to want to know is which thumbnail. I would suggest putting the actual name of the image first in the title string (i.e. "Kiwano thumbnail") so that users can cut the screen reader off sooner.