Link with aria-label
containing img
with no alt
Screen reader compatibility
Expected Result: causes problems in some screen readers
Actual Result: causes problems in 13 screen reader / browser combinations
For expected failures, the results show which AT combos the failures affect. Results are recorded from the user's viewpoint, so describe the user impact of authoring errors.
For best compatibility with lazy load polyfills and other scripts which hide offscreen images add `aria-label` on the link with `alt=""` on the `img` inside the link. That means offscreen links have accessible names even if the image is hidden, because `alt` on hidden images is ignored by the ARIA Accessible Name Computation.
WCAG Failure: ARIA8
Code used for this test:
<a href='4567.html' aria-label='this is an aria label'><img src='1234.png'></a>
Change History
Last updated: September 11, 2022
- NVDA with Chrome Stable - OK from NVDA 2018.4 to NVDA 2022.2
- NVDA with IE Stable - OK from NVDA 2012.3 to NVDA 2019.2
- NVDA with FF Better - caused problems in NVDA 2012.1, 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 Causes problems in 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.9, but now OK in VoiceOver macOS 12.5
- VoiceOver iOS Stable - OK 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 Causes problems in SaToGo 3.4.96.0
Screen reader | Browser | Mode | Notes | What the user hears |
---|---|---|---|---|
NVDA 2022.2 | Chrome 105 | Reading | Link, this is an aria label | |
NVDA 2022.2 | Chrome 105 | Tabbing | This is an aria label, link | |
NVDA 2022.2 | FF102 | Reading | Link, this is an aria label | |
NVDA 2022.2 | FF102 | Tabbing | This is an aria label, link | |
NVDA 2022.2 | Edge 105 | Reading | Link, this is an aria label | |
NVDA 2022.2 | Edge 105 | Tabbing | This is an aria label, link | |
NVDA 2021.2 | Chrome 94 | Reading | Link, this is an aria label | |
NVDA 2021.2 | Chrome 94 | Tabbing | This is an aria label, link | |
NVDA 2021.2 | FF91 | Reading | Link, this is an aria label | |
NVDA 2021.2 | FF91 | Tabbing | This is an aria label, link | |
NVDA 2021.2 | Edge 94 | Reading | Link, this is an aria label | |
NVDA 2021.2 | Edge 94 | Tabbing | This is an aria label, link | |
NVDA 2020.2 | Chrome 86 | Reading | Link, this is an aria label | |
NVDA 2020.2 | Chrome 86 | Tabbing | This is an aria label, link | |
NVDA 2020.2 | FF78 | Reading | Link, this is an aria label | |
NVDA 2020.2 | FF78 | Tabbing | This is an aria label, link | |
NVDA 2020.2 | Edge 92 | Reading | Link, this is an aria label | |
NVDA 2020.2 | Edge 92 | Tabbing | This is an aria label, link | |
NVDA 2019.2 | Chrome 79 | Reading | Link, this is an aria label | |
NVDA 2019.2 | Chrome 79 | Tabbing | This is an aria label, link | |
NVDA 2019.2 | FF68 | Reading | Link, this is an aria label | |
NVDA 2019.2 | FF68 | Tabbing | This is an aria label, link | |
NVDA 2019.2 | IE11 | Reading | Link, this is an aria label | |
NVDA 2019.2 | IE11 | Tabbing | This is an aria label, link | |
NVDA 2018.4 | Chrome 73 | Reading | Link, this is an aria label | |
NVDA 2018.4 | Chrome 73 | Tabbing | This is an aria label, link | |
NVDA 2018.4 | FF60 | Reading | Link, this is an aria label | |
NVDA 2018.4 | FF60 | Tabbing | This is an aria label, link | |
NVDA 2018.4 | IE11 | Reading | Link, this is an aria label | |
NVDA 2018.4 | IE11 | Tabbing | This is an aria label, link | |
NVDA 2017.3 | FF60 | Reading | Link, this is an aria label | |
NVDA 2017.3 | FF60 | Tabbing | This is an aria label, link | |
NVDA 2017.3 | IE11 | Reading | Link, this is an aria label | |
NVDA 2017.3 | IE11 | Tabbing | This is an aria label, link | |
NVDA 2016.2 | FF48 | Reading | Link, this is an aria label | |
NVDA 2016.2 | FF48 | Tabbing | This is an aria label, link | |
NVDA 2016.2 | IE11 | Reading | Link, this is an aria label | |
NVDA 2016.2 | IE11 | Tabbing | This is an aria label, link | |
NVDA 2015.2 | FF40 | Reading | Link, this is an aria label | |
NVDA 2015.2 | FF40 | Tabbing | This is an aria label, link | |
NVDA 2015.2 | IE11 | Reading | Link, this is an aria label | |
NVDA 2015.2 | IE11 | Tabbing | This is an aria label, link | |
NVDA 2014.1 | FF28 | Reading | Link, this is an aria label | |
NVDA 2014.1 | FF28 | Tabbing | This is an aria label, link | |
NVDA 2014.1 | IE11 | Reading | Link, this is an aria label | |
NVDA 2014.1 | IE11 | Tabbing | This is an aria label, link | |
NVDA 2012.1 | FF28 | Reading | nothing read, and no indication of link | Blank |
NVDA 2012.1 | FF28 | Tabbing | Skipped by tabbing - unreachable with tab key | |
NVDA 2012.3 | IE11 | Reading | Link, this is an aria label | |
NVDA 2012.3 | IE11 | Tabbing | This is an aria label, link | |
JAWS 2022.2207.25 | Chrome 105 | Reading | Link, this is an aria label | |
JAWS 2022.2207.25 | Chrome 105 | Tabbing | This is an aria label, link | |
JAWS 2022.2207.25 | FF102 | Reading | Link, this is an aria label | |
JAWS 2022.2207.25 | FF102 | Tabbing | This is an aria label, link | |
JAWS 2022.2207.25 | Edge 105 | Reading | Link, this is an aria label | |
JAWS 2022.2207.25 | Edge 105 | Tabbing | This is an aria label, link | |
JAWS 2021.2107.12 | Chrome 94 | Reading | Link, this is an aria label | |
JAWS 2021.2107.12 | Chrome 94 | Tabbing | This is an aria label, link | |
JAWS 2021.2107.12 | FF91 | Reading | Link, this is an aria label | |
JAWS 2021.2107.12 | FF91 | Tabbing | This is an aria label, link | |
JAWS 2021.2107.12 | Edge 94 | Reading | Link, this is an aria label | |
JAWS 2021.2107.12 | Edge 94 | Tabbing | This is an aria label, link | |
JAWS 2020.2008.24 | Chrome 86 | Reading | Link, this is an aria label | |
JAWS 2020.2008.24 | Chrome 86 | Tabbing | This is an aria label, link | |
JAWS 2020.2008.24 | FF78 | Reading | Link, this is an aria label | |
JAWS 2020.2008.24 | FF78 | Tabbing | This is an aria label, link | |
JAWS 2020.2008.24 | Edge 92 | Reading | Link, this is an aria label | |
JAWS 2020.2008.24 | Edge 92 | Tabbing | This is an aria label, link | |
JAWS 2019.1912.1 | Chrome 79 | Reading | Link, this is an aria label | |
JAWS 2019.1912.1 | Chrome 79 | Tabbing | This is an aria label, link | |
JAWS 2019.1912.1 | FF68 | Reading | Link, this is an aria label | |
JAWS 2019.1912.1 | FF68 | Tabbing | This is an aria label, link | |
JAWS 2019.1912.1 | IE11 | Reading | Image filename read instead of aria-label | Link graphic twelve thirty four |
JAWS 2019.1912.1 | IE11 | Tabbing | This is an aria label, link graphic | |
JAWS 2018.1811.2 | Chrome 73 | Reading | Link, this is an aria label | |
JAWS 2018.1811.2 | Chrome 73 | Tabbing | Tab, this is an aria label, link | |
JAWS 2018.1811.2 | FF60 | Reading | Image filename read instead of aria-label | Link graphic twelve thirty four |
JAWS 2018.1811.2 | FF60 | Tabbing | Tab, this is an aria label, link graphic | |
JAWS 2018.1811.2 | IE11 | Reading | Link, this is an aria label | |
JAWS 2018.1811.2 | IE11 | Tabbing | Tab, this is an aria label, link | |
JAWS 18.0.5038 | FF52 | Reading | Link, this is an aria label | |
JAWS 18.0.5038 | FF52 | Tabbing | Tab, this is an aria label, link | |
JAWS 18.0.5038 | IE11 | Reading | Link, this is an aria label | |
JAWS 18.0.5038 | IE11 | Tabbing | Tab, this is an aria label, link | |
JAWS 17.0.2619 | FF48 | Reading | Link, this is an aria label | |
JAWS 17.0.2619 | FF48 | Tabbing | This is an aria label, link | |
JAWS 17.0.2619 | IE11 | Reading | Link, this is an aria label | |
JAWS 17.0.2619 | IE11 | Tabbing | This is an aria label, link | |
JAWS 16.0.4350 | FF40 | Reading | Link, this is an aria label | |
JAWS 16.0.4350 | FF40 | Tabbing | This is an aria label, link | |
JAWS 16.0.4350 | IE11 | Reading | Link, this is an aria label | |
JAWS 16.0.4350 | IE11 | Tabbing | This is an aria label, link | |
JAWS 15.0.9023 | FF29 | Reading | Link, this is an aria label | |
JAWS 15.0.9023 | FF29 | Tabbing | This is an aria label, link | |
JAWS 15.0.9023 | IE11 | Reading | Link, this is an aria label | |
JAWS 15.0.9023 | IE11 | Tabbing | This is an aria label, link | |
JAWS 14.0.9002 | FF29 | Reading | Link, this is an aria label | |
JAWS 14.0.9002 | FF29 | Tabbing | This is an aria label, link | |
JAWS 14.0.9002 | IE11 | Reading | Link, this is an aria label | |
JAWS 14.0.9002 | IE11 | Tabbing | This is an aria label, link | |
JAWS 13.0.852 | FF29 | Reading | ignores aria-label and reads out img filename | Link graphic twelve thirty four |
JAWS 13.0.852 | FF29 | Tabbing | ignores aria-label and reads out img filename | Twelve thirty four link graphic |
JAWS 13.0.852 | IE11 | Reading | ignores aria-label and reads out img filename | Link Graphic test slash twelve thirty four |
JAWS 13.0.852 | IE11 | Tabbing | ignores aria-label and reads out img filename | Test slash twelve thirty four, link graphic |
WindowEyes 9.2 | IE11 | Reading | Link, this is an aria label | |
WindowEyes 9.2 | IE11 | Tabbing | Link, this is an aria label | |
WindowEyes 8.4 | IE11 | Reading | reads out path of link | Link test slash forty five sixty seven dot html |
WindowEyes 8.4 | IE11 | Tabbing | Link, this is an aria label | |
VoiceOver macOS 12.5 | Safari 15.6 | Reading | Link image, this is an aria label | |
VoiceOver macOS 12.5 | Safari 15.6 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 11.5 | Safari 15.0 | Reading | Link image, this is an aria label | |
VoiceOver macOS 11.5 | Safari 15.0 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.15 | Safari 14.1 | Reading | Link image, this is an aria label | |
VoiceOver macOS 10.15 | Safari 14.1 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.14 | Safari 13.0 | Reading | Link image, this is an aria label | |
VoiceOver macOS 10.14 | Safari 13.0 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.13 | Safari 12.1 | Reading | Link image, this is an aria label | |
VoiceOver macOS 10.13 | Safari 12.1 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.12 | Safari 10.1.2 | Reading | Link image, this is an aria label | |
VoiceOver macOS 10.12 | Safari 10.1.2 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.11 | Safari 9.1.2 | Reading | Link image, this is an aria label | |
VoiceOver macOS 10.11 | Safari 9.1.2 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.10 | Safari 8.0.6 | Reading | Link image, this is an aria label | |
VoiceOver macOS 10.10 | Safari 8.0.6 | Tabbing | Link image, this is an aria label | |
VoiceOver macOS 10.9 | Safari 7.0.3 | Reading | Reads out filename of image | Link image one two three four PNG, this is an aria label |
VoiceOver macOS 10.9 | Safari 7.0.3 | Tabbing | Reads out filename of image | Link image one two three four PNG, this is an aria label |
VoiceOver iOS 15.6 | Safari iOS 15.6 | Touch | This is an aria label, link image, logo other, test image | |
VoiceOver iOS 14.7 | Safari iOS 14.7 | Touch | This is an aria label, link image | |
VoiceOver iOS 13.3 | Safari iOS 13.3 | Touch | This is an aria label, link image | |
VoiceOver iOS 12.4 | Safari iOS 12.4 | Touch | This is an aria label, link image | |
VoiceOver iOS 11.4 | Safari iOS 11.4 | Touch | This is an aria label, link image | |
VoiceOver iOS 10.3 | Safari iOS 10.3 | Touch | This is an aria label, link image | |
VoiceOver iOS 9.1 | Safari iOS 9.1 | Touch | This is an aria label, link image | |
VoiceOver iOS 8.4 | Safari iOS 8.4 | Touch | This is an aria label, link image | |
VoiceOver iOS 7.1 | Safari iOS 7.1 | Touch | This is an aria label, link image | |
Dolphin SR 15.05 | IE11 | Reading | This is an aria label, link | |
Dolphin SR 15.05 | IE11 | Tabbing | This is an aria label, link | |
SaToGo 3.4.96.0 | IE11 | Reading | ignores label and just reads blank link | link |
SaToGo 3.4.96.0 | IE11 | Tabbing | ignores label and just reads blank link | link |
SortSite rules: AccHtmlLinkTextBlank
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