Re: Looking for access to keyboard shortcuts for web apps

Hi Jeff, this sounds like a reasonable idea. Perhaps this is one  
potential solution to the #9 request on the following page.

A couple initial nits with the format though:

1. Since we're talking about keystrokes and keycodes, perhaps being  
plist-based (<key>) overly complicates the readability of the markup.  
It may be better to define a custom XML DTD or Schema, rather than  
just a simple plist.

2. How would you define the down arrow key? You may need a reserved  
NMTOKEN or to use '40' as the keyCode. However, defining some  
characters as accesskeys (@, $, %, &) may be more difficult to define  
with keyCodes since they may require a modifier key and tend to change  
key positions depending on locality. If you continue on this path,  
start thinking about possible NMTOKENs that may be useful in addition  
to the literal characters you've defined for keystrokes.

On Jun 15, 2009, at 3:21 PM, jeff ganyard wrote:

> Greetings All,
> after much inquiry, I have come to understand this as the place to  
> go to suggest something to help make web apps more accessible. My  
> company produces a product call MacSpeech Dictate, amongst other  
> things we try to make the Mac experience more accessible to our  
> users, with a definite focus on speech as an input medium.
> A while back I was trying work out a solution for a user to help  
> them access a particular web app, it really could have been any  
> robust and well developed web application. I was unable to find any  
> kind of standard way to provide access to commands. Since web apps  
> exist within other apps, the traditional modifier keys aren't really  
> available since they would more likely cause the browser to do  
> something not the web app. And as a logical result this web app  
> provides keyboard shortcuts that consist of single unmodified keys.  
> This web app provided a link to a help page with a list of the keys  
> and the descriptions of what actions those commands execute. And so  
> Iw as able to scrape that page and manually create commands for that  
> user. A solution that obviously isn't scalable.
> So I started thinking about approaches.. and it seems that any web  
> app developer that is using key shortcuts would have a list readily  
> available or at worst it could be reasonably easy to produce. So why  
> not publish them in a file in some useful machine readable format?  
> Then let other developers and solution providers have an easy way to  
> access this simple but standard format. Put the file at the site  
> root, and think of it like a robots.txt or even a favicon.ico file,  
> it's just part of the process of building a complete offering.
> Thinking on it in terms of implementation, I have thought about  
> having them available as a REL link but at least at this point, for  
> efficiency, I would prefer to grab this file on a per domain basis  
> not a per URI basis. So the file should include some patterns for  
> URL matching to determine when a given collection of keys would be  
> functional/available/enabled.
> Below is a suggested format. Though in reality, the format is not  
> the important aspect, not nearly as much as the adoption of *some*  
> format. It is included to help get the ball started rolling...
> Please comment, append, edit, slash, embrace the suggestion as you  
> feel appropriate.
> thanks for your time,
>  Jeff Ganyard
> <dict>
>  <key>location</key>
>  <dict>
>    <key>URL</key>
>    <string>pattern</string>
>    <key>keystrokes</key>
>    <dict>
>      <key>A</key>
>      <dict>
>        <key>a</key>
>        <string>A key</string>
>        <key>description</key>
>        <dict>
>          <key>en</key>
>          <string>A key</string>
>          <key>fr</key>
>          <string>A clef</string>
>        </dict>
>      </dict>
>      <key>B</key>
>      <dict>
>        <key>b</key>
>        <string>B key</string>
>        <key>description</key>
>        <dict>
>          <key>en</key>
>          <string>B key</string>
>          <key>fr</key>
>          <string>B clef</string>
>        </dict>
>      </dict>
>    </dict>
>  </dict>
> </dict>

Received on Tuesday, 16 June 2009 17:31:00 UTC