Re: change proposal: Provide accessibility implementation information (in the Canvas 2d Context specification) for focus rectangle and caret

Hi Maciej,

First, this is great feedback. I tried to stay in line with what was in the
2D Context draft that was out there, which in the fine print, indicated
that the focus rectangle was also used for caret. It was unclear how much
of the drawFocusRing() was implemented and I tried not to break things. So,
I also had problems with reusing the same method.

Here is the the text in the existing text that I am referring to:
"The position of the center of the control, or of the editing caret if the
control has one, should be given in the x and y arguments."

So, it appears you are in agreement with simply having caret API that says
setCaretPosition with a set of coordinates. As it states it would be bound
to an element in the subdom which has a logical character position which
the author would synch with. This we have in the proposal. I will simply
separate them out.

Second, if we require the author to do all the caret drawing I see a
problem with not honoring blink rate settings that the author does not have
access to. If the blink rate is high enough (greater than 3 times a second)
this may call seizures in some users. Should we not provide the ability for
the user agent to override the drawing in some way?

Third, what I and others are struggling with is canDrawCustom on

"If the canDrawCustom argument is true, then the focus ring is only drawn
if the user has configured his system to draw focus rings in a particular
manner. (For example, high contrast focus rings.)"

This does not make sense. The parameter, my name, indicates that the author
can draw a custom focus rectangle. It would make more sense to say that the
focus ring is drawn, by the user agent, only if the user has configured the
system to draw focus rings in a particular matter. ... meaning the user has
configured the desktop to draw focus rings in a standard way and the author
should not override that. Do you agree?


Rich Schwerdtfeger
CTO Accessibility Software Group

             Maciej Stachowiak                                             
             Sent by:                                                   To 
             public-html-a11y-         Steven Faulkner                     
                                       HTML Accessibility Task Force       
             03/08/2010 03:01          <>,          
             PM              , HTMLWG WG 
                                       <>, Richard       
                                       Re: change proposal: Provide        
                                       accessibility implementation        
                                       information  (in the Canvas 2d      
                                       Context specification) for focus    
                                       rectangle and caret                 

On Mar 4, 2010, at 4:41 AM, Steven Faulkner wrote:

> change proposal based on changes (written by Rich S) to the canvas 2d
> context spec
> resolves bug 8722 (

<chair hat off>

It seems odd to me that this proposal overloads drawFocusRing to also
handle tracking the caret in a canvas:

1) The caret is a kind of selection, not a kind of focus ring. Rather
than overloading drawFocusRing, there should be a way to indicate a
selection region, possibly collapsed to a caret.

2) On many operating systems the caret blinks in the default system
appearance, so using a single call to draw it once will not do. At
best you can report its position and it has to be up to the specific
Web application to manage drawing it.

3) It seems to me that if the <canvas> has a navigable/accessible
subdom, then it can semantically indicate focus and selection by
placing the DOM selection somewhere in the subdom. The only piece
missing is associating that with some screen coordinates.


Received on Thursday, 11 March 2010 15:44:26 UTC