Re: Proposed modification to Guideline 1 and Guideline 2

Ref: http://www.w3.org/WAI/UA/1999/10/g1g2-proposal
Note: I haven't cut this down, skip to AG:: for my comments.  Sorry I am
not up to date with discussion since this was posted.  You may have got all
these points already.

             Proposed modification to Guideline 1 and Guideline 2
                                       
Background

   The following proposal attempts to address a number of concerns about
   Guidelines 1 and 2 that were raised by Marja Koivunen (refer to
   [1]Marja's message of 29 September 1999. See also [2]Marja's comments
   on Guidelines 1 and 2 upon which this proposal is founded. It also
   takes into account [3]changes proposed by Rich Schwerdtfeger.
   
   The goals of this proposal are the following:
     * Ensure that it is clear how important the keyboard is to
       accessibility. At the same time, make sure that developers realize
       that the keyboard is not the only solution to accessibility:
       certain functionalities should be addressed in a larger context
       than keyboard alone.
     * Clarify that in terms of the user interface, the user needs to
       know what the current behavior is (e.g., keyboard bindings), not
       whether the behavior initiated with the user agent or author.

AG:: I believe that that is incorrect in human-computer interaction terms
a.k.a.
human factors.  The first or highest requirement is indeed that the user be
able to know and look up what the exact key bindings are right now; but it
is also valuable and important that the user be able to know and remember
which of these are there because of the client program and will be the same
for all pages.   Conversely which are ephemeral and cannot be expected to
act the same elsewhere.

     * Ensure that the user can interact with the user interface in an
       output device-independent, not just input device-dependent manner.
       Note. This does not imply that UAs need to support every output
       device API, only that for supported output device APIs, that all
       functionalities be available. For instance, one must be able to
       get feedback about navigation in a way that does not rely on a
       two-dimensional graphical rendering.
       
  Why make this proposal now?
  
     * I think we gain a lot at little cost.
     * Marja has raised legitimate issues that were debated on the list
       and merit resolution.
       
  Notes on the proposal
  
     * Reference document: [4]22 October draft
     * All checkpoints of Guideline 2 are dispersed to Guidelines 1 and
       11. There are no new checkpoints. Checkpoints formerly numbered
       1.3, 1.4, and 1.5 from the 22 October draft have been subsumed by
       checkpoint 1.1.
     * Checkpoint 6.1 reads: Implement the standard input and output
       device APIs supported by the operating system (e.g., mouse,
       keyboard, speech, etc.) [Priority 1]. It's a judgment call whether
       this should be in Guideline 6 ( conventions) or Guideline 1 (on
       input/output APIs). Supposing it is dropped from Guideline 6, it
       appears here as checkpoint 1.3. This was also a proposal from
       Rick, although he integrated it into checkpoint 1.1.
     * Note that 1.2 (active elements) is redundant with 1.1 (all
       functionalities). However, it is important enough to stand alone.
     * Similarly, 1.3 (standard input/output) is redundant with 1.4
       (support the keyboard) but 1.4 is important enough to stand alone.
     * The rationale of G1 and G2 will have to be edited accordingly. As
       part of emphasizing the importance of the keyboard to
       accessibility, the pertinent prose would be retained in Guideline
       1.
       
   Summary of the fate of old checkpoints:
     * Was 1.1 = Now 1.1
     * Was 1.2 = Now 1.2

     * Was 1.3 Subsumbed by 1.1
     * Was 1.4 Subsumbed by 1.1
     * Was 1.5 Subsumbed by 1.1
     * Was 1.6 Generalized to all output information (not just messages).
     * Was 2.1 = Now 1.4
     * Was 2.2 = Now 11.1
     * Was 2.3 = Now 11.2
     * Was 2.4 = Now 11.3
     * Was 2.5 = Subsumed by 11.3
     * Was 2.6 = Now 11.4
     * Was 2.7 = Now 11.5
     * Was 2.8 = Now 11.7
     * Was 6.1 = Now 1.3
     * Was 11.1 = Now 11.6
     * Was 11.2 = Now 11.8
       
2. User Agent Accessibility Guidelines

  Guideline 1. Support input and output device-independence
  
   1.1 Ensure that all functionalities offered through the user interface
          are available through input device APIs implemented by the user
          agent. Functionalities include installation procedures, control
          of the user interface, access to documentation, and
          configuration. [Priority 1]
          Note. Functionalities include being able to show, hide, resize
          and move graphical [5]viewports created by the user agent.
          Note. The device-independence required by this checkpoint
          applies to functionalities described by the other checkpoints
          in this document unless otherwise stated by individual
          checkpoints.
          
AG:: I don't think you have this stated just right just yet.  

Supported devices: should be the standard devices for the environment plus
others ad lib.  

Device communication:  Where there is a standard API for these devices
supported by the environment, this API should be used.  In general, if the
OS or language supports a standard mechanism for intercepting the
communication with a device, the communication with that device should pass
through this mechanism so that the device may be emulated by AT through
this mechanism at the user and AT's discretion.

   1.2 Ensure that the user can interact with all [6]active elements in a
          [7]device independent manner. [Priority 1]
          For example, ensure that the user can [8]activate links of a
          client-side image map in a device-independent manner (e.g., by
          making them available as text links).
          
   1.3 Support [9]standard input and output device APIs for the operating
          system. [Priority 1]
          Note. What is "standard" for a particular environment will
          change over time. Today, for example, the mouse and keyboard
          are standard in a graphical desktop computer environment.
          Tomorrow, voice input and output may be standard. For a small
          device, standard input may come from a pen or keypad, and
          output through an LCD screen.
          
   1.4 Ensure that all functionalities offered through the user interface
          are available through the standard keyboard API.

AG:: To me, display is a functionality.  I would state this more carefully
as "ensure that all user actions or commands may be exercised through..."
          
   1.5 Ensure that information output as part of operating the user agent
          is available through ouput device APIs implemented by the user
          agent. [Priority 1]
          For instance, users must be able to operate the user agent
          without relying on two-dimensional graphical output, cursor
          position, etc. User agents must ensure that information about
          how much of a page or video clip has been viewed is available
          through output device APIs. Proportional navigation bars may
          provide this information visually, but the information must be
          available to users relying on synthesized speech or braille
          output.
          
  Guideline 11. Allow the user to configure the user agent
  
   11.1 Document the default [10]input configuration for the keyboard,
          graphical user interface, voice commands, etc. [Priority 1]

AG::  Document ... in universally-accessible media [WEBCONTENT].

          
   11.2 Provide information to the user about the current [11]input
          configuration for the keyboard, graphical user interface, voice
          commands, etc. [Priority 1]
          The current configuration is the result of a cascade of
          author-specified user interface information (e.g., "accesskey"
          or "tabindex" in HTML), browser defaults, and user-modified
          settings.

AG:: I would say "provide interactive access to..." rather than just "provide
information" only because on first reading the latter could be taken for
paper documents (even 'though it becomes obvious later in the sentence that
this won't work..)
          
   11.3 Allow the user to control the [12]input configuration for
          [13]standard input devices, including the keyboard, graphical
          user interface, voice commands, etc. "One stroke" access should
          be possible, for example a single key stroke, voice command, or
          button to activate an important functionality. [Priority 2]
          
   11.4 Use system conventions to provide information to the user about
          the current [14]input configuration for the keyboard, graphical
          user interface, voice commands, etc. [Priority 2]
          For example, on some platforms, if a functionality is available
          from a menu, the letter of the key that will activate that
          functionality is underlined.
          
   11.5 Avoid default keyboard, graphical user interface, voice, or other
          input configurations that interfere with or deviate from system
          conventions. [Priority 2]
          For example, the default configuration should not include
          "Alt-F4" or "Control-Alt-Delete" on systems where that
          combination has special meaning to the operating system. In
          particular, default configurations should not interfere with
          the mobility access keyboard modifiers reserved for the
          operating system. [15]Refer also to guideline 6.
          
   11.6 Allow the user to [16]configure the user agent in named profiles
          that may be shared (by other users or software). [Priority 2]
          Users must be able to select from among available profiles or
          no profile (i.e., the user agent default settings).
          
   11.7 Provide default keyboard, graphical user interface, voice, and
          other [17]input configurations for frequently performed
          operations. [Priority 3]
          
   11.8 Allow the user to [18]configure the graphical arrangement of user
          interface controls. [Priority 3]
          
  Glossary
  
   Input configuration
          This refers to the mapping between user agent functionality and
          activation method. This includes mapping to keyboard shortcuts,
          to buttons, to voice commands, etc. Input configurations should
          help users remember which functionalities are available and
          should allow them to access those functionalities quickly, and
          for any supported input or output device.
          
   Standard Input and Output Devices
          The devices users are expected to use with the operating system
          and its standard user interface. Operating systems provide
          standard APIs to these devices to be used by applications.
     _________________________________________________________________

   
   
    Ian Jacobs
    Last modified: $Date: 1999/10/26 01:03:59 $

References

   1. http://lists.w3.org/Archives/Public/w3c-wai-ua/1999JulSep/0437.html
   2. http://lists.w3.org/Archives/Public/w3c-wai-ua/1999OctDec/0124.html
   3. http://lists.w3.org/Archives/Public/w3c-wai-ua/1999OctDec/0098.html
   4. http://www.w3.org/WAI/UA/WAI-USERAGENT-19991022
   5. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#def-viewport
   6. http://www.w3.org/WAI/UA/1999/10/wai-useragent.html#def-active-element
   7. http://www.w3.org/WAI/UA/1999/10/wai-useragent.html#def-device-ind
   8. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#def-activate
   9. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#def-stdio
  10. http://www.w3.org/WAI/UA/1999/10/def-config-input
  11. http://www.w3.org/WAI/UA/1999/10/def-config-input
  12. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#def-config-io
  13. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#def-stdio
  14. http://www.w3.org/WAI/UA/1999/10/def-config-input
  15. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#gl-accessible-interface
  16. http://www.w3.org/WAI/UA/1999/10/wai-useragent.html#def-configure
  17. http://www.w3.org/WAI/UA/1999/10/g1g2-proposal#def-config-input
  18. http://www.w3.org/WAI/UA/1999/10/wai-useragent.html#def-configure

Received on Thursday, 28 October 1999 22:49:40 UTC