touchevents.html
author Matt Brubeck <mbrubeck@mozilla.com>
Thu, 11 Aug 2011 15:27:48 -0700
branchv1
changeset 101 2d830a098494
parent 100 4bbe000815dd
child 104 01190a01b4cf
permissions -rw-r--r--
Initial checkin for Touch Events version 1

This version is limited to those parts of the specification that already have
interoperable implementations. The following events and attributes will not
be included in v1, but will appear in Touch Events v2:

* touchenter, touchleave, relatedTarget
* radiusX, radiusY, rotationAngle
* force
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     1
<!DOCTYPE html>
74
b1920268c222 Add language and viewport metadata.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 73
diff changeset
     2
<html lang="en">
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     3
  <head>
101
2d830a098494 Initial checkin for Touch Events version 1
Matt Brubeck <mbrubeck@mozilla.com>
parents: 100
diff changeset
     4
    <title>Touch Events version 1</title>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     5
    <meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
74
b1920268c222 Add language and viewport metadata.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 73
diff changeset
     6
    <meta name="viewport" content="width=device-width">
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
     7
    <!--
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     8
      === NOTA BENE ===
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
     9
      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
    10
      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
    11
     -->
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    12
    <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
    13
    <script class='remove'>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    14
      var respecConfig = {
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    15
          // 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
    16
          specStatus:           "ED",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    17
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    18
          // 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
    19
          shortName:            "touch-events",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    20
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    21
          // if your specification has a subtitle that goes below the main
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    22
          // formal title, define it here
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    23
          // subtitle   :  "an excellent document",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    24
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    25
          // if you wish the publication date to be other than today, set this
101
2d830a098494 Initial checkin for Touch Events version 1
Matt Brubeck <mbrubeck@mozilla.com>
parents: 100
diff changeset
    26
          publishDate:  "2011-08-11",
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    27
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    28
          // if the specification's copyright date is a range of years, specify
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    29
          // the start date here:
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    30
          // copyrightStart: "2005"
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    31
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    32
          // 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
    33
          // and its maturity status
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    34
          // previousPublishDate:  "1977-03-15",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    35
          // previousMaturity:  "WD",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    36
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    37
          // if there a publicly available Editor's Draft, this is the link
73
16faff414b81 Link to default branch rather than tip.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 72
diff changeset
    38
          edDraftURI:           "http://dvcs.w3.org/hg/webevents/raw-file/default/touchevents.html",
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    39
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    40
          // 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
    41
          // lcEnd: "2009-08-05",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    42
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    43
          // if you want to have extra CSS, append them to this list
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    44
          // 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
    45
          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
    46
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    47
          // editors, add as many as you like
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    48
          // only "name" is required
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    49
          editors:  [
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    50
              { name: "Doug Schepers", url: "http://schepers.cc/",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    51
                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
    52
              { 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
    53
                company: "Opera Software ASA", companyURL: "http://www.opera.com/" },
97
3f54db94ae0d ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 96
diff changeset
    54
              { name: "Matt Brubeck", url: "http://limpet.net/mbrubeck/",
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
    55
                company: "Mozilla", companyURL: "http://www.mozilla.org/" },
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    56
          ],
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    57
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    58
          // authors, add as many as you like.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    59
          // This is optional, uncomment if you have authors as well as editors.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    60
          // only "name" is required. Same format as editors.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    61
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    62
          //authors:  [
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    63
          //    { name: "Your Name", url: "http://example.org/",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    64
          //      company: "Your Company", companyURL: "http://example.com/" },
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    65
          //],
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    66
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    67
          // name of the WG
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    68
          wg:           "Web Events Working Group",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    69
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    70
          // URI of the public WG page
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    71
          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
    72
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    73
          // 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
    74
          wgPublicList: "public-webevents",
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    75
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    76
          // URI of the patent status for this WG, for Rec-track documents
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    77
          // !!!! IMPORTANT !!!!
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    78
          // 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
    79
          // 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
    80
          // Team Contact.
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    81
          wgPatentURI:  "http://www.w3.org/2004/01/pp-impl/45559/status",
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    82
      };
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    83
    </script>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
    84
66
9555f231576e Fix another validation error.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 61
diff changeset
    85
    <style type="text/css">
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
    86
      .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
    87
        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
    88
        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
    89
      }
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    90
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    91
      pre.idl {
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    92
        white-space: pre-wrap;
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
    93
      }
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
    94
    </style>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    95
  </head>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    96
  <body>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
    97
    <section id='abstract'>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
    98
      The Touch Interface specification defines a set of low-level events that
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
    99
      represent one or more points of contact with a touch-sensitive surface,
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   100
      and changes of those points with respect to the surface and any DOM
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   101
      elements displayed upon it (e.g. for touch screens) or associated with it
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   102
      (e.g. for drawing tablets without displays).  It also addresses
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   103
      pen-tablet devices, such as drawing tablets, with consideration toward
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   104
      stylus capabilities.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   105
    </section>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   106
