Key bindings in content

On the User Agent Working Group call today we discussed the following P2 requirement
"Provide a centralized view of the current author specified input configuration." [1]
For example, the user agent is to provide a view of the keyboard bindings specified by the author through the 'accesskey' attribute.

In the discussion, an email web application was discussed that was using JavaScript to capture non-edit keystrokes and converting them to functional operations. For example, hitting the 'c' key opens the compose page. These key bindings and the related functions are captured and processed by JavaScript (we think). There is no onscreen text associated with the key binding. UAWG is not sure that user agents can extract the key binding from the script processing. And, if a user agent could extract the key binding, is there usable and understandable information in the JavaScript concerning the key binding's name, role and function.
For example:
Key binding - c
Name - ? (could 'compose' be the name?) 
role - command (?)
function - open compose page in place of the current page   

In reading WCAG 2 [2] I could not find any requirement for the author to document or inform the user of keyboard bindings for web-based applications. Does such a requirement exist?

It may fall under 
4.1.2  For all user interface components, the name and role can be programmatically determined, values that can be set by the user can be programmatically set, and notification of changes to these items is available to user agents, including assistive technologies. [How to meet 4.1.2] 

Does 4.1.2 say - 
1) key bindings are user interface components?
2) the name and role must be programmatically determinable?
3) it is the sole responsibility of the user agent and/or the assistive technology to structure and expose key binding and user interface information to the user?
4) the author is not required to document the user interface of web applications? 



Jim Allan, Chair UAWG

Received on Thursday, 7 December 2006 22:59:32 UTC