touchevents.html
author Sangwhan Moon <smoon@opera.com>
Sat, 30 Apr 2011 02:37:17 +0800
branchwd-smoon
changeset 79 b19208e94abc
parent 78 f7960638bd25
child 80 54fbaef93f47
permissions -rw-r--r--
Introduction should be non-normative
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     1
<!DOCTYPE html>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     2
<html>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     3
  <head>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     4
    <title>Touch Events Specification</title>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     5
    <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
     6
    <!--
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     7
      === NOTA BENE ===
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     8
      For the three scripts below, if your spec resides on dev.w3 you can check them
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     9
      out in the same tree and use relative links so that they'll work offline,
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    10
     -->
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    11
    <script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    12
    <script class='remove'>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    13
      var respecConfig = {
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    14
          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    15
          specStatus:           "ED",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    16
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    17
          // the specification's short name, as in http://www.w3.org/TR/short-name/
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    18
          shortName:            "touch-events",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    19
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    20
          // if your specification has a subtitle that goes below the main
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    21
          // formal title, define it here
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    22
          // subtitle   :  "an excellent document",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    23
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    24
          // if you wish the publication date to be other than today, set this
78
f7960638bd25 Updated publish date
Sangwhan Moon <smoon@opera.com>
parents: 77
diff changeset
    25
          publishDate:  "2011-05-05",
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    26
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    27
          // if the specification's copyright date is a range of years, specify
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    28
          // the start date here:
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    29
          // copyrightStart: "2005"
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    30
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    31
          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    32
          // and its maturity status
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    33
          // previousPublishDate:  "1977-03-15",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    34
          // previousMaturity:  "WD",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    35
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    36
          // if there a publicly available Editor's Draft, this is the link
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
    37
          edDraftURI:           "http://dvcs.w3.org/hg/webevents/raw-file/tip/touchevents.html",
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    38
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    39
          // if this is a LCWD, uncomment and set the end of its review period
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    40
          // lcEnd: "2009-08-05",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    41
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    42
          // if you want to have extra CSS, append them to this list
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    43
          // it is recommended that the respec.css stylesheet be kept
8
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
    44
          extraCSS:             ["http://www.w3.org/StyleSheets/TR/W3C-TR.css", "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"],
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    45
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    46
          // editors, add as many as you like
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    47
          // only "name" is required
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    48
          editors:  [
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    49
              { name: "Doug Schepers", url: "http://schepers.cc/",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    50
                company: "W3C", companyURL: "http://w3.org/" },
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    51
              { name: "Sangwhan Moon",
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    52
                company: "Opera Software ASA", companyURL: "http://www.opera.com/" },
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    53
              { name: "Matt Brubeck",
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    54
                company: "Mozilla", companyURL: "http://www.mozilla.org/" },
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    55
          ],
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    56
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    57
          // authors, add as many as you like.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    58
          // This is optional, uncomment if you have authors as well as editors.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    59
          // only "name" is required. Same format as editors.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    60
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    61
          //authors:  [
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    62
          //    { name: "Your Name", url: "http://example.org/",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    63
          //      company: "Your Company", companyURL: "http://example.com/" },
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    64
          //],
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    65
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    66
          // name of the WG
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    67
          wg:           "Web Events Working Group",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    68
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    69
          // URI of the public WG page
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    70
          wgURI:        "http://www.w3.org/2010/webevents/",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    71
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    72
          // name (with the @w3c.org) of the public mailing to which comments are due
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    73
          wgPublicList: "public-webevents",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    74
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    75
          // URI of the patent status for this WG, for Rec-track documents
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    76
          // !!!! IMPORTANT !!!!
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    77
          // This is important for Rec-track documents, do not copy a patent URI from a random
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    78
          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    79
          // Team Contact.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    80
          wgPatentURI:  "http://www.w3.org/2004/01/pp-impl/45559/status",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    81
      };
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    82
    </script>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    83
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    84
    <style>
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    85
      .event {
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    86
        font-family: monospace;
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    87
        color: #459900;
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    88
      }
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    89
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    90
      pre.idl {
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    91
        white-space: pre-wrap;
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    92
      }
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    93
    </style>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    94
  </head>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    95
  <body>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    96
    <section id='abstract'>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
    97
      The Touch Interface specification defines a set of low-level events that represent one or more points of contact with a touch-sensitive surface, and changes of those points with respect to the surface and any DOM elements displayed upon it (e.g. for touch screens) or associated with it (e.g. for drawing tablets without displays).  It also addresses pen-tablet devices, such as drawing tablets, with consideration toward stylus capabilities.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    98
    </section>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
    99