81
e5b2d26a6892 Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents: 80
diff changeset
   107
    <section id='introduction' class='informative'>
e5b2d26a6892 Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents: 80
diff changeset
   108
      <h2>Introduction</h2>
e5b2d26a6892 Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents: 80
diff changeset
   109
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   110
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   111
        User Agents that run on terminals which provide touch input to use web
87
4b363819e79b Edits to the introduction
Josh Soref <josh.soref@nokia.com>
parents: 86
diff changeset
   112
        applications typically use interpreted mouse events to allow users
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   113
        to access interactive web applications. However, these interpreted
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   114
        events, being normalized data based on the physical touch input, tend
87
4b363819e79b Edits to the introduction
Josh Soref <josh.soref@nokia.com>
parents: 86
diff changeset
   115
        to have limitations on delivering the intended user experience.
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   116
        Additionally, it is not possible to handle concurrent input regardless
87
4b363819e79b Edits to the introduction
Josh Soref <josh.soref@nokia.com>
parents: 86
diff changeset
   117
        of device capability, due to constraints of mouse events: both
4b363819e79b Edits to the introduction
Josh Soref <josh.soref@nokia.com>
parents: 86
diff changeset
   118
        system level limitations and legacy compatibility.
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   119
      </p>
81
e5b2d26a6892 Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents: 80
diff changeset
   120
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   121
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   122
        Meanwhile, native applications are capable of handling both cases with
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   123
        the provided system APIs.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   124
      </p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   125
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   126
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   127
        The Touch Events specification provides a solution to this problem by
86
653218ffd9c4 spelling fixes
Josh Soref <josh.soref@nokia.com>
parents: 85
diff changeset
   128
        specifying interfaces to allow web applications to directly handle touch
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   129
        events, and multiple touch points for capable devices.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   130
      </p>
81
e5b2d26a6892 Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents: 80
diff changeset
   131
    </section>
e5b2d26a6892 Corrected changes clobbered due to mistake
Sangwhan Moon <smoon@opera.com>
parents: 80
diff changeset
   132
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
   133
    <section id='conformance'>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   134
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   135
        This specification defines conformance criteria that apply to a single
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   136
        product: the <dfn id="dfn-user-agent">user agent</dfn> that implements
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   137
        the interfaces that it contains.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   138
      </p>
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
   139
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   140
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   141
        Implementations that use ECMAScript to implement the APIs defined in
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   142
        this specification must implement them in a manner consistent with the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   143
        ECMAScript Bindings defined in the Web IDL specification [[!WEBIDL]] as
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   144
        this specification uses that specification and terminology.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   145
      </p>
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
   146
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   147
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   148
        A conforming implementation is required to implement all fields
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   149
        defined in this specification.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   150
      </p>
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
   151
    </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   152
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   153
    <section>
