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 |
---|---|---|---|---|
![]() | Chrome 131 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
![]() | Chrome 131 | Tabbing | Complete silence when tabbing to frame. | |
![]() | FF 128 | Reading | Graphic has no accessible name. | This is frame title frame, graphic clickable, one thousand two hundred and thirty-four dot PNG. |
![]() | FF 128 | Tabbing | Complete silence when tabbing to frame. | |
![]() | Edge 131 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
![]() | Edge 131 | Tabbing | Complete silence when tabbing to frame. | |
![]() | Chrome 120 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
![]() | Chrome 120 | Tabbing | Complete silence when tabbing to frame. | |
![]() | FF 115 | Reading | Graphic has no accessible name. | This is frame title frame, graphic clickable, one thousand two hundred and thirty-four dot PNG. |
![]() | FF 115 | Tabbing | Complete silence when tabbing to frame. | |
![]() | Edge 120 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
![]() | Edge 120 | Tabbing | Complete silence when tabbing to frame. | |
![]() | Chrome 105 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
![]() | Chrome 105 | Tabbing | Complete silence when tabbing to frame. | |
![]() | FF 102 | Reading | Graphic has no accessible name. | This is frame title frame, graphic clickable, one thousand two hundred and thirty-four dot PNG. |
![]() | FF 102 | Tabbing | Complete silence when tabbing to frame. | |
![]() | Edge 105 | Reading | Unlabeled graphic has no accessible name. | This is frame title frame, unlabeled graphic, to get missing descriptions open the context menu. |
![]() | Edge 105 | Tabbing | Complete silence when tabbing to frame. | |
![]() | Chrome 131 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
![]() | Chrome 131 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
![]() | FF 128 | Reading | Graphic has no accessible name. | Twelve thirty-four dot PNG graphic. |
![]() | FF 128 | Tabbing | Graphic has no accessible name. | This is frame title frame. Twelve thirty-four PNG graphic. |
![]() | Edge 131 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
![]() | Edge 131 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
![]() | Chrome 120 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
![]() | Chrome 120 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
![]() | FF 115 | Reading | Graphic has no accessible name. | Twelve thirty-four PNG graphic. |
![]() | FF 115 | Tabbing | Graphic has no accessible name. | This is frame title frame. Twelve thirty-four PNG graphic. |
![]() | Edge 120 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
![]() | Edge 120 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame, to get missing descriptions open the context menu, unlabeled graphic. |
![]() | Chrome 105 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
![]() | Chrome 105 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame. This is frame title, unlabeled graphic. |
![]() | FF 102 | Reading | Graphic has no accessible name. | Twelve thirty-four PNG graphic. |
![]() | FF 102 | Tabbing | Graphic has no accessible name. | This is frame title frame. This is frame title, graphic. |
![]() | Edge 105 | Reading | Unlabeled graphic has no accessible name. | To get missing descriptions open the context menu, unlabeled graphic. |
![]() | Edge 105 | Tabbing | Unlabeled graphic has no accessible name. | This is frame title frame. This is frame title, unlabeled graphic. |
![]() | Safari 17.6 | Reading | This is frame title, frame | |
![]() | Safari 17.6 | Tabbing | Skipped by tabbing as expected. | |
![]() | Safari 16.6 | Reading | This is frame title, frame | |
![]() | Safari 16.6 | Tabbing | Skipped by tabbing as expected. | |
![]() | Safari 15.6 | Reading | This is frame title, frame | |
![]() | Safari 15.6 | Tabbing | Skipped by tabbing as expected. | |
![]() | 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. |
![]() | 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. |
![]() | 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. |
![]() | 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