RE: drawsystemfocusring/drawcustomfocusring

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



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>

>>

Received on Thursday, 12 December 2013 00:23:22 UTC