46
e761aa494278 ISSUE-11: Rename TouchPoint to Touch
Matt Brubeck <mbrubeck@mozilla.com>
parents: 45
diff changeset
   154
      <h2><a>Touch</a> Interface</h2>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   155
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   156
        This interface defines an individual point of contact for a touch
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   157
        event.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   158
      </p>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   159
46
e761aa494278 ISSUE-11: Rename TouchPoint to Touch
Matt Brubeck <mbrubeck@mozilla.com>
parents: 45
diff changeset
   160
      <dl title='interface Touch' 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
   161
        <dt>readonly attribute long identifier</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   162
        <dd>
91
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   163
          An identification number for each <a>touch point</a>.
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   164
91
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   165
          When a touch point becomes active, it must be assigned an
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   166
          <a>identifier</a> that is distinct from any other <a>active touch
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   167
          point</a>.  While the touch point remains active, all events that
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   168
          refer to it must assign it the same <a>identifier</a>.
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   169
        </dd>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   170
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
   171
        <dt>readonly attribute long screenX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   172
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   173
          x-coordinate of point relative to the screen
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   174
        </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
   175
        <dt>readonly attribute long screenY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   176
        <dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   177
          y-coordinate of point relative to the screen
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   178
        </dd>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   179
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
   180
        <dt>readonly attribute long clientX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   181
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   182
          x-coordinate of point relative to the viewport, excluding any scroll
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   183
          offset
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   184
        </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
   185
        <dt>readonly attribute long clientY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   186
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   187
          y-coordinate of point relative to the viewport, excluding any scroll
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   188
          offset
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   189
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   190
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
   191
        <dt>readonly attribute long pageX</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   192
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   193
          x-coordinate of point relative to the viewport, including any scroll
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   194
          offset
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   195
        </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
   196
        <dt>readonly attribute long pageY</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   197
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   198
          y-coordinate of point relative to the viewport, including any scroll
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   199
          offset
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   200
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   201
      </dl>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   202
    </section>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   203
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   204
    <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
   205
      <h2><a>TouchList</a> Interface</h2>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   206
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   207
        This interface defines a list of individual points of contact for a
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   208
        touch event.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   209
      </p>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   210
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   211
      <dl title='interface TouchList' class='idl'>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   212
        <dt>readonly attribute unsigned long length</dt>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   213
        <dd>
47
926af59e3515 Fix typos in previous commit
Matt Brubeck <mbrubeck@mozilla.com>
parents: 46
diff changeset
   214
          returns the number of <a>Touch</a>es in the list
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   215
        </dd>
60
cc50b9cdc4f8 Remove 'caller'/'caller getter' from item/identifiedTouch
Matt Brubeck <mbrubeck@mozilla.com>
parents: 59
diff changeset
   216
        <dt>getter <a>Touch</a> item (in unsigned long <a>index</a>)</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   217
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   218
          returns the <a>Touch</a> with index <a>index</a> from the list,
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   219
          sorted in order from latest to earliest
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   220
        </dd>
60
cc50b9cdc4f8 Remove 'caller'/'caller getter' from item/identifiedTouch
Matt Brubeck <mbrubeck@mozilla.com>
parents: 59
diff changeset
   221
        <dt><a>Touch</a> identifiedTouch (in long <a>identifier</a>)</dt>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   222
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   223
          returns the first <a>Touch</a> with long <a>identifier</a> from the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   224
          list
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   225
        </dd>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   226
      </dl>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   227
    </section>
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   228
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   229
    <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
   230
      <h2><a>TouchEvent</a> Interface</h2>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   231
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   232
        This interface defines the <a>touchstart</a>, <a>touchend</a>,
101
2d830a098494 Initial checkin for Touch Events version 1
Matt Brubeck <mbrubeck@mozilla.com>
parents: 100
diff changeset
   233
        <a>touchmove</a>, and <a>touchcancel</a> event types.
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   234
      </p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   235
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
   236
      <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
   237
        <dt>readonly attribute <a>TouchList</a> touches</dt>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   238
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   239
          a list of <a>Touch</a>es for every point of contact currently