79
b19208e94abc Introduction should be non-normative
Sangwhan Moon <smoon@opera.com>
parents: 78
diff changeset
   100
    <section id='introduction' class='informative'>
77
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   101
      <h2>Introduction</h2>
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   102
      
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   103
      <p>User Agents that run on terminals which provide touch input to use web applications typically use interpreted mouse events to allow the users to access interactive web applications. However, these interpreted events, being normalized data based on the physical touch input, tend to have limitations on delivering the exact intended user experience. Additionally, it is not possible to handle concurrent input regardless of the device capability, due the constraints of mouse events: both system level limitations, and legacy compatibility.</p>
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   104
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   105
      <p>Meanwhile, native applications are capable of handling both cases with the provided system APIs.</p>
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   106
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   107
      <p>The Touch Events specification provides a solution to this with a interface to allow web applications to directly handle touch events, and multiple touch points for capable devices.</p>
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   108
    </section>
a7218d937de9 Added introduction draft
Sangwhan Moon <smoon@opera.com>
parents: 45
diff changeset
   109
28
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   110
    <section id='conformance'>
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   111
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   112
      <p>This specification defines conformance criteria that apply to a single product: the <dfn id="dfn-user-agent">user agent</dfn> that implements the interfaces that it contains. </p>
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   113
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   114
      <p>Implementations that use ECMAScript to implement the APIs defined in this specification must implement them in a manner consistent with the ECMAScript Bindings defined in the Web IDL specification [[!WEBIDL]] as this specification uses that specification and terminology.  </p>
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   115
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   116
      <p> A conforming implementation is required to implement all fields defined in this specification. </p>
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   117
4cbcb68446b5 First draft of a Conformance section based on the DAP WG's Contacts API:
Art Barstow <art.barstow@nokia.com>
parents: 27
diff changeset
   118
    </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   119
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   120
    <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   121
      <h2><a>TouchPoint</a> Interface</h2>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   122
      <p>This interface defines an individual point of contact for a touch event.</p>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   123
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   124
      <dl title='interface TouchPoint' class='idl'>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   125
        <dt>readonly attribute long identifier</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   126
        <dd>
12
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   127
          An identification number for each <a>touch point</a>, unique to that <a>touch point</a> per session.
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   128
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   129
          <p>The algorithm for determining the <a>identifier</a> value is as follows:</p>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   130
          <ol>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   131
            <li>if there are no other <a>active touch event session</a>s, the value of <a>identifier</a> must be <code>0</code></li>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   132
            <li>if there is at least one <a>active touch event session</a>, the value of <a>identifier</a> must be the lowest integer not currently used by any active <a>TouchPoint</a> object in any <a>active touch event session</a></li>
19
f6cda6b9d1ae ISSUE-7: Event targets should be Elements.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 18
diff changeset
   133
          </ol>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   134
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   135
        <dt>readonly attribute EventTarget target</dt>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   136
        <dd>
