Who autoplay excludes
Autoplay is never neutral; it is a decision about who is welcome. A hero video that starts itself is unwatchable for a user who has set prefers-reduced-motion — they asked the whole system for calm, and the video ignores them. Sound that starts itself is a wall for screen-reader users, whose audio channel is already occupied by your page being read to them — the video voice and the screen reader voice fight. And motion that starts itself consumes bandwidth and battery for users who pay for both by the megabyte.
- Video: the default is a poster with a play button — the user's tap is the permission. Autoplay muted video, when genuinely atmospheric, must respect prefers-reduced-motion and stop at the first user scroll if it is decorative.
- Sound: never autoplay sound, ever — muted-by-default with a one-tap unmute is the only defensible pattern, and the unmute control must be visible and labelled, not a hidden hover icon.
- Carousels: auto-advancing carousels are autoplay for attention — they move content the user may be reading. Pause on hover and focus, provide prev/next, and never auto-advance faster than a reader can finish the longest slide's text.
- Animation loops: an infinite decorative animation (a drifting aurora, a pulsing badge) is autoplay too — it must pause under reduced motion and ideally under document.hidden, because animating an invisible tab is a battery tax on a user who is not even looking.
The permission framework
May it autoplay?
Is it sound? -> NO. Muted + one-tap unmute.
Does the user need it? -> No: poster + play button.
Yes (a demo, a map): muted autoplay
acceptable IF it stops on scroll.
Does it move continuously?-> Must pause under:
prefers-reduced-motion,
:hover / :focus, hidden tab.
Would it fight the reader?-> Never auto-advance reading content.The calm default
The professional pattern is boring on purpose: nothing moves or speaks until the user asks. The hero holds a beautiful still; the video waits behind a play button; the carousel waits for an arrow. Calm is not a lack of features — it is the default state that lets the user choose their own pace, and for the users autoplay excludes, it is the difference between a page they can use and a page that uses them.