DrawCustomFocusRing was move to L2 and part of that is for this reason. We
agree the name needs help.
The probem with if Needed is that one could assume that it is not needed.
The function serves two purposes:
- sets the location
- draws focus based on the location if it has focus
That name should reflect that if possible if we are going to change the
name.
drawApplicableFocus
Rich Schwerdtfeger
From: Rik Cabanier <cabanier@gmail.com>
To: "Robert O'Callahan" <robert@ocallahan.org>
Cc: Jay Munro <jaymunro@microsoft.com>, Richard
Schwerdtfeger/Austin/IBM@IBMUS, Alexander Surkov
<surkov.alexander@gmail.com>, "Rik Cabanier
(cabanier@adobe.com)" <cabanier@adobe.com>, Dominic Mazzoni
<dmazzoni@google.com>, Jatinder Mann <jmann@microsoft.com>,
"Philippe Le Hegaret (plh@w3.org)" <plh@w3.org>, Canvas
<public-canvas-api@w3.org>
Date: 01/09/2014 03:13 PM
Subject: Re: drawSystemFocusRing and drawCustomFocusRing names are
confusing.
On Thu, Jan 9, 2014 at 1:02 PM, Robert O'Callahan <robert@ocallahan.org>
wrote:
I agree with jatinder. "drawFocus" suggests that it will always draw
something, but that's wrong. The name "drawCustomFocusRing" is even worse
since it never draws anything.
I think for the method that actually draws, "drawFocusIfNeeded" would be
good.
For the other method, "needToDrawFocus" sounds good for the
non-accessibility functionality. However, if the name ignores the
accessibility side effects, we can expect authors to not set the correct
path, since a path is not obviously needed. So I suggest we remove the
version of the method that uses the current path, forcing authors to
provide a Path parameter, and explain in prose what the Path parameter is
for. Of course that would mean making this functionality depend on Path,
but I think that's OK. This functionality seems less important than
drawFocusIfNeeded. There is the possibility that authors will just supply
a bogus Path anyway because they don't care about accessibility, but
that's possible with any form of this API.
That sounds fine.
Let's rename 'drawSystemFocusRing' to 'drawFocusIfNeeded'.
'needToDrawFocus' can move to the l2 version of the spec.