19
f6cda6b9d1ae ISSUE-7: Event targets should be Elements.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 18
diff changeset
   137
          the original proximal event target for this <a>touch point</a>.  The target must be an <a>Element</a>.
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   138
        </dd>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   139
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   140
        <dt>readonly attribute long screenX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   141
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   142
          x-coordinate of point relative to the screen
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   143
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   144
        <dt>readonly attribute long screenY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   145
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   146
          y-coordinate of point relative to the screen
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   147
        </dd>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   148
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   149
        <dt>readonly attribute long clientX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   150
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   151
          x-coordinate of point relative to the viewport, excluding any scroll offset
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   152
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   153
        <dt>readonly attribute long clientY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   154
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   155
          y-coordinate of point relative to the viewport, excluding any scroll offset
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   156
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   157
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   158
        <dt>readonly attribute long pageX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   159
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   160
          x-coordinate of point relative to the viewport, including any scroll offset
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   161
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   162
        <dt>readonly attribute long pageY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   163
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   164
          y-coordinate of point relative to the viewport, including any scroll offset
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   165
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   166
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   167
        <dt>readonly attribute long radiusX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   168
        <dd>
42
49296bde5e04 radiusX and radiusY must be positive.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 39
diff changeset
   169
          the radius of the ellipse which most closely circumscribes the touching area (e.g. finger, stylus) along the x-axis, in pixels of the same scale as <a>screenX</a>; <code>1</code> if no value is known.  The value must be positive.
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   170
          <p class="issue" id="issue-units"><strong>Issue:</strong> What are units of radiusX/radiusY?  CSS Pixels?</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   171
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   172
        <dt>readonly attribute long radiusY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   173
        <dd>
42
49296bde5e04 radiusX and radiusY must be positive.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 39
diff changeset
   174
          the radius of the ellipse which most closely circumscribes the touching area (e.g. finger, stylus) along the y-axis, in pixels of the same scale as <a>screenY</a>; <code>1</code> if no value is known.  The value must be positive.
6
83ce29dff849 changed cx/cy to rx/ry, defined units for both; added key modifier attributes; changed identifier to float
shepazu <schepers@w3.org>
parents: 5
diff changeset
   175
        </dd>
83ce29dff849 changed cx/cy to rx/ry, defined units for both; added key modifier attributes; changed identifier to float
shepazu <schepers@w3.org>
parents: 5
diff changeset
   176
18
1ea45991d3e9 ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 17
diff changeset
   177
        <dt>readonly attribute float rotationAngle</dt>
1ea45991d3e9 ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 17
diff changeset
   178
        <dd>
32
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   179
          <p>
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   180
            the angle (in degrees) that the ellipse described by <a>radiusX</a>
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   181
            and <a>radiusY</a> is rotated clockwise about its center;
33
be8b19639be5 ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 32
diff changeset
   182
            <code>0</code> if no value is known.  The value must be greater
be8b19639be5 ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 32
diff changeset
   183
            than or equal to <code>0</code> and less than <code>90</code>.
32
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   184
          </p>
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   185
          <p>
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   186
            If the ellipse described by <a>radiusX</a> and <a>radiusY</a> is
33
be8b19639be5 ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 32
diff changeset
   187
            circular, then <a>rotationAngle</a> has no effect.  The user agent
be8b19639be5 ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 32
diff changeset
   188
            may use <code>0</code> as the value in this case, or it may use any
be8b19639be5 ACTION-31: Remove restriction on rotationAngle and add explanation.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 32
diff changeset
   189
            other value in the allowed range.  (For example, the user agent may
37
d5eb1e9315e7 Minor wording change for clarity.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 36
diff changeset
   190
            use the <a>rotationAngle</a> value from the previous touch event,
d5eb1e9315e7 Minor wording change for clarity.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 36
diff changeset
   191
            to avoid sudden changes.)
32
f1cd4dbbd6f8 Wrap these lines to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 31
diff changeset
   192
          </p>
18
1ea45991d3e9 ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 17
diff changeset
   193
        </dd>
1ea45991d3e9 ISSUE-1: Add rotationAngle attribute for elliptical touch areas.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 17
diff changeset
   194
8
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   195
        <dt>readonly attribute float force</dt>
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   196
        <dd>
