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

RE: drawsystemfocusring/drawcustomfocusring

From: Jay Munro <jaymunro@microsoft.com>
Date: Thu, 12 Dec 2013 00:50:35 +0000
To: Richard Schwerdtfeger <schwer@us.ibm.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: <9b748e28984842df92793b17163fb53c@BY2PR03MB521.namprd03.prod.outlook.com>
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 wou]Jay 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<mailto:jaymunro@microsoft.com>>
To: Richard Schwerdtfeger/Austin/IBM@IBMUS, Rik Cabanier <cabanier@gmail.com<mailto:cabanier@gmail.com>>
Cc: Dominic Mazzoni <dmazzoni@google.com<mailto:dmazzoni@google.com>>, Canvas <public-canvas-api@w3.org<mailto:public-canvas-api@w3.org>>, Jatinder Mann <jmann@microsoft.com<mailto:jmann@microsoft.com>>, "eoconnor@apple.com<mailto:eoconnor@apple.com>" <eoconnor@apple.com<mailto: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>

>>


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

Received on Thursday, 12 December 2013 00:51:06 UTC

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