- From: Jim Allan <jimallan@tsbvi.edu>
- Date: Thu, 10 Feb 2011 11:17:39 -0600
- To: WAI-ua <w3c-wai-ua@w3.org>
On Jan 27 meeting, we discussed autoplay and posited several questions. I wrote to several folks and the HTML5 A11Y taskforce. Thread got lengthy. I gleaned the following and created the IER which follows. AutoPlay 2.9.2 Time-Based Media Load-Only: The user can load time-based media content such that the first frame is displayed (if video), but the content is not played until explicit user request. (Level A) Intent: Essentially, autoplay for media is off/paused, until the user activates 'play'. Prevent media from playing without explicit request from the user. For example, Uart, a screen reader user, opens a page with an audio element that starts playing immediately. The user cannot hear the screen reader because of the noise from the audio element, and must search through the page to find the 'noisy' element to turn it off (or pause). Once the screen reader is the sole source of audio the user can read the page and determine if the audio is important and choose to play it. Examples: 1. one could use the same techniques that are used for pop-up blockers to see if the play() request was from user interaction or a background script. If isn't from direct user interaction, one could ask the user to explicitly allow the media to play, perhaps remembering the choice for the site. 2. playback of a <video> or <audio> element can only be triggered in response to a user gesture on a touch screen device with no keyboard (like pop-up blockers). This has caused no end of bug reports because it is impossible to differentiate script originated "auto play" from playback triggered by a script after a delay, 3. user global control in the UA, that calls "paused for user interaction" for all media. Resources: 1. HTML5 4.8.10.8 Playing the media resource (http://dev.w3.org/html5/spec/Overview.html#playing-the-media-resource) ========================================= Notes from stream http://lists.w3.org/Archives/Public/w3c-wai-ua/2011JanMar/0022.html 1.Opera has a user preference to disable autoplay (soon to be in desktop version) one could use the same techniques that are used for pop-up blockers to see if the play() request was from user interaction or a background script. If isn't from direct user interaction, one could ask the user to explicitly allow the media to play, perhaps remembering the choice for the site. However, this kind of thing would be an opt-in setting, since we don't want to bother users with lots of dialogs by default. 2. what about Flash We have little to no control over what plug-ins do, the settings I mention would only apply to HTML <audio> and <video>. The closest thing we have in Opera is something we call "On Demand Plugins", which requires manually activating plugins. (In fact, that we have so little knowledge and control over what plugins are doing is one of the main reasons for developing <audio> and <video> in the first place.) 3. iOS iOS devices have this restriction - playback of a <video> or <audio> element can only be triggered in response to a user gesture (like pop-up blockers). This has caused no end of bug reports because it is impossible to differentiate script originated "auto play" from playback triggered by a script after a delay, 4. A solution that might perhaps be less prone to breaking sites would be to just do what the spec calls "paused for user interaction", which would fire a waiting event and behave similarly to a network stall. 5. 'autoplay' was added specifically so a UA can have a "don't autoplay" preference 6. have each UA provide a "pause all media elements" API for assistive technology products so the user can pause playback by touching a key. I like this idea because it puts control in the hands of the user, the only one that actually knows when they don't want to hear something play. 7. I don't think we can solve this problem programmatically in way that doesn't cause other problems for everyone. 8. When my browser crashes and I reload it with all the tabs that were open beforehand, I sometimes have videos start playback in tabs that I didn't even remember I had open. It would be very good to have a button: "pause all media elements on any tab", which then avoids me having to go look through all the tabs to find the one that is causing the autoplay trouble. ** the button would pause all currently playing media elements at that instant - not disable playback altogether. ** Maybe another UA function assistive technology products can use to "resume all media elements"? 9. 'UAs may have a setting "standard play is disabled" which means that auto-play, play(), the built-in controller, none of them can play the content. Instead, the UA must offer some affordance to control play/pause.' This is not ideal, especially for audio-only elements, where it's not obvious what affordance would work, and it is probably not obvious to the user that something *might* have played (and hence they should look for the affordance). 10. Basically it says it's OK to give control completely to the UA and take it from the markup and scripts. It has obvious downsides; if playback is supposed to be accompanied by other page actions, it won't be, unless the page is written in such a way to do those based on events. ** I don't think this works at all for a page with lots elements, or with <audio> and <video> elements are are not in the DOM. For example, what sort of UI would you expect for a page with 50 hidden audio elements? Or how is a user that can't see the page supposed to quickly find the noisy element in a page one <audio> element but lots of other elements? ***This strawman (which is quite aggressive) should force *en*able the built-in controller. So, this is a setting "source-directed play is disabled" (meaning auto-play, scripts, and so on). Only the user gets to choose what to play and when. Maybe there is some indication (like what?) of what the page would have played if it had been allowed (the page is 'trying' to play this element but you've told it not to)? 11. If I click on a link that takes me to a new page whose sole purpose was to play me an audio (maybe accompanied by other material), for example, the audio is the primary content. -- Jim Allan, Accessibility Coordinator & Webmaster Texas School for the Blind and Visually Impaired 1100 W. 45th St., Austin, Texas 78756 voice 512.206.9315 fax: 512.206.9264 http://www.tsbvi.edu/ "We shape our tools and thereafter our tools shape us." McLuhan, 1964
Received on Thursday, 10 February 2011 17:18:14 UTC