[Bug 13176] New: The bounds of canvas fallback content, as rendered on the canvas, are not provided by the user agent to an assistive technology.


           Summary: The bounds of canvas fallback content, as rendered on
                    the canvas, are not provided by the user agent to an
                    assistive technology.
           Product: HTML WG
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: HTML Canvas 2D Context (editor: Ian Hickson)
        AssignedTo: ian@hixie.ch
        ReportedBy: schwer@us.ibm.com
         QAContact: public-html-bugzilla@w3.org
                CC: mike@w3.org, public-html-wg-issue-tracking@w3.org,

In HTML, SVG, desktops, and mobile devices an author has the ability to bind
the bounds of object drawn on the screen to the object that provides the
accessibility information. The bounds of the object are defined by the path or
in less complicated systems - a rectangle. No such feature is provide for
natively in canvas.

In canvas, the subtree is used to represent a 1:1 mapping of objects rendered
on the physical canvas for the purpose of providing keyboard navigable objects
that can expose accessibility semantics to the browser to support platform
accessibility APIs. What is missing is the ability to defined the bounds of the
associated object drawn on the canvas. 

There are some questionable work arounds where the subtree elements can be
rendered transparently, using CSS, with a higher Z order above the canvas
element. Yet, this would require the author to manage: 
- bounds transformations based on the canvas transformation matrix
- adjustment of the bounds based on scrolling or moving of the browser on the

This is a very expensive management barrier to accessibility when the user
agent could simply provide the ability to bind retained paths for bounds of the
object on canvas to the subtree element and use it to also perform hit testing.
This would allow the user agent to route pointer events directed at the canvas
object to the same element in the canvas subtree that processes the keyboard
events. It also allows user agents to supply the bounds of the object being
drawing to the corresponding accessible object generated from the canvas
subtree element like all GUIs today. 

Without the bounds of an object:

- mobile screen readers like VoiceOver cannot detect the existence of
accessible objects when you move your finger over them on canvas
- screen magnifiers cannot find the location of the object to zoom to it
- screen readers cannot orient objects on the same line to drive Braille

This is a very serious problem that should not be left up to developer hacking.
It needs to supported by the user agent transparently to the author which is
why employing retained paths, defining the bounds of objects, to the accessible
objects in the canvas subtree to support hit testing would be the easiest
vehicle for developers to provide the bounds of an object to an assistive

Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 7 July 2011 18:07:14 UTC