Skip to content

[mediaqueries-4] Interaction Media Features make a rigid primary/"rare" distinction #690

@patrickhlauke

Description

@patrickhlauke

The section on Interaction Media Features https://drafts.csswg.org/mediaqueries-4/#mf-interaction makes, throughout its description text, a hard distinction between the "primary" input and other input types, even going as far as labelling the others as "rare".

As pointed out previously (e.g. in this article https://dev.opera.com/articles/media-features/ - which needs updating due to the removal of on-demand), fundamentally this hard distinction is becoming much more blurry nowadays.

For instance, on a touch-enabled laptop, or one of those new Surface Studio desktop devices, what is the primary input? I know the idea is that the OS/UA will make that call, but by virtue of even having that distinction in the spec, you're discounting the increasing possibility that devices have multiple equi-potent input modalities. There may well be more than one "primary" input, and labelling anything other than whatever the OS/UA decides is "primary" as being "rare" is an inappropriate qualitative statement in the spec.

At the very least, I would like to see language such as "rare" being amended/removed. Call it "secondary", at a stretch, and possibly include stronger advice that the any-* results should be treated not as some courtesy

some extra conveniences or non essential controls can be offered to users who have additional ways to interact.

because if a user does rely on whatever the OS/UA deems as "rare"/"secondary", then it's not just about being "nice" to the user...if you rely on things like hovering or high pointing precision, you ARE going to stop users from being able to use your site/app if you only concentrate on the "primary".

More fundamentally, I'd actually love to see the concept of "primary" input go away altogether as it's increasingly inappropriate in multi-input environments, but I take it that'd be a step too far?

(for what it's worth, note for instance that in the Pointer Events spec, we don't try to categorise any type of pointer by it being "primary" or not...they're all treated as equally valid/important)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions