iframe
where src
is a PNG image
Screen reader compatibility
HTML
Nov 26, 2024
Expected Result: causes problems in some screen readers
Actual Result: causes problems in 40 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.
Code used for this test:
<iframe title='This is frame title' src='1234.png' width='400' height='100'> </iframe>
Change History
Last updated: November 26, 2024
- NVDA with Chrome Causes problems from NVDA 2022.2 to NVDA 2024.4
- NVDA with FF Causes problems from NVDA 2022.2 to NVDA 2024.4
- JAWS with Chrome Causes problems from JAWS 2022.2207.25 to JAWS 2024.2409.2
- JAWS with FF Causes problems from JAWS 2022.2207.25 to JAWS 2024.2409.2
- VoiceOver macOS Better - caused problems in VoiceOver macOS 10.14, but now OK in VoiceOver macOS 14.6
- VoiceOver iOS Causes problems from VoiceOver iOS 15.6 to VoiceOver iOS 17.7
Screen reader | Browser | Mode | Notes | What the user hears |
---|---|---|---|---|
NVDA 2024.4 | Chrome 131 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
NVDA 2024.4 | Chrome 131 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2024.4 | FF 128 | Reading | Graphic has no accessible name. | This is frame title frame, graphic clickable, one thousand two hundred and thirty-four dot PNG. |
NVDA 2024.4 | FF 128 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2024.4 | Edge 131 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
NVDA 2024.4 | Edge 131 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2023.3 | Chrome 120 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
NVDA 2023.3 | Chrome 120 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2023.3 | FF 115 | Reading | Graphic has no accessible name. | This is frame title frame, graphic clickable, one thousand two hundred and thirty-four dot PNG. |
NVDA 2023.3 | FF 115 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2023.3 | Edge 120 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
NVDA 2023.3 | Edge 120 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2022.2 | Chrome 105 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
NVDA 2022.2 | Chrome 105 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2022.2 | FF 102 | Reading | Graphic has no accessible name. | This is frame title frame, graphic clickable, one thousand two hundred and thirty-four dot PNG. |
NVDA 2022.2 | FF 102 | Tabbing | Complete silence when tabbing to frame. | |
NVDA 2022.2 | Edge 105 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
NVDA 2022.2 | Edge 105 | Tabbing | Complete silence when tabbing to frame. | |
JAWS 2024.2409.2 | Chrome 131 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2024.2409.2 | Chrome 131 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2024.2409.2 | FF 128 | Reading | Graphic has no accessible name. | Twelve thirty-four dot PNG graphic. |
JAWS 2024.2409.2 | FF 128 | Tabbing | Graphic has no accessible name. | This is frame title frame. Twelve thirty-four PNG graphic. |
JAWS 2024.2409.2 | Edge 131 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2024.2409.2 | Edge 131 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2023.2311.34 | Chrome 120 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2023.2311.34 | Chrome 120 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2023.2311.34 | FF 115 | Reading | Graphic has no accessible name. | Twelve thirty-four PNG graphic. |
JAWS 2023.2311.34 | FF 115 | Tabbing | Graphic has no accessible name. | This is frame title frame. Twelve thirty-four PNG graphic. |
JAWS 2023.2311.34 | Edge 120 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2023.2311.34 | Edge 120 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2022.2207.25 | Chrome 105 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2022.2207.25 | Chrome 105 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame. This is frame title, unlabeled graphic. |
JAWS 2022.2207.25 | FF 102 | Reading | Graphic has no accessible name. | Twelve thirty-four PNG graphic. |
JAWS 2022.2207.25 | FF 102 | Tabbing | Graphic has no accessible name. | This is frame title frame. This is frame title, graphic. |
JAWS 2022.2207.25 | Edge 105 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
JAWS 2022.2207.25 | Edge 105 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame. This is frame title, unlabeled graphic. |
VoiceOver macOS 14.6 | Safari 17.6 | Reading | This is frame title, frame | |
VoiceOver macOS 14.6 | Safari 17.6 | Tabbing | Skipped by tabbing as expected. | |
VoiceOver macOS 13.6 | Safari 16.6 | Reading | This is frame title, frame | |
VoiceOver macOS 13.6 | Safari 16.6 | Tabbing | Skipped by tabbing as expected. | |
VoiceOver macOS 12.5 | Safari 15.6 | Reading | This is frame title, frame | |
VoiceOver macOS 12.5 | Safari 15.6 | Tabbing | Skipped by tabbing as expected. | |
VoiceOver macOS 10.14 | Safari 13.0 | Reading | Confusing interaction and filename voiced for non-text content. | This is frame title, frame. No visible title to interact. One thousand two hundred and thirty four PNG, image. |
VoiceOver iOS 17.7 | Safari iOS 17.7 | Touch | URL read instead of image description, along with OCR text from image. | One thousand two hundred and thirty-four PNG, image. |
VoiceOver iOS 16.6 | Safari iOS 16.6 | Touch | URL read instead of image description, along with OCR text from image. | One thousand two hundred and thirty-four PNG, image, test image. |
VoiceOver iOS 15.6 | Safari iOS 15.6 | Touch | URL read instead of image description, along with OCR text from image. | One thousand two hundred and thirty-four PNG, image, logo other, test image. |
SortSite rules: AccHtmlFrameIsNonText
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