Limitations on playback - user gestures, preferences etc
Media elements often require a user gesture for playback - either directly, or through the chain of input that ultimately results in the playback.
Playback can also be limited based on things like user configuration, reduced motion or battery levels (though I'm not sure which of these are mandatory versus optionally being disabled per-site by conscientious developers.)
I don't believe we have currently established any requirements for when programmatic playback should be prevented - is there a standard template to follow? Do we think that the video playback case is enough to copy verbatim?
/agenda
Should we think of model in this case as closer to a video element or closer to a canvas element? It would be bad if a WebGL usage on a page needed a user gesture to begin rAF'ing. Or a regular element's CSS animation (in the general/default case i.e. not reduced motion mode, etc).
Looking at video spec, the language seems to leave a lot up to the UA for what it wants it's autoplay behavior restrictions to be, if any. Maybe the below language can be roughly mirrored.
The autoplay attribute is a boolean attribute. When present, the user agent (as described in the algorithm described herein) will automatically begin playback of the media resource as soon as it can do so without stopping. https://html.spec.whatwg.org/multipage/media.html#attr-media-autoplay
A media element is said to be allowed to play if the user agent and the system allow media playback in the current context.
For example, a user agent could allow playback only when the media element's Window object has transient activation, but an exception could be made to allow playback while muted. https://html.spec.whatwg.org/multipage/media.html#eligible-for-autoplay