Video poster images provided and optimized
Why it matters
A <video> element without a poster attribute renders a blank or black rectangle until the user interacts with it (ISO-25010 time-behaviour). On autoplay-restricted mobile browsers, a video without a poster remains visually empty indefinitely. This degrades perceived page quality, makes above-fold video sections look broken on slow connections, and signals to users that the page has not fully loaded. A properly optimized poster image adds negligible bytes while providing immediate visual feedback.
Severity rationale
Low because missing poster images degrade perceived page completeness and visual polish but do not break core functionality or expose security risks.
Remediation
Add a poster attribute to every <video> element, pointing to an optimized WebP image:
<video
controls
poster="/videos/demo-poster.webp"
width="800"
height="450"
preload="none"
>
<source src="/videos/demo.mp4" type="video/mp4">
</video>
Keep poster images under 100 KB — use WebP at 70–80% quality. Generate them from the video's first frame:
ffmpeg -i demo.mp4 -vframes 1 -q:v 2 demo-poster.jpg
cwebp -q 75 demo-poster.jpg -o demo-poster.webp
Set preload="none" on below-fold videos so the video file itself is not downloaded until user interaction. The poster file is the only asset needed for initial render.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Performance Core Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · performance-efficiency.time-behaviour — Time Behaviour
Taxons
History
- 2026-04-18·v1.0.0·Initial import from performance-core·automated