W3C home > Mailing lists > Public > public-canvas-api@w3.org > October to December 2013

RE: drawsystemfocusring/drawcustomfocusring

From: Richard Schwerdtfeger <schwer@us.ibm.com>
Date: Fri, 13 Dec 2013 10:27:07 -0600
To: Jay Munro <jaymunro@microsoft.com>
Cc: Rik Cabanier <cabanier@gmail.com>, Dominic Mazzoni <dmazzoni@google.com>, "eoconnor@apple.com" <eoconnor@apple.com>, Jatinder Mann <jmann@microsoft.com>, Canvas <public-canvas-api@w3.org>
Message-ID: <OFC106B786.85050D52-ON86257C40.005A266D-86257C40.005A5F87@us.ibm.com>
I would recommend one tweak.

We should say rendered descendant rather than rendered child to be more
accurate.

There will be instances where the child may not be a direct child of the
canvas element. For example, it may be a child of a child.

 Rich



Rich Schwerdtfeger



From:	Jay Munro <jaymunro@microsoft.com>
To:	Richard Schwerdtfeger/Austin/IBM@IBMUS
Cc:	Rik Cabanier <cabanier@gmail.com>, Dominic Mazzoni
            <dmazzoni@google.com>, "eoconnor@apple.com"
            <eoconnor@apple.com>, Jatinder Mann <jmann@microsoft.com>,
            Canvas <public-canvas-api@w3.org>
Date:	12/12/2013 02:21 PM
Subject:	RE: drawsystemfocusring/drawcustomfocusring



With scrollpathintoview, how does this sound for the two lines that used
notional child:



The scrollPathIntoView() method, when invoked, must run the following
steps:


      1.    Let the specified rectangle be the rectangle of the bounding
      box of the intended path.


      2.    Let hidden child be an element that is a rendered child of the
      canvas element whose dimensions are those of the specified rectangle.


      3.      Scroll the hidden child into view with the align to top flag
      set.


From: Richard Schwerdtfeger [mailto:schwer@us.ibm.com]
Sent: Thursday, December 12, 2013 11:07 AM
To: Jay Munro
Cc: Rik Cabanier; Dominic Mazzoni; eoconnor@apple.com; Jatinder Mann;
Canvas
Subject: RE: drawsystemfocusring/drawcustomfocusring



Alright. fallback is safest then as that way we don't include other
elements with display:none. We should also modify scrollpathintoview to
refer to fallback content.

http://www.w3.org/TR/2012/CR-2dcontext-20121217/#dom-context-2d-scrollpathintoview



Do others agree?

Rich


Rich Schwerdtfeger

Inactive hide details for Jay Munro ---12/11/2013 06:51:17 PM---Thanks
Richard, I understand concept, as it’s essentially linkJay Munro
---12/11/2013 06:51:17 PM---Thanks Richard, I understand concept, as it’s
essentially linking an onscreen (canvas) element with

From: Jay Munro <jaymunro@microsoft.com>
To: Richard Schwerdtfeger/Austin/IBM@IBMUS
Cc: Rik Cabanier <cabanier@gmail.com>, Dominic Mazzoni <dmazzoni@google.com
>, "eoconnor@apple.com" <eoconnor@apple.com>, Jatinder Mann <
jmann@microsoft.com>, Canvas <public-canvas-api@w3.org>
Date: 12/11/2013 06:51 PM
Subject: RE: drawsystemfocusring/drawcustomfocusring




Thanks Richard,

I understand concept, as it’s essentially linking an onscreen (canvas)
element with a hidden element. As the hidden elements get focus, we
highlight its partner image on the canvas, and supply whatever additional
accessibility info or state from the hidden element.

By definition, “notional” is defined as imaginary, hypothetical,
theoretical, or an idea. The fallback elements in Canvas have been termed
the “shadow DOM”, but they are part of the DOM. If the browser doesn’t
support Canvas, then the elements are shown. I’m hesitating to introduce a
new term (notional child/children) as I’m not sure using it would make it
clearer. I’d rather use “hidden” or “fallback elements” and see the action
defined, than label them with a new term.

-Jay


>>
In canvas accessibility fallback elements (between canvas start and end
tags) are used to represent important objects drawn on the physical canvas.
These fallback elements are used in the keyboard navigation order and they
supply accessibility information to the browser which will then in turn map
that information to platform accessibility API services.

These fallback elements are considered to be "notional children" as they
are not actually drawn to the glass as they are hidden by the canvas tag.
However, because they are hidden we need a vehicle to provide their
location to assistive technologies which these APIs do. For example, when
we call drawSystemFocusRing(element):

The current path will get mapped to a bounding rectangle for the element in
fallback content. Since these are notional children their location is not
typically adjusted when the container they reside in scrolls. What we are
saying is that when the page scrolls these "notional children" must also
have their location adjusted the same way the canvas element location gets
adjusted by the user agent.

When you are tabbing through the web page these fallback elements can be
included in the tab order (e.g. tabindex="0"). When this occurs the canvas
element may not be visible in the user agent due to the viewport of the
browser. In this case (the same way we do with hyperlinks) the focus must
be scrolled into view after the focus change occurs.

drawSystemFocusRing and drawCustomFocusRing are called by the author when a
focus change occurs. I am not sure when the scroll would occur - after the
focus event is fired in the DOM or before. Do you know?

Rich

Rich Schwerdtfeger

Inactive hide details for Jay Munro ---12/10/2013 10:41:31 AM---Richard, On
your inserted text below, are you thinking that wouJay Munro ---12/10/2013
10:41:31 AM---Richard, On your inserted text below, are you thinking that
would be an addendum to the procedure li

From: Jay Munro <jaymunro@microsoft.com>
To: Richard Schwerdtfeger/Austin/IBM@IBMUS, Rik Cabanier <
cabanier@gmail.com>
Cc: Dominic Mazzoni <dmazzoni@google.com>, Canvas <public-canvas-api@w3.org
>, Jatinder Mann <jmann@microsoft.com>, "eoconnor@apple.com" <
eoconnor@apple.com>
Date: 12/10/2013 10:41 AM
Subject: RE: drawsystemfocusring/drawcustomfocusring





Richard,

On your inserted text below, are you thinking that would be an addendum to
the procedure list or replacing some text?  I’m also wondering about the
idea of a “notional child” and hypothetical elements. Are you talking about
the ring itself or the element that the ring is highlighting when focused?
I haven’t seen those phrases in documentation before.

-Jay

>> Richard said:

<rss>
drawSystemFocusRing() and drawCustomFocusRing() refer to a descendant of
the canvas element. These descendants are each considered a notional child.
Notional children are hypothetical elements that are rendered children of
the canvas element and their dimensions are those of the bounding box of
the specifed path.

When tabbing to a notional child, having an assigned location through the
use of drawSystemFocusRing or drawCustomFocusRing, scroll the notional
child into view following the steps defined by scrollPathIntoView.

When a canvas elements is scrolled as a result of being contained within an
element having CSS stylle overscroll:scroll, notional children having an
assigned location through the use of drawSystemFocusRing or
drawCustomFocusRing, scroll the notional children bounds by the same change
in position as the corresponding canvas element.

</rss>

>>



graycol.gif
(image/gif attachment: graycol.gif)

Received on Friday, 13 December 2013 16:27:44 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:31:55 UTC