Just wanted to put down some feedback we've received while discussing :focus-ring with other implementors. We were having these discussions over email but I realized it'd be better if they were here on GitHub so there's a record. Maybe we should add this to the explainer at some point? Anyway, here's a brief recap:
Mozilla
They mentioned that they already have :focus-ring in the form of :moz-focusring which they could unprefix at any point.
Safari
No word on feelings toward :focus-ring. Though they did mention that Apple.com uses a technique to differentiate between mouse and keyboard focus and selectively apply a class (similar to what the polyfill does). So I imagine they could replace that with :focus-ring if it existed.
Edge
Wondered if developers would need more fine grained control in order to support different modalities (eye gaze, voice input, etc). Mentioned MQL4 'pointer' query. Alice suggested that those modalities could still fall into the bucket of matching :focus-ring. It'd be up to the browser to decide.
Edge also mentioned :hover and :active might also want to provide different behavior depending on input modality. Wondered if there was a missing primitive possibly around detecting input modality.
Were concerned that if authors already disable :focus, what would stop them from also disabling :focus-ring? Alice mentioned that we think most folks disable :focus because it shows focus indicators indiscriminately, and if they had more control (via :focus-ring), this would resolve that issue.
cc @boggydigital, @travisleithead, @dbolter, @cookiecrook, @alice to make sure I captured everyone's positions accurately. BTW thank you all for taking the time to discuss this with us 😊
Just wanted to put down some feedback we've received while discussing
:focus-ring
with other implementors. We were having these discussions over email but I realized it'd be better if they were here on GitHub so there's a record. Maybe we should add this to the explainer at some point? Anyway, here's a brief recap:Mozilla
They mentioned that they already have
:focus-ring
in the form of:moz-focusring
which they could unprefix at any point.Safari
No word on feelings toward :focus-ring. Though they did mention that Apple.com uses a technique to differentiate between mouse and keyboard focus and selectively apply a class (similar to what the polyfill does). So I imagine they could replace that with :focus-ring if it existed.
Edge
Wondered if developers would need more fine grained control in order to support different modalities (eye gaze, voice input, etc). Mentioned MQL4 'pointer' query. Alice suggested that those modalities could still fall into the bucket of matching
:focus-ring
. It'd be up to the browser to decide.Edge also mentioned
:hover
and:active
might also want to provide different behavior depending on input modality. Wondered if there was a missing primitive possibly around detecting input modality.Were concerned that if authors already disable
:focus
, what would stop them from also disabling:focus-ring
? Alice mentioned that we think most folks disable:focus
because it shows focus indicators indiscriminately, and if they had more control (via:focus-ring
), this would resolve that issue.cc @boggydigital, @travisleithead, @dbolter, @cookiecrook, @alice to make sure I captured everyone's positions accurately. BTW thank you all for taking the time to discuss this with us 😊