Description
When activating the Play button on a Video.js player, a loading state is visually indicated; however, screen reader users are not informed that the video is loading.
This results in non-visual users receiving no feedback after initiating playback, leaving them unsure whether the action was successful or the player is still loading.
Environment
Screen Reader: VoiceOver
Platform: macOS
Video.js Version: v8.23.4
Steps to Reproduce
-
Load a video player implemented using Video.js.
-
Navigate to the Play button using a screen reader.
-
Activate the Play button.
-
Observe screen reader announcements during video loading.
Expected Result
- When playback is initiated and the video is loading, the screen reader should announce a status message such as “Loading video”.
-This announcements should be provided via an accessible status mechanism (e.g., aria-live) without requiring focus movement.
Actual Result
-
After activating the Play button, the video enters a loading state.
-
A visual loading indicator is displayed.
-
No loading or loading-complete status is announced by the screen reader.
-
Screen reader users receive no feedback until audio playback begins.
Accessibility Impact
-
Screen reader users are unaware that the video is loading after activating Play.
-
Users cannot determine whether playback is in progress, delayed, or failed.
-
This does not meet WCAG 2.2 – 4.1.3 (Status Messages), which requires that important state changes be announced to assistive technologies.
-
Sighted users receive clear visual feedback, but assistive technology users do not.
Additional Notes
-
The loading state appears to be visually implemented but not programmatically exposed to assistive technologies.
-
This behavior appears to originate from Video.js library code, not application-level logic.
-
Exposing the loading and loaded states via a live region or equivalent status announcement would resolve the issue.
Reference Video:
https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
This publicly available MP4 can be used to observe the video loading/buffering state where a visual loading indicator appears but no loading or completion status is announced to screen reader users.
Description
When activating the Play button on a Video.js player, a loading state is visually indicated; however, screen reader users are not informed that the video is loading.
This results in non-visual users receiving no feedback after initiating playback, leaving them unsure whether the action was successful or the player is still loading.
Environment
Screen Reader: VoiceOver
Platform: macOS
Video.js Version: v8.23.4
Steps to Reproduce
Load a video player implemented using Video.js.
Navigate to the Play button using a screen reader.
Activate the Play button.
Observe screen reader announcements during video loading.
Expected Result
-This announcements should be provided via an accessible status mechanism (e.g., aria-live) without requiring focus movement.
Actual Result
After activating the Play button, the video enters a loading state.
A visual loading indicator is displayed.
No loading or loading-complete status is announced by the screen reader.
Screen reader users receive no feedback until audio playback begins.
Accessibility Impact
Screen reader users are unaware that the video is loading after activating Play.
Users cannot determine whether playback is in progress, delayed, or failed.
This does not meet WCAG 2.2 – 4.1.3 (Status Messages), which requires that important state changes be announced to assistive technologies.
Sighted users receive clear visual feedback, but assistive technology users do not.
Additional Notes
The loading state appears to be visually implemented but not programmatically exposed to assistive technologies.
This behavior appears to originate from Video.js library code, not application-level logic.
Exposing the loading and loaded states via a live region or equivalent status announcement would resolve the issue.
Reference Video:
https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4
This publicly available MP4 can be used to observe the video loading/buffering state where a visual loading indicator appears but no loading or completion status is announced to screen reader users.