- From: Robert J Burns <rob@robburns.com>
- Date: Fri, 13 Mar 2009 21:25:00 -0500
- To: Maciej Stachowiak <mjs@apple.com>, "L. David Baron" <dbaron@dbaron.org>
- Cc: Boris Zbarsky <bzbarsky@mit.edu>, HTMLWG <public-html@w3.org>
- Message-Id: <00FBD4AF-1CF1-4175-B776-EAA9A45CE115@robburns.com>
Hi Maciej DavidB, and Boris, On Mar 13, 2009, at 4:15 PM, Maciej Stachowiak wrote: > > On Mar 13, 2009, at 12:39 PM, Boris Zbarsky wrote: > >> Maciej Stachowiak wrote: >>> In general, Safari, Opera and Gecko try to coordinate NPAPI >>> changes via plugin-futures and even though not every browser >>> implements all recent additions, we do at least try to design them >>> not to be specific to one browser. >> >> Right; I'm not suggesting that the intrinsic size API wouldn't be >> designed in such a way that all the browsers involved can implement >> it. Just that I can't speak on behalf of anyone but Gecko in terms >> of wanting to implement it. ;) > > I think a way for plugins to report intrinsic size would be a useful > general addition to the plugin API. From the discussion surrounding the 'object' element I think this suggestion may be merely the tip of the iceberg. Other parameters (many read/write) that would be useful to share between UA and plugins: - contextual menu enhancement (where the UA creates the contextual menu but provides space for the plugin to add items as Leif's test demonstrate[1]) - parameters for -- spatial (note these would only be one part of the information used to determine the displayed dimensions) * inherent dimensions * inherent aspect ratio -- temporal * play/pause * frame * time-index -- audible * volume level * mute * balance * alternate audio tracks (listing, enabling/disabling, volume levels) -- text equivalents (subtitles and captions) * listing of available text equivalents: captions and subtitles * enabling / disabling of one or more text equivalent * spatial arrangement of one or more text equivalent Obviously not all of these suggested parameter interfaces apply to all plugins. However, by allowing plugins to opt into these we can provide a richer experience for users and build accessibility into documents by default. Similarly, whenever an object for a particular plugin has focus, controls corresponding to these parameters can be made available to the user (including disabled users). For example, a video plugin may make use of all of these interfaces while an audio plugin may only use the temporal and audible interfaces. A specialized application/* plugin might make use of a completely different set. An audio content handler plugin might even make use of spatial parameters to, for example, display an oscilloscope What this means is that the simple authoring approach ("<object data='resource'>fallback/alternate text</object>") is all that an author requires for most use cases to gain a rich user experience and complete accessibility. Obviously an author may want to do more, but this makes the simple things simple and the complicated things possible. This is the type of approach that makes documents accessible by default with the most limited authoring burden. This also allows a UA (cooperating with a plugin) to provide complete user interface controls for these features (automatically accessible from the HTML authors perspective). This doesn't have to be NPAPI-specific. HTML5 (or another spec) could define a set of plugin requirements for a UA plugin architecture and any plugin API could then conform to those requirements. It is remarkable given the broad scope of the HTML5 draft that plugin architecture has not taken a more significant role. Take care, Rob [1]: <http://www.malform.no/html5/object>
Received on Saturday, 14 March 2009 02:25:39 UTC