- From: <thatch@us.ibm.com>
- Date: Tue, 26 Oct 1999 14:59:34 -0500
- To: Ian Jacobs <ij@w3.org>
- cc: w3c-wai-ua@w3.org
I have a suggestion for the reworded 1.1. Here is the current rewording (also attached): quote. Ensure that every functionality offered through the user interface is available through every input device API implemented by the user agent. Note: User agents are not required to reimplement low-level functionalities (e.g., for character input or pointer motion) that are inherently bound to a particular API and most naturally implemented through that API. [Priority 1] endquote. The first sentence is, in effect, contradicted by the note. I propose quote Note: endquote be replaced by quote However, endquote, so that the fact of an exception is made explicit. That done, I wish someone could ppresent an accessibility reason for having this checkpoint, a reason that is not covered by other checkpoints, 1.2 and 1.4 in particular. Jim Thatcher IBM Special Needs Systems www.ibm.com/sns HPR Documentation page: http://www.austin.ibm.com/sns/hprdoc.html thatch@us.ibm.com (512)838-0432 Ian Jacobs <ij@w3.org> on 10/26/99 01:36:39 PM To: w3c-wai-ua@w3.org cc: Subject: Proposed clarification to checkpoint 1.1 Hello, Jim and I had a brief discussion in which were raised a couple of issues about checkpoint 1.1 (from [1]): 1.1 Ensure that all functionalities offered through the user interface are available through input device APIs implemented by the user agent. [Priority 1] 1) Issue 1: The general goal of this checkpoint is that the user be able to operate the user agent through supported input devices. Proposed Clarification: Jim suggested that we say that the user must be able to "initiate" all user agent functionalities. 2) Issue 2: Some functionalities may actually be bound to one (or more) API. For example, text entry is more naturally done (if not exclusively) through the keyboard API. The user agent should not be required to allow text entry through the mouse API if the mouse API doesn't support text entry. Recall that Harvey asked whether the user had to be able to enter text with the mouse. The answer was "no" - this is the realm of the keyboard and that by supporting text entry through the standard keyboard API, the user agent had satisfied requirements for text entry. However, checkpoint 1.1 as written doesn't capture this entirely - it doesn't say that some types of input are more appropriate for a particular API (or inappropriate for another). Question: Are there mouse API-specific input actions that it doesn't make sense to simulate with the keyboard API? Statement of principles: 1) It is bad design to bind a high-level functionality (e.g., Open View) to an input method that is tightly bound to a single input device API. 2) It is good design to use the appropriate input device API for actions (such as text entry) that are closely bound to it. In light of these two issues, I propose the following clarification to 1.1: Ensure that every functionality offered through the user interface is available through every input device API implemented by the user agent. Note: User agents are not required to reimplement low-level functionalities (e.g., for character input or pointer motion) that are inherently bound to a particular API and most naturally implemented through that API. [Priority 1] (The Note might go after the checkpoint text as well, and not necessarily be part of it.) For instance, from the X Window Xlib documentation, section 2.2.3.1: <BLOCKQUOTE> Key events from extension devices contain all the information that is contained in a key event from the X keyboard. </BLOCKQUOTE> And from section 2.2.3.3: <BLOCKQUOTE> Motion events from extension devices contain all the information that is contained in a motion event from the X pointer. </BLOCKQUOTE> These passages (and there may be better, clearer ones, but I'm not an X Window expert) suggest that *the* way to get keyboard input is by listening to key events (DeviceKeyPress and DeviceKeyRelease) and that motion events provide information about pointer movements. It's therefore only natural to use the appropriate parts of the X Window protocol to handle character input and user agents should not be required to implement character input through another API (or another part of the X event model in this case). This is probably obvious to developers anyway. 3) Issue 3: It's not clear enough that some checkpoints are redundant, more specific instances of other checkpoints. We should state this clearly so that readers don't think the checkpoints are orthogonal in scope. w[1] http://www.w3.org/WAI/UA/WAI-USERAGENT-19991022/ [2] http://cmos-eng.rehab.uiuc.edu/ua-issues/issues-linear.html#68 -- Ian Jacobs (jacobs@w3.org) http://www.w3.org/People/Jacobs Tel/Fax: +1 212 684-1814 Cell: +1 917 450-8783
Received on Tuesday, 26 October 1999 16:02:04 UTC