- From: Al Gilman <Alfred.S.Gilman@IEEE.org>
- Date: Thu, 24 Apr 2008 07:06:36 -0400
- To: Gregory J. Rosmaita <oedipus@hicom.net>
- Cc: public-xhtml2@w3.org, w3c-wai-ua@w3.org, wai-xtech@w3.org
summary at foot, but the bottom line is that it should remain boolean On 14 Apr 2008, at 1:03 PM, Gregory J. Rosmaita wrote: > > disclaimer: i fully realize that simply because the XHTML Access > Module is so named, it isn't a document that is intended for > accessibility per se, but exists to define a standardized mechanism > for anyone to access objects and elements from the keyboard, whatever > form that keyboard might take... > > still, i have a question on the most recent working draft, given the > second paragraph of Section 3.1.2. > > <quote > cite="http://www.w3.org/MarkUp/2008/WD-xhtml-access-20080418/ > #sec_3.1.2."> > > Triggering an access key defined in an access element changes focus to > the next element in navigation order from the current focus that > has one > of the the referenced role or id values. Note that it is possible to > deliver alternate events via [XMLEVENTS]. It is also possible to > have the > target element activated through the use of the activate attribute. > Finally, it is possible to associate additional event handlers with > target which might then perform additional actions once focus is > changed. > > </quote> > > must activate be boolean? or, rather, can it logically be boolean, > given > that alternate events may be available through the defined "key", > and it > is usually the user who knows which event is most suitable for that > user's needs... The author's guess will be most suitable for most people most of the time. In other words, this feature *is* designed for "author proposes, user disposes" and the 'author proposes' part still adds value. > which brings us to the the scenario where a user who wishes to move > focus to an element for which an access element has been defined, but > who needs to delay the event (if activate="yes") in order to inspect > the object with focus for whatever options it might contain... is the > assumption that this be where an assistive technology kicks in by > responding to an access command by moving focus and then -- through > the > assistive technology's UI -- provide an exposition of possible > actions/options, before the user decides to trigger the event? AT is the user preference agent of last resort. The browser may offer the global option to rewrite @activate to 'no' or more subtle @activate rewriting policies. But the people who need to second-guess the hotkeys the most are people who get along with the help of AT at the current state of practice. The point is that the 'user disposes' should be implemented in AT, browser, or context-adaptive server and not in the authoring process. The authoring process leaves the necessary options open because 'focus' affords the user the opportunity to 'inspect' and the markup leaves the control in the DOM where post-author processing can overrule the author's proposal as necessary or preferred. > there > is a large population served by accessibility features that do NOT use > nor need a dedicated assistive technology, so is it fair to place the > onus for > > activate="inspect" any difference between activate="inspect" and activate="no" should be handled in onFocus processing of the destination object, and not in the accelerator, pending richer XML Events as noted. > on assistive technology, when, given the possibility of defining > multiple > events for a single element, such a functionality should be built into > the access module itself? it is similar to the trigger concept, > endowing > activate with an additional safety mechanism -- the ability to half- > cock > the trigger before deciding whether or not to fire, at which target to > fire (in the case of multiple targets/events, or whether to uncock the > trigger... Summary: We should leave the 'activate' attribute boolean. The user who wishes to always focus and not activate will need to arrange their UA to overwrite onLoad this attribute to not activate. The format does its part by putting the option in a state in a DOM attribute where the user policies communicated to the client software can overcall the author's proposed behavior. Once the destination element is focused, inspection is appropriate when the pattern of actions at the target element is unfamiliar. accessible custom hotkeys: http://lists.w3.org/Archives/Public/wai-xtech/2008Apr/0013.html If an element accepts multiple events that dispatch different actions, the system needs to provide a way for the user to discover the multiplicity, and what the actions are and how they are triggered. There are a variety of ways to achieve this: Element has a familiar role and the repertory of actions reflects that role. Role is reflected by the visible appearance of the object and spoken / injected by AT. Another is context help written by the author. New and uncommon actions should always have this. With declarative handlers more of this can be generated, but the state of practice isn't there yet. So the authors writing the scripted behaviors have to write the hypertext help as well. But they know that. not that we shouldn't also tell them so. Context help generated by the browser and/or AT based on inspecting the DOM. We have in the queue in DOM3 the ability to query what events an object is sensitive to. The main point is that if the user needs help noticing that they need to inspect this object to ask "what can I do" then they need to arrange their user software to automatically query the context help and not just the author's tooltip onFocus. And they need this whether they hotkeyed to the object or focused it by tabbing. If a user wants to selectively accept some hotkeys at the author's level of fire-or-focus, but wants to inspect the destination object of some hotkeys, there are a variety of approaches. The onLoad processor that edits the @activate attribute on access elements can have more subtle policies driven by selectors for trusted actions (where the hotkey will activate) and those not on the whitelist get forced to not activate. Or the user can install a handler that responds to a variant user input gesture based on the same mnemonic, but that only navigates to the destination element per the access element as if @activate were negative. The author knows which action they think their users will want automated. The presumption in this design is that of the multiple actions on a multi-action object, only one action per object will be on the 'accelerate' menu. This is the dominant action of the object that is termed its 'activate' action. This certainly covers the vast majority of shortcuts attempted to date with ACCESSKEY. This restriction only holds until XML Events as planned is available. The user may know which of the alternate actions they would prefer. But also only the user knows if they want to justDoIt or they want to dally inspecting. Forcing @activate on <access> to not-activate onLoad keeps the user in firm control but requires the user to take more time and generate more user input events. The main reason that 'focus' is enough and 'inspect' is not suitable as a value of the @activate attribute is that the difference between them belongs bound to the destination object, and not on the accelerator. The inspection is needed or wasted time as a function of the destination object and its actions, familiar or unfamiliar; regardless of whether focus arrives at that object as a result of the accelerator or some other means. Al > gregory. > ----------------------------------------------------------- > IMPARTIAL, adj. Unable to perceive any promise of personal > advantage from espousing either side of a controversy or > adopting either of two conflicting opinions. > -- Ambrose Bierce, The Devil's Dictionary > ----------------------------------------------------------- > Gregory J. Rosmaita: oedipus@hicom.net > Camera Obscura: http://www.hicom.net/~oedipus/ > Oedipus' Online Complex: http://my.opera.com/oedipus > ----------------------------------------------------------- > >
Received on Thursday, 24 April 2008 11:07:19 UTC