99
733df5b51199 Minor editorial changes
Sangwhan Moon <smoon@opera.com>
parents: 98
diff changeset
   240
          touching the surface.
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
        <dt>readonly attribute <a>TouchList</a> targetTouches</dt>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   243
        <dd>
96
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   244
          a list of <a>Touch</a>es for every point of contact that is touching
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   245
          the surface <em>and</em> started on the element that is the
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   246
          <a>target</a> of the current event.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   247
        </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
   248
        <dt>readonly attribute <a>TouchList</a> changedTouches</dt>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   249
        <dd>
96
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   250
          <p>
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   251
            a list of <a>Touch</a>es for every point of contact which contributed
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   252
            to the event.
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   253
          </p>
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   254
          <p>
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   255
            For the <a>touchstart</a> event this must be a list of the touch
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   256
            points that just became active with the current event.  For the
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   257
            <a>touchmove</a> event this must be a list of the touch points that
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   258
            have moved since the last event.  For the <a>touchend</a> event
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   259
            this must be a list of the touch points that have just been removed
101
2d830a098494 Initial checkin for Touch Events version 1
Matt Brubeck <mbrubeck@mozilla.com>
parents: 100
diff changeset
   260
            from the surface.
96
457c2df41b66 Add some more details about the targetTouches and changedTouches attributes.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 95
diff changeset
   261
          </p>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   262
        </dd>
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   263
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   264
        <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
   265
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   266
          <code>true</code> if the alt (Alternate) key modifier is activated;
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   267
          otherwise <code>false</code>
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   268
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   269
        <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
   270
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   271
          <code>true</code> if the meta (Meta) key modifier is activated;
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   272
          otherwise <code>false</code>.  On some platforms this attribute may
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   273
          map to a differently-named key modifier.
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   274
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   275
        <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
   276
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   277
          <code>true</code> if the ctrl (Control) key modifier is activated;
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   278
          otherwise <code>false</code>
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   279
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   280
        <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
   281
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   282
          <code>true</code> if the shift (Shift) key modifier is activated;
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   283
          otherwise <code>false</code>
30
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   284
        </dd>
795c0f6c44e7 ISSUE-12: altKey/ctrlKey/etc. should be attributes of TouchEvent, not TouchPoint
Matt Brubeck <mbrubeck@mozilla.com>
parents: 29
diff changeset
   285
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   286
        <!-- Methods -->
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   287
        <dt>void initTouchEvent()</dt>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   288
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   289
          initializes a TouchEvent created through the <a>DocumentEvent</a>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   290
          interface.
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   291
          <dl class='parameters'>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   292
            <dt>DOMString type</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   293
            <dt>boolean canBubble</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   294
            <dt>boolean cancelable</dt> <dd></dd>
68
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   295
            <dt>AbstractView view</dt> <dd></dd>
23
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   296
            <dt>long detail</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   297
            <dt>boolean ctrlKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   298
            <dt>boolean altKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   299
            <dt>boolean shiftKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   300
            <dt>boolean metaKey</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   301
            <dt>TouchList touches</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   302
            <dt>TouchList targetTouches</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   303
            <dt>TouchList changedTouches</dt> <dd></dd>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   304
          </dl>
4958878564b1 ISSUE-8: Add an initTouchEvent method.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 22
diff changeset
   305
        </dd>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   306
      </dl>