31
80a964ec062b Remove "This attribute may not be available..." disclaimers.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 30
diff changeset
   197
          a relative value of pressure applied, in the range <code>0</code> to <code>1</code>, where <code>0</code> is no pressure, and <code>1</code> is the highest level of pressure the touch device is capable of sensing; <code>0</code> if no value is known.  In environments where <a>force</a> is known, the absolute pressure represented by the <a>force</a> attribute, and the sensitivity in levels of pressure, may vary.
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   198
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   199
          <p class="issue" id="issue-inkml"><strong>Issue:</strong> Consider aligning with other "channels" and values from <a href="http://www.w3.org/TR/InkML/#channelContents">Ink Markup Language (InkML)</a>, in addition to <a>force</a>, e.g. adding <a>angle</a>, <a>clientZ</a>, <a>rotation</a>, etc.</p>
8
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   200
        </dd>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   201
      </dl>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   202
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   203
    </section>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   204
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   205
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   206
    <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   207
      <h2><a>TouchList</a> Interface</h2>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   208
      <p>This interface defines a list of individual points of contact for a touch event.</p>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   209
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   210
      <dl title='interface TouchList' class='idl'>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   211
        <dt>readonly attribute unsigned long length</dt>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   212
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   213
          returns the number of touchpoints in the list
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   214
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   215
        <dt>caller getter <a>TouchPoint</a> item (in unsigned long <a>index</a>)</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   216
        <dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   217
          returns the touchpoint with index <a>index</a> from the list, sorted in order from latest to earliest
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   218
        </dd>
36
0834dbef202f Return type of identifiedPoint should be TouchPoint.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 35
diff changeset
   219
        <dt>caller getter <a>TouchPoint</a> identifiedPoint (in long <a>identifier</a>)</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   220
        <dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   221
          returns the first touchpoint with long <a>identifier</a> from the list
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   222
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   223
      </dl>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   224
    </section>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   225
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   226
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   227
    <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   228
      <h2><a>TouchEvent</a> Interface</h2>
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   229
      <p>This interface defines the <a>touchstart</a>, <a>touchend</a>, <a>touchmove</a>, <a>touchenter</a>, <a>touchleave</a>, and <a>touchcancel</a> event types.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   230
6
83ce29dff849 changed cx/cy to rx/ry, defined units for both; added key modifier attributes; changed identifier to float
shepazu <schepers@w3.org>
parents: 5
diff changeset
   231
      <dl title='interface TouchEvent : UIEvent' class='idl'>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   232
        <dt>readonly attribute <a>TouchList</a> touches</dt>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   233
        <dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   234
          a list of <a>TouchPoint</a>s for every point of contact currently touching the surface
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   235
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   236
        <dt>readonly attribute <a>TouchList</a> targetTouches</dt>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   237
        <dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   238
          a list of <a>TouchPoint</a>s for every point of contact currently touching the surface, which started on the same target
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   239
        </dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   240
        <dt>readonly attribute <a>TouchList</a> changedTouches</dt>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   241
        <dd>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   242
          a list of <a>TouchPoint</a>s for every point of contact which contributed to the event
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   243
        </dd>
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   244
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   245
        <dt>readonly attribute boolean altKey</dt>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   246
        <dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   247
          <code>true</code> if the alt (Alternate) key modifier is activated; otherwise <code>false</code>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   248
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   249
        <dt>readonly attribute boolean metaKey</dt>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   250
        <dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   251
          <code>true</code> if the meta (Meta) key modifier is activated; otherwise <code>false</code>.  On some platforms this attribute may map to a differently-named key modifier.
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   252
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   253
        <dt>readonly attribute boolean ctrlKey</dt>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   254
        <dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   255
          <code>true</code> if the ctrl (Control) key modifier is activated; otherwise <code>false</code>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   256
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   257
        <dt>readonly attribute boolean shiftKey</dt>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   258
        <dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   259
          <code>true</code> if the shift (Shift) key modifier is activated; otherwise <code>false</code>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   260
        </dd>
