Re: [mediaqueries4]Differentiating touchscreen+mouse from touchscreen only scenarios

On Fri, Dec 19, 2014 at 8:56 AM, Rick Byers <> wrote:
> On Thu, Dec 18, 2014 at 5:55 PM, Oren Freiberg <>
> wrote:
>> > We think the spec should avoid ambiguities around non-pointer
>> > devices---we were bitten by this during our implementation.
>> > Details: Even though 'pointer', 'any-pointer', 'hover' and 'any-hover'
>> > values are meant for pointing devices only (right?), the spec
>> >
>> > defines 'pointer' and 'hover' values ambiguously with respect to
>> > inclusion/exclusion of non-pointing input device like keyboards:
>> >
>> > A. The 'pointer' value definitions include non-pointing devices, but the
>> > 'hover' value definitions don't. These defs use "... primary input mechanism
>> > ..." and "... primary pointing system ..." respectively.
>> > B. The 'any-pointer' and 'any-hover' definitions include non-pointing
>> > devices: "... capabilities of all the input devices ...".
> It turns out Tab and I made some different assumptions on the intentions
> here (and failed to talk to each other about it - sorry!).  I think the two
> specific open issues are:
> 1) Is the distinction in the spec language between "pointer device" and
> "input device" meaningful?  Can we just clarify all the wording to refer to
> "pointing" devices to make it clear these APIs have nothing to do with
> non-pointer input devices like keyboards?

Yeah, I didn't intend any difference.  I'll unify it to "pointing devices".

> 2) What are the semantics for "any-{pointer,hover}: none"?  If it's strictly
> a union of the {pointer,hover} values (as Tab instructed Dave off thread for
> our initial implementation in chromium) then 'any-pointer: none' will always
> be true.  If instead, it's a union of all capabilities (where 'none'
> represents the absence of a relevant capability) then 'none' is mutually
> exclusive with all other values and so 'any-pointer' is true iff 'pointer'
> is true.  The latter makes the most conceptual sense to me, and appears
> (from our limited testing) to be what the IE tech preview implements.  We've
> just switched our implementation to match this (before I was aware of the
> discussion between Dave and Tab on this point).

The latter is what's intended - I don't think any MQ should be both
truthy and falsey at the same time, so "none" should be mutually
exclusive with the rest.  I'll tweak the wording to make this clear.


Received on Friday, 19 December 2014 17:41:17 UTC