- From: Rick Byers <notifications@github.com>
- Date: Tue, 02 Aug 2016 06:54:04 -0700
- To: w3c/touch-events <touch-events@noreply.github.com>
- Message-ID: <w3c/touch-events/pull/72/r73158649@github.com>
> @@ -960,7 +960,26 @@ <h3 id="event-touchcancel">The <dfn class="event"><code>touchcancel</code></dfn> > </ol> > </section> > > - > + <section class="note"> > + <p>Even if a user agent supports Touch Events, this does not necessarily mean that a touchscreen is the only input mechanism available to users. Particularly in the case of touch-enabled laptops, or traditional "touch only" devices (such as phones and tablets) with paired external input devices, users may use the touchscreen in conjunction with a trackpad, mouse or keyboard. For this reason, developers should avoid binding event listeners with "either touch or mouse/keyboard" conditional code, as this results in sites/application that become touch-exclusive, preventing users from being able to use any other input mechanism.</p> > +<pre class="example"><code> > +// conditional "touch OR mouse/keyboard" event binding > +if ('ontouchstart' in window) { > + // set up event listeners for touch > +} else { > + // set up event listeners for mouse/keyboard > +} > +</code></pre> > + <p>Instead, developers should handle different forms of input concurrently.</p> > +<pre class="example"><code> > +// concurrent "touch AND mouse/keyboard" event binding > +if ('ontouchstart' in window) { why even do the feature detect at all? Maybe instead actually show one of the `addEventListener` calls to make it a little more concrete? Eg. could just write code something like: ```javascript // setup event listeners for touch target.addEventListener('touchstart', ontouchstart); ... ``` --- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/touch-events/pull/72/files/9faf80b27d03bdc65847bfb82bc851ebc203f3e6#r73158649
Received on Tuesday, 2 August 2016 13:56:17 UTC