43
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   261
        <dt>readonly attribute EventTarget? relatedTarget</dt>
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   262
        <dd>
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   263
          identifies a secondary EventTarget related to a touch event.  This
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   264
          attribute is used with the <a>touchenter</a> event to indicate the
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   265
          <a>EventTarget</a> the touch point exited, and with the
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   266
          <a>touchleave</a> event to indicate the <a>EventTarget</a> the touch
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   267
          point entered.  For other event types, this attribute must be
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   268
          <code>null</code>.
fc6abcf8b74c ISSUE-10: Add a relatedTarget attribute to the TouchEvent interface.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 42
diff changeset
   269
        </dd>
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   270
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   271
        <!-- Methods -->
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   272
        <dt>void initTouchEvent()</dt>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   273
        <dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   274
          initializes a TouchEvent created through the <a>DocumentEvent</a> interface.
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   275
          <dl class='parameters'>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   276
            <dt>DOMString type</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   277
            <dt>boolean canBubble</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   278
            <dt>boolean cancelable</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   279
            <dt>DOMWindow view</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   280
            <dt>long detail</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   281
            <dt>boolean ctrlKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   282
            <dt>boolean altKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   283
            <dt>boolean shiftKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   284
            <dt>boolean metaKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   285
            <dt>TouchList touches</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   286
            <dt>TouchList targetTouches</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   287
            <dt>TouchList changedTouches</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   288
          </dl>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   289
        </dd>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   290
      </dl>
8
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   291
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   292
      <p class="issue" id="issue-preventDefault"><strong>Issue:</strong> define behavior of preventDefault() method.</p>
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   293
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   294
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   295
      <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   296
        <h3 id="event-touchstart">The <dfn class="event">touchstart</dfn> event</h3>
12
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   297
        <p>A user agent must dispatch this event type to indicate when the user places a <a>touch point</a> on the touch surface.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   298
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   299
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   300
      <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   301
        <h3 id="event-touchend">The <dfn class="event">touchend</dfn> event</h3>
45
283f47a9b963 Changed concepts of touchcancel and touchend. Relates to ISSUE-2 and ACTION-18.
Sangwhan Moon <smoon@opera.com>
parents: 43
diff changeset
   302
        <p>A user agent must dispatch this event type to indicate when the user removes a <a>touch point</a> from the touch surface, also including cases where the touch point physically leaves the touch surface, such as being dragged off of the screen.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   303
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   304
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   305
      <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   306
        <h3 id="event-touchmove">The <dfn class="event">touchmove</dfn> event</h3>
12
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   307
        <p>A user agent must dispatch this event type to indicate when the user moves a <a>touch point</a> along the touch surface, even outside the interactive area of the <a>target</a> element.</p>
34
96b646535d4e ISSUE-13: touchmove should fire when non-positional attributes change
Matt Brubeck <mbrubeck@mozilla.com>
parents: 33
diff changeset
   308
        <p>If the values of <a>radiusX</a>, <a>radiusY</a>, <a>rotationAngle</a>, or <a>force</a> are known, then the user agent also must dispatch this event type to indicate when any of these attributes of a <a>touch point</a> have changed.</p>
96b646535d4e ISSUE-13: touchmove should fire when non-positional attributes change
Matt Brubeck <mbrubeck@mozilla.com>
parents: 33
diff changeset
   309
        <p>Note that the rate at which the user agent sends <a>touchmove</a> events is implementation-defined, and may depend on hardware capabilities and other implementation details.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   310
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   311
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   312
      <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   313
        <h3 id="event-touchenter">The <dfn class="event">touchenter</dfn> event</h3>
22
2df3601083b4 Resolve issue-touchenter-reenter.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 21
diff changeset
   314
        <p>A user agent must dispatch this event type to indicate when a <a>touch point</a> moves onto the interactive area defined by a DOM element.  Events of this type must not bubble.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   315
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   316
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   317
      <section>
