area
and img
with alt
attributes
Screen reader compatibility
Expected Result: works in a screen reader
Actual Result: causes problems in 32 screen reader / browser combinations
Client-side image maps are one of the oldest features with accessibility support on the web platform. They were introduced in RFC 1980 in August 1996, with accessibility support provided by the AREA ALT attribute. More than 20 years later, support in screen readers is still patchy, not helped by a series of incompatible changes introduced in successive HTML specs.
- August 1996 - RFC 1980 - Originally specified IMG USEMAP as a URL referring to MAP NAME (e.g.
usemap='#MyMap'
refers toname='MyMap'
) - January 1997 - HTML 3.2 - Incorporated definition of IMG USEMAP unchanged from RFC 1980. This remained unchanged until XHTML 1.1.
- May 2001 - XHTML 1.1 First Edition replaced MAP NAME with ID and changed USEMAP to an IDREF (e.g.
usemap='MyMap'
refers toid='MyMap'
) breaking backwards compatibility. This was reported as a specification bug in 2002 - July 2010 - XHTML 1.1 Second Edition changed USEMAP back to an href referring to MAP ID (e.g.
usemap='#MyMap'
refers toid='MyMap'
). This broke backwards compatibility with XHTML 1.1 First Edition, but didn't fix backwards compatibility with older versions of HTML due to the removal of MAP NAME. - October 2014 - HTML 5.0 changed USEMAP back to the original 1996 definition of URL referring to MAP NAME (e.g.
usemap='#MyMap'
refers toname='MyMap'
)
WCAG Technique: H24
Code used for this test:
<img src='1234.png' alt='this is alt text' usemap='#area_alt_map2'>
<map id='area_alt_map2' name='area_alt_map2'>
<area alt='this is left alt text' coords='0,0,100,100' href='left_arrow.htm' target='frame1'></area>
<area alt='this is right alt text' coords='200,0,300,100' href='right_arrow.htm' target='frame1'></area>
</map>
Reliability Trend
This graph shows reliability over time for this code in NVDA, JAWS and Voiceover. Other screen readers don't have enough historical data yet to plot trends.
Change History
Last updated: September 11, 2022
- NVDA with Chrome Stable - OK from NVDA 2018.4 to NVDA 2022.2
- NVDA with IE Causes problems in NVDA 2019.2
- NVDA with FF Better - caused problems in NVDA 2016.2, but now OK in NVDA 2022.2
- JAWS with Chrome Stable - OK from JAWS 2018.1811.2 to JAWS 2022.2207.25
- JAWS with IE Stable - OK from JAWS 13.0.852 to JAWS 2019.1912.1
- JAWS with FF Better - caused problems in JAWS 2018.1811.2, but now OK in JAWS 2022.2207.25
- VoiceOver macOS Better - caused problems in VoiceOver macOS 10.11, but now OK in VoiceOver macOS 12.5
- VoiceOver iOS Causes problems from VoiceOver iOS 7.1 to VoiceOver iOS 15.6
- WindowEyes with IE Better - caused problems in WindowEyes 8.4, but now OK in WindowEyes 9.2
- Dolphin with IE OK in Dolphin SR 15.05
- SaToGo with IE OK in SaToGo 3.4.96.0
Screen reader | Browser | Mode | Notes | What the user hears |
---|---|---|---|---|
NVDA 2022.2 | Chrome 105 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2022.2 | Chrome 105 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2022.2 | FF102 | Reading | This is alt text, graphic, this is alt text. This is alt text, graphic link, this is left alt text. This is alt text, graphic link, this is right alt text | |
NVDA 2022.2 | FF102 | Tabbing | This is left alt text, link, this is alt text graphic. This is right alt text, link, this is alt text graphic | |
NVDA 2022.2 | Edge 105 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2022.2 | Edge 105 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2021.2 | Chrome 94 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2021.2 | Chrome 94 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2021.2 | FF91 | Reading | This is alt text, graphic, this is alt text. This is alt text, graphic link, this is left alt text. This is alt text, graphic link, this is right alt text | |
NVDA 2021.2 | FF91 | Tabbing | This is left alt text, link, this is alt text graphic. This is right alt text, link, this is alt text graphic | |
NVDA 2021.2 | Edge 94 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2021.2 | Edge 94 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2020.2 | Chrome 86 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2020.2 | Chrome 86 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2020.2 | FF78 | Reading | This is alt text, graphic, this is alt text. This is alt text, graphic link, this is left alt text. This is alt text, graphic link, this is right alt text | |
NVDA 2020.2 | FF78 | Tabbing | This is left alt text, link, this is alt text graphic. This is right alt text, link, this is alt text graphic | |
NVDA 2020.2 | Edge 92 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2020.2 | Edge 92 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2019.2 | Chrome 79 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2019.2 | Chrome 79 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2019.2 | FF68 | Reading | This is alt text, graphic, this is alt text. This is alt text, graphic link, this is left alt text. This is alt text, graphic link, this is right alt text | |
NVDA 2019.2 | FF68 | Tabbing | This is left alt text, link, this is alt text graphic. This is right alt text, link, this is alt text graphic | |
NVDA 2019.2 | IE11 | Reading | Graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2019.2 | IE11 | Tabbing | Complete silence when tabbing between AREAs. | |
NVDA 2018.4 | Chrome 73 | Reading | Link, this is left alt text, link, this is right alt text | |
NVDA 2018.4 | Chrome 73 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2018.4 | FF60 | Reading | Graphic, this is alt text. This is alt text, graphic link, this is left alt text. This is alt text, graphic link, this is right alt text | |
NVDA 2018.4 | FF60 | Tabbing | This is left alt text, link, this is alt text graphic. This is right alt text, link, this is alt text graphic | |
NVDA 2018.4 | IE11 | Reading | Graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2018.4 | IE11 | Tabbing | Complete silence when tabbing between AREAs. | |
NVDA 2017.3 | FF60 | Reading | Graphic, this is alt text. Graphic link, this is left alt text. Graphic link, this is right alt text | |
NVDA 2017.3 | FF60 | Tabbing | This is left alt text, link, this is alt text graphic. This is right alt text, link, this is alt text graphic | |
NVDA 2017.3 | IE11 | Reading | Graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2017.3 | IE11 | Tabbing | Complete silence when tabbing between AREAs. | |
NVDA 2016.2 | FF48 | Reading | No indication AREA links exist | Graphic, this is alt text, this is alt text |
NVDA 2016.2 | FF48 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2016.2 | IE11 | Reading | Graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2016.2 | IE11 | Tabbing | Complete silence when tabbing between AREAs. | |
NVDA 2015.2 | FF41 | Reading | No indication AREA links exist | Graphic, this is alt text, this is alt text |
NVDA 2015.2 | FF41 | Tabbing | This is left alt text, link. This is right alt text, link | |
NVDA 2015.2 | IE11 | Reading | Graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2015.2 | IE11 | Tabbing | Complete silence when tabbing between AREAs. | |
NVDA 2014.1 | FF28 | Reading | graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2014.1 | FF28 | Tabbing | silent for second tab onto second area | This is alt text, link, this is left alt text, link, this is right alt text, graphic - all read for 1st link |
NVDA 2014.1 | IE11 | Reading | graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2014.1 | IE11 | Tabbing | Silence when tabbing to AREA links - no indication of image map role or name | |
NVDA 2012.1 | FF28 | Reading | graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2012.1 | FF28 | Tabbing | silent for second tab onto second area | This is alt text, link, this is left alt text, link, this is right alt text, graphic - all read for 1st link |
NVDA 2012.3 | IE11 | Reading | graphic, this is alt text, link, this is left alt text, link, this is right alt text | |
NVDA 2012.3 | IE11 | Tabbing | Silence when tabbing to AREA links - no indication of image map role or name | |
JAWS 2022.2207.25 | Chrome 105 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2022.2207.25 | Chrome 105 | Tabbing | This is alt text image map, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2022.2207.25 | FF102 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2022.2207.25 | FF102 | Tabbing | This is alt text graphic, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2022.2207.25 | Edge 105 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text | |
JAWS 2022.2207.25 | Edge 105 | Tabbing | This is alt text image map, this is left alt text, image map link graphic. This is right alt text, image map link graphic | |
JAWS 2021.2107.12 | Chrome 94 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2021.2107.12 | Chrome 94 | Tabbing | This is alt text image map, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2021.2107.12 | FF91 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2021.2107.12 | FF91 | Tabbing | This is alt text graphic, this is left alt text, link. This is right alt text, link. | |
JAWS 2021.2107.12 | Edge 94 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text | |
JAWS 2021.2107.12 | Edge 94 | Tabbing | This is alt text image map, this is left alt text, image map link graphic. This is right alt text, image map link graphic | |
JAWS 2020.2008.24 | Chrome 86 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2020.2008.24 | Chrome 86 | Tabbing | This is alt text image map, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2020.2008.24 | FF78 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2020.2008.24 | FF78 | Tabbing | This is alt text graphic, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2020.2008.24 | Edge 92 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text | |
JAWS 2020.2008.24 | Edge 92 | Tabbing | This is alt text image map, this is left alt text, image map link graphic. This is right alt text, image map link graphic | |
JAWS 2019.1912.1 | Chrome 79 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2019.1912.1 | Chrome 79 | Tabbing | This is alt text image map read-only, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2019.1912.1 | FF68 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2019.1912.1 | FF68 | Tabbing | This is alt text graphic, this is left alt text, image map link graphic. This is right alt text, image map link graphic. | |
JAWS 2019.1912.1 | IE11 | Reading | This is alt text graphic. Image map link, this is left alt text. Image map link, this is right alt text | |
JAWS 2019.1912.1 | IE11 | Tabbing | This is left alt text, image map link. This is right alt text, image map link | |
JAWS 2018.1811.2 | Chrome 73 | Reading | Image map link graphic, this is left alt text. Image map link graphic, this is right alt text. | |
JAWS 2018.1811.2 | Chrome 73 | Tabbing | Tab, this is alt text image map read-only, this is left alt text, image map link graphic. Tab, this is right alt text, image map link graphic. | |
JAWS 2018.1811.2 | FF60 | Reading | Alt ignored and link URL gibberish read out. | Image map link graphic, left underline arrow. Image map link graphic, right underline arrow. |
JAWS 2018.1811.2 | FF60 | Tabbing | Tab, this is alt text graphic, this is left alt text, image map link graphic. Tab, this is right alt text, image map link graphic. | |
JAWS 2018.1811.2 | IE11 | Reading | Graphic, this is alt text. Image map link, this is left alt text. Image map link, this is right alt text | |
JAWS 2018.1811.2 | IE11 | Tabbing | Tab, this is left alt text, image map link. Tab, this is right alt text, image map link | |
JAWS 18.0.5038 | FF52 | Reading | No link role read out - no indication graphics are links. | Graphic, this is alt text. Graphic, this is left alt text. Graphic, this is right alt text |
JAWS 18.0.5038 | FF52 | Tabbing | Tab, this is alt text graphic, this is left alt text, image map. Tab, this is right alt text, image map | |
JAWS 18.0.5038 | IE11 | Reading | Graphic, this is alt text. Image map link, this is left alt text. Image map link, this is right alt text | |
JAWS 18.0.5038 | IE11 | Tabbing | Tab, this is left alt text, image map link. Tab, this is right alt text, image map link | |
JAWS 17.0.2619 | FF48 | Reading | No link role read out - no indication graphics are links. | Graphic, this is alt text. Graphic, this is left alt text. Graphic, this is right alt text |
JAWS 17.0.2619 | FF48 | Tabbing | This is left alt text, image map. This is right alt text, image map | |
JAWS 17.0.2619 | IE11 | Reading | Graphic, this is alt text. Image map link, this is left alt text. Image map link, this is right alt text | |
JAWS 17.0.2619 | IE11 | Tabbing | This is left alt text, image map link. This is right alt text, image map link | |
JAWS 16.0.4350 | FF41 | Reading | No link role read out - no indication graphics are links. | Graphic, this is left alt text, this is right alt text. Graphic, this is left alt text. Graphic, this is right alt text |
JAWS 16.0.4350 | FF41 | Tabbing | This is alt text, graphic, this is left alt text, image map. This is right alt text, image map | |
JAWS 16.0.4350 | IE11 | Reading | Graphic, this is alt text. Image map link, this is left alt text. Image map link, this is right alt text | |
JAWS 16.0.4350 | IE11 | Tabbing | This is left alt text, image map link. This is right alt text, image map link | |
JAWS 15.0.9023 | FF29 | Reading | No link role read out - no indication graphics are links. | Graphic, this is left alt text, this is right alt text. Graphic, this is left alt text. Graphic, this is right alt text |
JAWS 15.0.9023 | FF29 | Tabbing | silence for second tab | This is left alt text, this is right alt text, image map |
JAWS 15.0.9023 | IE11 | Reading | Graphic, this is alt text. Image map link, this is left alt text. Image map link, this is right alt text | |
JAWS 15.0.9023 | IE11 | Tabbing | This is left alt text, image map link. This is right alt text, image map link | |
JAWS 14.0.9002 | FF29 | Reading | No link role read out - no indication graphics are links | Graphic, this is left alt text, this is right alt text. Graphic, this is left alt text. Graphic, this is right alt text |
JAWS 14.0.9002 | FF29 | Tabbing | silence for second tab | This is left alt text, this is right alt text, image map |
JAWS 14.0.9002 | IE11 | Reading | graphic, this is alt text, image map link, this is left alt text, image map link, this is right alt text | |
JAWS 14.0.9002 | IE11 | Tabbing | This is left alt text, image map link, this is right alt text, image map link | |
JAWS 13.0.852 | FF28 | Reading | no indication of image map links | Graphic, this is alt text |
JAWS 13.0.852 | FF28 | Tabbing | wrong alt read out when tabbing | This is alt text, graphic, for first area, silence for second area |
JAWS 13.0.852 | IE11 | Reading | graphic, this is alt text, image map link, this is left alt text, image map link, this is right alt text | |
JAWS 13.0.852 | IE11 | Tabbing | This is left alt text, image map link, this is right alt text, image map link | |
WindowEyes 9.2 | IE11 | Reading | This is alt text. Link, this is left alt text. Link, this is right alt text | |
WindowEyes 9.2 | IE11 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
WindowEyes 8.4 | IE11 | Reading | This is alt text, link, this is left alt text, link, this is right alt text | |
WindowEyes 8.4 | IE11 | Tabbing | Silence when tabbing to AREA links - no indication of image map role or name | |
VoiceOver macOS 12.5 | Safari 15.6 | Reading | This is alt text, image map. In, this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 12.5 | Safari 15.6 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 11.5 | Safari 15.0 | Reading | This is alt text, image map. In, this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 11.5 | Safari 15.0 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 10.15 | Safari 14.1 | Reading | This is alt text, image map. In, this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.15 | Safari 14.1 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 10.14 | Safari 13.0 | Reading | This is alt text, image map. In, this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.14 | Safari 13.0 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 10.13 | Safari 12.1 | Reading | This is alt text, image map. In, this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.13 | Safari 12.1 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 10.12 | Safari 10.1.2 | Reading | This is alt text, image map. Interact with: this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.12 | Safari 10.1.2 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 10.11 | Safari 9.1.2 | Reading | This is alt text, image map. Interact with: this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.11 | Safari 9.1.2 | Tabbing | ALT text for IMG read out as label of first link instead of AREA ALT test | Link, this is alt text, image map. Link, this is right alt text |
VoiceOver macOS 10.10 | Safari 8.0.6 | Reading | This is alt text, image map. Interact with: this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.10 | Safari 8.0.6 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver macOS 10.9 | Safari 7.0.3 | Reading | This is alt text, image map. Interact with: this is alt text, image map, 2 items, link, this is left alt text. Link, this is right alt text. | |
VoiceOver macOS 10.9 | Safari 7.0.3 | Tabbing | Link, this is left alt text. Link, this is right alt text | |
VoiceOver iOS 15.6 | Safari iOS 15.6 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, or using the Next Link gesture, but there are no audible cues to tell the user they're missing links. | This is alt text. (This is left alt text, link. This is right alt text, link) |
VoiceOver iOS 14.7 | Safari iOS 14.7 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, or using the Next Link gesture, but there are no audible cues to tell the user they're missing links. | This is alt text. (This is left alt text, link. This is right alt text, link) |
VoiceOver iOS 13.3 | Safari iOS 13.3 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, or using the Next Link gesture, but there are no audible cues to tell the user they're missing links. | This is alt text. (This is left alt text, link. This is right alt text, link) |
VoiceOver iOS 12.4 | Safari iOS 12.4 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, or using the Next Link gesture, but there are no audible cues to tell the user they're missing links. | This is alt text. (This is left alt text, link. This is right alt text, link) |
VoiceOver iOS 11.4 | Safari iOS 11.4 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, or using the Next Link gesture, but there are no audible cues to tell the user they're missing links. | This is alt text. (This is left alt text, link. This is right alt text, link) |
VoiceOver iOS 10.3 | Safari iOS 10.3 | Touch | Very hard to find AREA links because image map links are not announced when reading if owner IMG has ALT text. It is possible to find them by minesweeping, but there are no audible cues to tell the user they're missing links. | This is alt text. |
VoiceOver iOS 9.1 | Safari iOS 9.1 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, but there are no audible cues to tell the user they're missing links. | This is alt text. |
VoiceOver iOS 8.4 | Safari iOS 8.4 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, but there are no audible cues to tell the user they're missing links. | This is alt text. |
VoiceOver iOS 7.1 | Safari iOS 7.1 | Touch | Very hard to find AREA links because image map links are not announced when reading. It is possible to find them by minesweeping, but there are no audible cues to tell the user they're missing links. | This is alt text. |
Dolphin SR 15.05 | IE11 | Reading | This is alt text. This is left alt text, link. This is right alt text, link. | |
Dolphin SR 15.05 | IE11 | Tabbing | This is left alt text, link. This is right alt text, link | |
SaToGo 3.4.96.0 | IE11 | Reading | link, this is left alt text, link, this is right alt text | |
SaToGo 3.4.96.0 | IE11 | Tabbing | This is left alt text, link, this is right alt text, link |
SortSite rules: AccHtmlAreaNoAlt
Test notes
All tests were carried out with screen reader factory settings. JAWS in particular has a wide variety of settings controlling exactly what gets spoken.
Screen readers allow users to interact in different modes, and can produce very different results in each mode. The modes used in these tests are:
- Reading Content read using the “read next” command in a screen reader
- Tabbing Content read using the “tab” key in a screen reader
- Heading Content read using the “next heading” key in a screen reader
- Touch Content read when touching an area of screen on a mobile device
In the “What the user hears” column:
- Commas represent short pauses in screen reader voicing
- Full Stops represent places where voicing stops, and the “read next” or “tab” or “next heading” command is pressed again
- Ellipsis … represent a long pause in voicing
- (Brackets) represent voicing that requires a keystroke to hear