[csswg-drafts] [mediaqueries-4] accessibility review [css-a11y]

IanPouncey has just created a new issue for https://github.com/w3c/csswg-drafts:

== [mediaqueries-4] accessibility review [css-a11y] ==
[Reviewed](https://github.com/w3c/css-a11y/issues/16) on behalf of the CSS Accessibility Task Force by @patrickhlauke. 

My best effort review of the spec (and I'll mention right away that I myself contributed to the spec, including the addition of some of the accessibility/keyboard related notes, so I'm biased):

Meta: SVG diagrams should be given a role="img" and appropriate description

Meta: the "asides" rendered as tooltips (see for instance the "all", "print", "screen", "speech" in https://www.w3.org/TR/mediaqueries-4/#media-types) cannot be triggered using the keyboard. 

https://www.w3.org/TR/mediaqueries-4/#media-types note that "tty", braille", "embossed", aural" etc are deprecated, due to no UA supporting them. However, "speech" is still maintained active. There is, to my knowledge, no evidence of UAs actually presenting themselves as "speech" type devices. Raised the issue here https://github.com/w3c/csswg-drafts/issues/1751

Interaction media features https://www.w3.org/TR/mediaqueries-4/#mf-interaction are based on the idea that devices/user agents have a "primary" pointing device. The non-normative notes suggest that user agents may have heuristics or user settings so that for keyboard users the queries for pointer:none (absence of a pointing device) should evaluate to true even if there are pointing devices (like a mouse or touchscreen) present. Note that, to my knowledge, no user agent currently does this/offers any kind of setting or heuristic.

The spec aknowledges that it does not include an equivalent media feature to detect the presence of a keyboard / keyboard-like interface, but includes a note suggesting that authors should "take into account the potential presence of non-pointing device inputs, regardless of which values are matched when querying these features".

Positive to note that https://www.w3.org/TR/mediaqueries-4/#pointer details how user agents should treat user zoom with regards to pointer accuracy - zoom does not influence the exposed value (e.g. a "coarse" pointer like a touchscreen does not suddenly become "fine" like a mouse when the user is zoomed in / the targets become visually bigger). 

This section also includes a "for accessibility reasons" section which hints at the possiblity that UAs would expose pointer accuracy as being coarse (or no primary pointer being present) despite a fine pointer being present (meta: this should probably be in a non-normative note). As above, tote that no user agent currently does this.

A similar "for accessibility reasons" section is present in https://www.w3.org/TR/mediaqueries-4/#hover, hinting that UAs may not expose the hover capabilities of the primary pointer if hovering is inconvenient for the user. Same note as before on lack of actual UA support for this.

https://www.w3.org/TR/mediaqueries-4/#any-input non-normative notes strongly mention the limitations of these media features in detecting keyboard users, and make recommendations to authors to still consider these users / not assume that these features (e.g. the fact that the media feature checks for pointers or hover capability) imply that all users will actually be using those potentially available input methods.

https://www.w3.org/TR/mediaqueries-4/#priv-sec covers the potential aspects of more accurately fingerprinting users. Worth noting that none of the media features would directly constitute a way to identify users with disabilities, with the exception of the "speech" media type https://www.w3.org/TR/mediaqueries-4/#valdef-media-speech. As I don't think there are any actual UAs that identify as "speech" type devices in the wild anyway, and due to the potential problem of "screenreader detection", I'd recommend officially deprecating this media type along with the already deprecated "tty", "braille", "aural" (again, see https://github.com/w3c/csswg-drafts/issues/1751)

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1925 using your GitHub account

Received on Wednesday, 1 November 2017 10:56:14 UTC