100
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   307
      
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   308
      <section class="informative">
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   309
          <h2>Usage Examples</h2>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   310
          
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   311
          <p>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   312
            The examples below demonstrate the relations between the different
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   313
            <a>TouchList</a> members defined in a <a>TouchEvent</a>.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   314
          </p>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   315
          
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   316
          <section>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   317
              <h3>touches and targetTouches of a <a>TouchEvent</a></h3>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   318
              
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   319
              <p>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   320
                This example demonstrates the utility and relations between the
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   321
                touches and targetTouches members defined in the <a>TouchEvent</a>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   322
                interface. The following code will generate different output based
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   323
                on the number of touch points on the touchable element and the document:
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   324
              </p>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   325
      
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   326
              <pre class="example">
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   327
                  &lt;div id='touchable'&gt;
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   328
                      This element is touchable.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   329
                  &lt;/div&gt;
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   330
          
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   331
                  document.getElementById('touchable').addEventListener('touchstart', function(ev) {
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   332
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   333
                      if (ev.touches.item(0) == ev.targetTouches.item(0))
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   334
                      {
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   335
                          /**
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   336
                           * If the first touch on the surface is also targeting the
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   337
                           * "touchable" element, the code below should execute.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   338
                           * Since targetTouches is a subset of touches which covers the
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   339
                           * entire surface, TouchEvent.touches >= TouchEvents.targetTouches
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   340
                           * is always true.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   341
                           */
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   342
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   343
                          document.write('Hello Touch Events!');
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   344
                      }
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   345
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   346
                      if (ev.touches.length == ev.targetTouches.length)
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   347
                      {
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   348
                          /**
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   349
                           * If all of the active touch points are on the "touchable"
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   350
                           * element, the length properties should be the same.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   351
                           */
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   352
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   353
                          document.write('All points are on target element')
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   354
                      }
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   355
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   356
                      if (ev.touches.length > 1)
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   357
                      {
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   358
                          /**
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   359
                           * On a single touch input device, there can only be one point
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   360
                           * of contact on the surface, so the following code can only
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   361
                           * execute when the terminal supports multiple touches.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   362
                           */
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   363
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   364
                          document.write('Hello Multiple Touch!');
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   365
                      }
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   366
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   367
                  }, false);
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   368
              </pre>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   369
          </section>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   370
          
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   371
          <section>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   372
              <h3>changedTouches of a <a>TouchEvent</a></h3>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   373
              
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   374
              <p>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   375
                This example demonstrates the utility of changedTouches and it's relation
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   376
                with the other <a>TouchList</a> members of the <a>TouchEvent</a> interface.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   377
                The code is a example which triggers whenever a touch point is removed
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   378
                from the defined touchable element:
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   379
              </p>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   380
              
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   381
              <pre class="example">
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   382
                  &lt;div id='touchable'&gt;
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   383
                      This element is touchable.
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   384
                  &lt;/div&gt;
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   385
              
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   386
                  document.getElementById('touchable').addEventListener('touchend', function(ev) {
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   387
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   388
                      /**
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   389
                       * Example output when three touch points are on the surface,
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   390
                       * two of them being on the "touchable" element and one point
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   391
                       * in the "touchable" element is lifted from the surface:
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   392
                       *
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   393
                       * Touch points removed: 1
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   394
                       * Touch points left on element: 1
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   395
                       * Touch points left on document: 2
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   396
                       */
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   397
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   398
                      document.write('Removed: ' + ev.changedTouches.length);
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   399
                      document.write('Remaining on element: ' + ev.targetTouches.length);
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   400
                      document.write('Remaining on document: ' + ev.touches.length);
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   401
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   402
                  }, false);
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   403
              </pre>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   404
          </section>
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   405
              
4bbe000815dd Initial work for Issue-18 - may need some clean-up
Sangwhan Moon <smoon@opera.com>
parents: 99
diff changeset
   406
      </section>
8
3349d49e5f46 added force attribute; added issues around InkML, units, preventDefault(), timestamp
shepazu <schepers@w3.org>
parents: 7
diff changeset
   407
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   408
      <section>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   409
        <h3 id="event-touchstart">The <dfn class="event">touchstart</dfn>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   410
        event</h3>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   411
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   412
          A user agent must dispatch this event type to indicate when the user
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   413
          places a <a>touch point</a> on the touch surface.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   414
        </p>
55
7df98116715b Clarify targeting of touchmove and touchend events, and add tests.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 54
diff changeset
   415
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   416
        <p>
93
29ec4253b862 Issue-6: Events should be dispatched to targets within frames.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 92
diff changeset
   417
          The target of this event must be an <a>Element</a>.  If the touch
