object
with fallback content
Screen reader compatibility
Expected Result: works in a screen reader
Actual Result: causes problems in 35 screen reader / browser combinations
Browsers stopped displaying Flash content when Flash reached end-of-life in December 2020.
WCAG Technique: H53
Code used for this test:
<object data='startstop_movieclips.swf' type='application/x-shockwave-flash'>
<p>Fallback content for object</p>
</object>
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 from NVDA 2015.2 to NVDA 2019.2
NVDA with FF Better - caused problems in NVDA 2019.2, but now OK in NVDA 2022.2
JAWS with Chrome Causes problems from JAWS 2018.1811.2 to JAWS 2022.2207.25
JAWS with IE Causes problems from JAWS 13.0.852 to JAWS 2019.1912.1
JAWS with FF Better - caused problems in JAWS 2019.1912.1, but now OK in JAWS 2022.2207.25
VoiceOver macOS Better - caused problems in VoiceOver macOS 10.10, but now OK in VoiceOver macOS 12.5
VoiceOver iOS Stable - OK from VoiceOver iOS 8.3 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 Causes problems 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 |
---|---|---|---|---|
![]() | Chrome 105 | Reading | Flash is no longer supported by Chrome. | Fallback content for object. |
![]() | FF102 | Reading | Flash is no longer supported by Firefox. | Fallback content for object. |
![]() | Edge 105 | Reading | Flash is no longer supported by Edge. | Fallback content for object. |
![]() | Chrome 94 | Reading | Flash is no longer supported by Chrome. | Fallback content for object. |
![]() | FF91 | Reading | Flash is no longer supported by Firefox. | Fallback content for object. |
![]() | Edge 94 | Reading | Flash is no longer supported by Edge. | Fallback content for object. |
![]() | Chrome 86 | Reading | Flash is disabled in Chrome 76 and will be removed in Chrome 87. | Fallback content for object. |
![]() | FF78 | Reading | Flash is no longer supported by Firefox. | Fallback content for object. |
![]() | Edge 92 | Reading | Flash is no longer supported by Edge. | Fallback content for object. |
![]() | Chrome 79 | Reading | Flash is disabled in Chrome 76 and will be removed in Chrome 87. | Fallback content for object. |
![]() | FF68 | Reading | Unlabeled buttons, and no description of non-text content. | Clickable button. Button, hide plugin. Blank. |
![]() | IE11 | Reading | Fallback content not read, no description of non-text content | Embedded object |
![]() | Chrome 73 | Reading | Flash is disabled in Chrome 76 and will be removed in Chrome 87. | Fallback content for object. |
![]() | FF60 | Reading | Unlabeled buttons, and no description of non-text content. | Clickable button. Button, hide plugin. Blank. |
![]() | IE11 | Reading | Fallback content not read, no description of non-text content | Embedded object |
![]() | FF60 | Reading | No description voiced for object | Embedded object unavailable |
![]() | IE11 | Reading | Fallback content not read, no description of non-text content | Embedded object |
![]() | FF48 | Reading | Nothing voiced for object - no indication it exists | Blank |
![]() | IE11 | Reading | Fallback content not read, no description of non-text content | Embedded object |
![]() | FF38 | Reading | Nothing voiced for object - no indication it exists | Blank |
![]() | IE11 | Reading | Fallback content not read, no description of non-text content | Embedded object |
![]() | Chrome 105 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | FF102 | Reading | Fallback content for object | |
![]() | Edge 105 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | Chrome 94 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | FF91 | Reading | Fallback content for object | |
![]() | Edge 94 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | Chrome 86 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | FF78 | Reading | Fallback content for object | |
![]() | Edge 92 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | Chrome 79 | Reading | Nothing voiced for fallback content displayed on screen - no indication it exists | |
![]() | FF68 | Reading | Unlabeled buttons, and no description of non-text content. | Unlabeled zero button. Hide plugin button. |
![]() | IE11 | Reading | No description of non-text content | Start button. Stop button. |
![]() | Chrome 73 | Reading | Nothing voiced for object - no indication it exists | |
![]() | FF60 | Reading | Unlabeled buttons, and no description of non-text content. | Unlabeled zero button. Hide plugin button. |
![]() | IE11 | Reading | No description of non-text content | Start button. Stop button. |
![]() | FF52 | Reading | Nothing voiced for object - no indication it exists | |
![]() | IE11 | Reading | No description of non-text content | Flash start. Start button. Stop button. Flash end. |
![]() | FF48 | Reading | Nothing voiced for object - no indication it exists | |
![]() | IE11 | Reading | No description of non-text content | Flash start. Start button. Stop button. Flash end. |
![]() | FF41 | Reading | Fallback content for object | |
![]() | IE11 | Reading | No description of non-text content | Flash start. Start button. Stop button. Flash end. |
![]() | FF38 | Reading | Fallback content for object | |
![]() | IE11 | Reading | No description of non-text content | Flash start. Start button. Stop button. Flash end. |
![]() | FF38 | Reading | Fallback content for object | |
![]() | IE11 | Reading | No description of non-text content | Flash start. Start button. Stop button. Flash end. |
![]() | FF38 | Reading | No description of non-text content | Flash start. Flash end. |
![]() | IE11 | Reading | No description of non-text content | Flash start. Start button. Stop button. Flash end. |
![]() | IE11 | Reading | Fallback content for object | |
![]() | IE11 | Reading | Fallback content not read, no description of non-text content | Start button. Stop button. |
![]() | Safari 15.6 | Reading | Fallback content for object | |
![]() | Safari 15.0 | Reading | Fallback content for object | |
![]() | Safari 14.1 | Reading | Fallback content for object | |
![]() | Safari 13.0 | Reading | Fallback content for object | |
![]() | Safari 12.1 | Reading | Fallback content for object | |
![]() | Safari 10.1.2 | Reading | Fallback content for object | |
![]() | Safari 9.1.2 | Reading | Fallback content for object | |
![]() | Safari 8.0.6 | Reading | Nothing voiced for object - no indication it exists | Newline |
![]() | Safari iOS 15.6 | Touch | Fallback content for object | |
![]() | Safari iOS 14.7 | Touch | Fallback content for object | |
![]() | Safari iOS 13.3 | Touch | Fallback content for object | |
![]() | Safari iOS 12.4 | Touch | Fallback content for object | |
![]() | Safari iOS 11.4 | Touch | Fallback content for object | |
![]() | Safari iOS 10.3 | Touch | Fallback content for object | |
![]() | Safari iOS 9.1 | Touch | Fallback content for object | |
![]() | Safari iOS 8.3 | Touch | Fallback content for object | |
![]() | IE11 | Reading | No description of non-text content | Object, start button. Stop button. |
![]() | IE11 | Reading | No description of non-text content | Start of Flash Player. Button, start. Button, stop. End of Flash player. |
SortSite rules: AccHtmlObjectNoFallback AccHtmlTimedMediaPlaceholder
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