9
8171bbe11ccc changed floats to longs; clarified definitions; added editors Moon, Brubeck; tidied ReSpec code; fixed credits; revised touchcancel event
shepazu <schepers@w3.org>
parents: 8
diff changeset
   318
        <h3 id="event-touchleave">The <dfn class="event">touchleave</dfn> event</h3>
12
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   319
        <p>A user agent must dispatch this event type to indicate when a <a>touch point</a> moves off the interactive area defined by a DOM element.  Events of this type must not bubble.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   320
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   321
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   322
      <section>
45
283f47a9b963 Changed concepts of touchcancel and touchend. Relates to ISSUE-2 and ACTION-18.
Sangwhan Moon <smoon@opera.com>
parents: 43
diff changeset
   323
        <h3 id="event-touchstart">The <dfn class="event">touchcancel</dfn> event</h3>
283f47a9b963 Changed concepts of touchcancel and touchend. Relates to ISSUE-2 and ACTION-18.
Sangwhan Moon <smoon@opera.com>
parents: 43
diff changeset
   324
        <p>A user agent must dispatch this event type to indicate when a <a>TouchPoint</a> has been disrupted in an implementation-specific manner, such as a synchronous event or action originating from the UA canceling the touch, or the touch point leaving the document window into a non-document area which is capable of handling user interactions. (e.g. The UA's native user interface, plug-ins)  A user agent may also dispatch this event type when the user places more <a>touch point</a>s on the touch surface than the device or implementation is configured to store, in which case the earliest <a>TouchPoint</a> object in the <a>TouchList</a> should be removed.</p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   325
      </section>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   326
    </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   327
35
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   328
    <section id="mouse-events">
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   329
      <h2>Interaction with Mouse Events</h2>
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   330
      <p>The user agent may dispatch both touch events and mouse events
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   331
      [[!DOM-LEVEL-2-EVENTS]] in response to the same user input.  If the user
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   332
      agent dispatches both touch events and mouse events in response to a
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   333
      single user action, then the <a>touchstart</a> event type must be
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   334
      dispatched before any mouse event types for that action.  The ordering of
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   335
      any further touch events and mouse events is left to the implementation,
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   336
      except as specified elsewhere.</p>
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   337
    </section>
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   338
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   339
    <section>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   340
      <h2>Glossary</h2>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   341
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   342
      <dl>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   343
        <dt><dfn>active touch event session</dfn></dt>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   344
        <dd>A conceptual state in which there is at least one instance of a <a>TouchEvent</a> event with at least one non-empty <a>TouchList</a>.
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   345
          <!-- <pre class='example'>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   346
          </pre> -->
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   347
        </dd>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   348
12
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   349
        <dt><dfn>touch point</dfn></dt>
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   350
        <dd>The coordinate point at which a pointer (e.g finger or stylus) intersects the target surface of an interface.  This may apply to a finger touching a touch-screen, or an digital pen writing on a piece of paper.</dd>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   351
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   352
      </dl>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   353
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   354
    </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   355
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   356
    <section class='appendix'>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   357
      <h2>Acknowledgements</h2>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   358
      <p>
14
2adb12352c02 Remove old dummy file.
shepazu <schepers@w3.org>
parents: 12
diff changeset
   359
        Many thanks to the WebKit engineers for developing the model used as a basis for this spec, Neil Roberts (SitePen) for his summary of WebKit touch events, Peter-Paul Koch (PPK) for his writeups and suggestions, Robin Berjon for developing the <a href="http://dev.w3.org/2009/dap/ReSpec.js/documentation.html">ReSpec.js spec authoring tool</a>, and the WebEvents WG for their many contributions</a>.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   360
      </p>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   361
14
2adb12352c02 Remove old dummy file.
shepazu <schepers@w3.org>
parents: 12
diff changeset
   362
      <p>Many others have made additional comments as the spec developed, which have led to steady improvements.  Among them are Matthew Schinckel, . If I inadvertently omitted your name, please let me know.</p>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   363
    </section>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   364
  </body>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   365
</html>