29ec4253b862 Issue-6: Events should be dispatched to targets within frames.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 92
diff changeset
   418
          point is within a frame, the event should be dispatched to an element
29ec4253b862 Issue-6: Events should be dispatched to targets within frames.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 92
diff changeset
   419
          in the <a>child browsing context</a> of that frame.
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   420
        </p>
95
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   421
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   422
        <p>
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   423
          If the <a>preventDefault</a> method is called on this event, it
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   424
          should prevent any default actions caused by any touch events
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   425
          associated with the same <a>active touch point</a>, including mouse
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   426
          events or scrolling.
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   427
        </p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   428
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   429
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   430
      <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
   431
        <h3 id="event-touchend">The <dfn class="event">touchend</dfn> event</h3>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   432
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   433
          A user agent must dispatch this event type to indicate when the user
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   434
          removes a <a>touch point</a> from the touch surface, also including
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   435
          cases where the touch point physically leaves the touch surface, such
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   436
          as being dragged off of the screen.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   437
        </p>
54
be35b766b5ef Wrap some text to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 53
diff changeset
   438
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   439
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   440
          The <a>target</a> of this event must be the same <a>Element</a> that
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   441
          received the <a>touchstart</a> event when this <a>touch point</a> was
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   442
          placed on the surface, even if the <a>touch point</a> has since moved
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   443
          outside the interactive area of the <a>target</a> element.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   444
        </p>
55
7df98116715b Clarify targeting of touchmove and touchend events, and add tests.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 54
diff changeset
   445
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   446
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   447
          The <a>touch point</a> or points that were removed must be included
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   448
          in the <a>changedTouches</a> attribute of the <a>TouchEvent</a>, and
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   449
          must not be included in the <a>touches</a> and <a>targetTouches</a>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   450
          attributes.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   451
        </p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   452
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   453
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   454
      <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
   455
        <h3 id="event-touchmove">The <dfn class="event">touchmove</dfn> event</h3>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   456
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   457
          A user agent must dispatch this event type to indicate when the user
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   458
          moves a <a>touch point</a> along the touch surface.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   459
        </p>
54
be35b766b5ef Wrap some text to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 53
diff changeset
   460
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   461
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   462
          The <a>target</a> of this event must be the same <a>Element</a> that
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   463
          received the <a>touchstart</a> event when this <a>touch point</a> was
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   464
          placed on the surface, even if the <a>touch point</a> has since moved
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   465
          outside the interactive area of the <a>target</a> element.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   466
        </p>
54
be35b766b5ef Wrap some text to 80 characters.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 53
diff changeset
   467
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   468
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   469
          Note that the rate at which the user agent sends <a>touchmove</a>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   470
          events is implementation-defined, and may depend on hardware
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   471
          capabilities and other implementation details.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   472
        </p>
95
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   473
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   474
        <p>
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   475
          If the <a>preventDefault</a> method is called on the <em>first</em>
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   476
          <a>touchmove</a> event of an <a>active touch point</a>, it should
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   477
          prevent any default action caused by any <a>touchmove</a> event
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   478
          associated with the same <a>active touch point</a>, such as scrolling.
80bd73a2e5b2 preventDefault recommendations for touchstart/touchmove and scrolling.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 94
diff changeset
   479
        </p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   480
      </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   481
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   482
      <section>
