- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Mon, 15 Feb 2010 13:56:00 -0600
- To: "public-canvas-api@w3.org" <public-canvas-api@w3.org>
- Cc: jcraig@apple.com
- Message-ID: <OF3809AE36.FDC7AF22-ON862576CB.006C4A2F-862576CB.006D7F33@us.ibm.com>
James Craig and I discussed what we think will be a better solution to a new element within <canvas>. I would like to discuss it today. When possible a facility must me provided to make <canvas> directly accessible to assistive technologies in such a way that an accessibility validator may detect the accessible binding in markup. The accessibility binding should be such that keyboard navigation of <canvas> be consistent with standard HTML navigation in the DOM and as such the author should be able to use the area between the <canvas> </canvas> tags to implement this accessible rendering. The challenge being that the author also uses the same <canvas> subtree to represent fallback content. The fallback subtree differs from the accessible <canvas> subtree in that the accessible <canvas> subtree is designed to have its rendering directly drawn to the <canvas> whereas the fallback subtree is not. The determination of the disposition of the <canvas> subtree can be determined at load time. Therefore, to indicate to assistive technologies and test tools that the <canvas> subtree is a directly accessible binding of <canvas> we would like to introduce a new canvas attribute called adom/(or whatever the group likes). When set to true it indicates that the canvas subtree is to be use as a direct accessible subtree of canvas. Another important reason for it being an attribute (as opposed to a separate element) is because there is likely no need for the DOM to contain both 'fallback content' and 'shadow DOM content' at the same time. The fallback content can come over the wire in the HTML source, and a script can determine whether canvas is renderable, then replace that fallback content with the shadow DOM content (and update the new attribute) when it initializes the canvas. We propose adding this text to canvas: The canvas element has a third boolean attribute called adom to indicate if the canvas subtree is an accessible DOM subtree binding of canvas. If it is true, standard HTML elements may be used in the subtree, however the the rendering of the subtree is controlled by script through the canvas API. When adom is set to "true" the elements within the <canvas> should be included as part of the keyboard navigation order in HTML. The default value for adom is false to indicate that the canvas subtree is fallback content. Authors that implement adom MUST ensure that: - an accessible visible focus rendering of the adom element is provided on the <canvas> area - an accessible visible caret rendering of the adom element is provided on the <canvas> area - the canvas rendering supports system font and color settings and changing: interface HTMLCanvasElement : HTMLElement { attribute unsigned long width; attribute unsigned long height; DOMString toDataURL(in optional DOMString type, in any... args); object getContext(in DOMString contextId); }; to: interface HTMLCanvasElement : HTMLElement { attribute unsigned long width; attribute unsigned long height; attribute boolean adom; DOMString toDataURL(in optional DOMString type, in any... args); object getContext(in DOMString contextId); }; Rich Schwerdtfeger Distinguished Engineer, SWG Accessibility Architect/Strategist
Received on Monday, 15 February 2010 19:56:48 UTC