[whatwg] Outline style to use for drawSystemFocusRing

Rik Cabanier cabanier at gmail.com
Mon Sep 30 17:42:40 PDT 2013

On Mon, Sep 30, 2013 at 4:51 PM, Dominic Mazzoni <dmazzoni at google.com>wrote:

> On Mon, Sep 30, 2013 at 4:12 PM, Ian Hickson <ian at hixie.ch> wrote:
>> Some users have great trouble seeing the default focus rings.
>> ...
>> It's certainly true that if we don't want to support users with poor
>> vision, the API would be simpler. But I don't think that's an option. We
>> don't get to arbitrarily ignore some users.
> Of course not! I'm not arguing against supporting those users. The correct
> thing to do for those users is to use accessibility APIs to make the
> operating system aware of the focused object and its bounds. If users have
> ZoomText or MAGic installed, or if they're using VoiceOver or Orca, their
> assistive technology will draw its own focus ring *in addition* to the
> application's focus ring.
> No other application hides its focus ring just because, e.g., ZoomText is
> drawing a focus ring. The rest of the web doesn't do it. Why do we need it
> for canvas?

Where does it say in the spec that if you have assistive technology
enabled, focus rings should not be drawn?

> On Mon, 30 Sep 2013, Dominic Mazzoni wrote:
>> >
>> > I don't think that drawCustomFocusRing should switch to the system focus
>> > rectangle style just because that preference was set - it might look
>> > horrible on a particular canvas.
>> It's the whole point of the feature. Draw the focus ring the way the user
>> needs it to be drawn, if there's a special need, otherwise, let me draw it
>> my fancy hard-to-see way.
> The problem is that there aren't existing operating system or browser
> settings that specifies that the user wants better focus rings. There are
> tools that draw additional focus rings, and preferences that control the
> appearance of the default focus ring, but no toggle that says
> *applications* should or shouldn't draw focus rings.
> Finally, as a meta-argument, if we really want a preference for custom
> focus rings, then wouldn't we want that for the rest of the web? If I'm
> building a custom form control and I need to choose a drawing style when
> focused, wouldn't I want to know if the user wanted custom focus rings,
> too? In other words, what makes this need canvas-specific?

>> How would this differ from scrollPathIntoView() ?
> It would take an element in fallback content as an argument. That would
> allow assistive technology to be notified.

As Ian pointed out, the accessibility software could do that.

Actually, I just tried this with my patched version of Firefox and your
example: http://dmazzoni-google.github.io/canvas-focus-ring-demo/
If I tab into the hidden canvas elements, the browser automatically scrolls
to the region. So, it seems that this is not needed.

More information about the whatwg mailing list