I really like this proposal. I think it's a step towards simplifying the media story on the web. It seems to me the ideal is:
<video> supports media that has visual and/or audio components. It has a bunch of configuration, controls, and events.
<audio> should just be <video> but without the visual part. If media is given to <audio> that doesn't have a visual component, it should error.
<img> should just be <video> but without the audio part, without controls, and a stripped back API (although more could be added). If media is given to <img> that doesn't have a visual component, it should error.
Safari has made a good step towards this by supporting video formats in <img>.
Given that we have formats like animated AVIF, which are just repackagings of a video format, there's very little difference between "image" formats and "video" formats.
As for the .duration, it feels like the answer should be 0, unless 1-frame videos do something different.
I really like this proposal. I think it's a step towards simplifying the media story on the web. It seems to me the ideal is:
<video>supports media that has visual and/or audio components. It has a bunch of configuration, controls, and events.<audio>should just be<video>but without the visual part. If media is given to<audio>that doesn't have a visual component, it should error.<img>should just be<video>but without the audio part, without controls, and a stripped back API (although more could be added). If media is given to<img>that doesn't have a visual component, it should error.Safari has made a good step towards this by supporting video formats in
<img>.Given that we have formats like animated AVIF, which are just repackagings of a video format, there's very little difference between "image" formats and "video" formats.
As for the
.duration, it feels like the answer should be 0, unless 1-frame videos do something different.