61
d23f3a960205 Fix validation errors.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 60
diff changeset
   483
        <h3 id="event-touchcancel">The <dfn class="event">touchcancel</dfn> event</h3>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   484
        <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   485
          A user agent must dispatch this event type to indicate when a touch
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   486
          point has been disrupted in an implementation-specific manner, such as
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   487
          a synchronous event or action originating from the UA canceling the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   488
          touch, or the touch point leaving the document window into a
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   489
          non-document area which is capable of handling user interactions.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   490
          (e.g. The UA's native user interface, plug-ins)  A user agent may
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   491
          also dispatch this event type when the user places more <a>touch
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   492
          point</a>s on the touch surface than the device or implementation is
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   493
          configured to store, in which case the earliest <a>Touch</a> object
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   494
          in the <a>TouchList</a> should be removed.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   495
        </p>
5
e4446bce8960 First draft, using WebKit model
shepazu <schepers@w3.org>
parents: 4
diff changeset
   496
      </section>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   497
    </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   498
68
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   499
    <section>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   500
      <h2><a>DocumentTouch</a> Interface</h2>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   501
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   502
        The <a>DocumentTouch</a> interface provides a mechanism by which the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   503
        user can create <a>Touch</a> and <a>TouchList</a> objects. The
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   504
        <a>DocumentTouch</a> interface must be implemented on the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   505
        <a>Document</a> object.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   506
      </p>
68
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   507
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   508
      <dl title='interface DocumentTouch' class='idl'>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   509
        <dt>Touch createTouch()</dt>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   510
        <dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   511
          Creates a <a>Touch</a> object with the specified attributes.
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   512
          <dl class='parameters'>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   513
            <dt>AbstractView view</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   514
            <dt>EventTarget target</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   515
            <dt>long identifier</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   516
            <dt>long pageX</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   517
            <dt>long pageY</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   518
            <dt>long screenX</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   519
            <dt>long screenY</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   520
          </dl>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   521
        </dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   522
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   523
        <dt>TouchList createTouchList()</dt>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   524
        <dd>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   525
          Creates a <a>TouchList</a> object containing the specified
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   526
          <a>Touch</a> objects.
68
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   527
          <dl class='parameters'>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   528
            <dt>Touch[] touches</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   529
          </dl>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   530
        </dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   531
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   532
        <dt>TouchList createTouchList()</dt>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   533
        <dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   534
          Creates a <a>TouchList</a> object containing a single <a>Touch</a>.
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   535
          <dl class='parameters'>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   536
            <dt>Touch touch</dt> <dd></dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   537
          </dl>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   538
        </dd>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   539
      </dl>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   540
    </section>
e8bb9dc16d4e Specify createTouch and createTouchList interfaces.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 66
diff changeset
   541
35
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   542
    <section id="mouse-events">
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   543
      <h2>Interaction with Mouse Events</h2>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   544
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   545
        The user agent may dispatch both touch events and mouse events
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   546
        [[!DOM-LEVEL-2-EVENTS]] in response to the same user input.  If the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   547
        user agent dispatches both touch events and mouse events in response to
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   548
        a single user action, then the <a>touchstart</a> event type must be
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   549
        dispatched before any mouse event types for that action.  If the
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   550
        <a>preventDefault</a> method of <a>touchstart</a> or <a>touchmove</a>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   551
        is called, the user agent should not dispatch any mouse event that
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   552
        would be a consequential result of the the prevented touch event.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   553
      </p>
58
22e39e76033e Specify basic preventDefault behavior.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 57
diff changeset
   554
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   555
      <p>
98
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   556
        If the user agent intreprets a sequence of touch events as a click,
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   557
        then it should dispatch <a>mousemove</a>, <a>mousedown</a>,
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   558
        <a>mouseup</a>, and <a>click</a> events (in that order) at the location
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   559
        of the <a>touchend</a> event for the corresponding touch input.  If the
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   560
        contents of the document have changed during processing of the touch
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   561
        events, then the user agent may dispatch the mouse events to a
4ad645b57624 More clarification of behavior for mouse events (ISSUE-3)
Matt Brubeck <mbrubeck@mozilla.com>
parents: 97
diff changeset
   562
        different target than the touch events.
97
3f54db94ae0d ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 96
diff changeset
   563
      </p>
3f54db94ae0d ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 96
diff changeset
   564
3f54db94ae0d ISSUE-3: Click events should be dispatched after any touch events are processed.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 96
diff changeset
   565
      <p>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   566
        The default actions and ordering of any further touch and mouse events
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   567
        are implementation-defined, except as specified elsewhere.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   568
      </p>
35
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   569
    </section>
8624a3d5cbd7 ISSUE-9: Interaction of touch events and mouse events
Matt Brubeck <mbrubeck@mozilla.com>
parents: 34
diff changeset
   570
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   571
    <section>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   572
      <h2>Glossary</h2>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   573
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   574
      <dl>
91
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   575
        <dt><dfn>active touch point</dfn></dt>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   576
        <dd>
91
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   577
          A <a>touch point</a> which is currently on the screen and is being
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   578
          tracked by the user agent.  The touch point becomes active when the
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   579
          user agent first dispatches a <a>touchstart</a> event indicating its
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   580
          appearance.  It ceases to be active after the user agent dispatches a
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   581
          <a>touchend</a> or <a>touchcancel</a> event indicating that the touch
b2c4ba0eb943 ISSUE-15: identifier attribute should be an opaque token
Matt Brubeck <mbrubeck@mozilla.com>
parents: 87
diff changeset
   582
          point is removed from the surface or no longer tracked.
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   583
        </dd>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   584
12
183be84c0a6c defined 'touch point'
shepazu <schepers@w3.org>
parents: 11
diff changeset
   585
        <dt><dfn>touch point</dfn></dt>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   586
        <dd>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   587
          The coordinate point at which a pointer (e.g finger or stylus)
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   588
          intersects the target surface of an interface.  This may apply to a
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   589
          finger touching a touch-screen, or an digital pen writing on a piece
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   590
          of paper.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   591
        </dd>
10
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   592
      </dl>
bad00fb0d663 added identifier algorithm; added glossary; added timestamp to TouchPoint
shepazu <schepers@w3.org>
parents: 9
diff changeset
   593
    </section>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   594
71
4c4b691aab2a Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 69
diff changeset
   595
    <section id='issues' class='informative'>
4c4b691aab2a Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 69
diff changeset
   596
      <h2>Issues</h2>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   597
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   598
        The working group maintains <a
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   599
         href='http://www.w3.org/2010/webevents/track/products/2'
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   600
        >a list of open issues in this specification</a>.  These issues may be
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   601
        addressed in future revisions of the specification.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   602
      </p>
71
4c4b691aab2a Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 69
diff changeset
   603
    </section>
4c4b691aab2a Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 69
diff changeset
   604
4c4b691aab2a Add a link to the issue tracker.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 69
diff changeset
   605
    <section class='appendix informative'>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   606
      <h2>Acknowledgements</h2>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   607
      <p>
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   608
        Many thanks to the WebKit engineers for developing the model used as a
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   609
        basis for this spec, Neil Roberts (SitePen) for his summary of WebKit
86
653218ffd9c4 spelling fixes
Josh Soref <josh.soref@nokia.com>
parents: 85
diff changeset
   610
        touch events, Peter-Paul Koch (PPK) for his write-ups and suggestions,
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   611
        Robin Berjon for developing the <a
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   612
          href="http://dev.w3.org/2009/dap/ReSpec.js/documentation.html"
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   613
        >ReSpec.js spec authoring tool</a>, and the WebEvents WG for their many
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   614
        contributions.
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   615
      </p>
20
3a04fe9b8ef2 Clean up some trailing whitespace and old comments.
Matt Brubeck <mbrubeck@mozilla.com>
parents: 19
diff changeset
   616
85
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   617
      <p>
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   618
        Many others have made additional comments as the spec developed, which
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   619
        have led to steady improvements.  Among them are Matthew Schinckel,
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   620
        Andrew Grieve, and Cathy Chan. If I inadvertently omitted your name,
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   621
        please let me know.
5c770b2dd992 Rewrapping whitespace
Josh Soref <josh.soref@nokia.com>
parents: 84
diff changeset
   622
      </p>
4
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   623
    </section>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   624
  </body>
dda9bf4072d0 testing hg with Murky
shepazu <schepers@w3.org>
parents:
diff changeset
   625
</html>