- From: paniz alipour <alipourpaniz@gmail.com>
- Date: Fri, 2 Dec 2011 09:51:03 +0330
- To: Charles Pritchard <chuck@jumis.com>
- Cc: Canvas <public-canvas-api@w3.org>, Steve Faulkner <faulkner.steve@gmail.com>
- Message-ID: <CADfq16gfKGNFGR3MLpeD=yuj1XoaWXVLazLUxubkF3UL+Mo17g@mail.gmail.com>
Hello Charles, Really Really Thank you Charles. Best Regards On Thu, Dec 1, 2011 at 3:53 PM, Steve Faulkner <faulkner.steve@gmail.com>wrote: > Hi Charles, many thanks for this summary, I took the liberty of > reformatting and posting it it as its a valuable overview of where we > are and how we got here! > > > http://www.paciellogroup.com/blog/2011/12/html5-canvas-accessibility-discussions-2009-2011/ > > regards > stevef > > On 1 December 2011 02:07, Charles Pritchard <chuck@jumis.com> wrote: > > [public-canvas-api] Summary of accessibility threads between 2009 - 2011 > > http://lists.w3.org/Archives/Public/public-canvas-api/ > > > > > > Welcome to the mailing list: > > > http://lists.w3.org/Archives/Public/public-canvas-api/2008JanMar/0001.html > > > > "This list is intended to serve as a dedicated thread for matters > specific > > to the Canvas API and its intersection with other DOM interfaces and with > > markup." > > > > > > The bulk of the work the past three years has been in advocating for > > accessibility frameworks. There has been exhaustive discussion with > > developers from several browser vendors, stemming from an early > > recommendation that the Canvas sub-tree be supported. > > > http://lists.w3.org/Archives/Public/public-canvas-api/2009JulSep/0000.html > > > > "All accessibility frameworks are dependent on the ability to have an > object > > model to provides a hierarchy that provides context to a user and which > can > > provide interfaces to an assistive technology… [for example] a 2D chart > has > > dynamically changing data it could be replaced with an HTML table marked > asa > > live region or even a grid." > > > > > > Programmatic access is a conformance principle of the Web Content > > Accessibility Guidelines. Accessibility remains unresolved and an issue > in > > last call procedures for HTML5 as of December 2011. > > http://www.w3.org/2002/09/wbs/40318/html5-last-call-poll/results > > http://lists.w3.org/Archives/Public/public-html-a11y/2011May/0457.html > > > http://lists.w3.org/Archives/Public/public-canvas-api/2011JulSep/0237.html > > > > "There are numerous accessibility issues/bugs that will need to be > > addressed, before the spec. leaves last call" > > > > > > Work on resolving Canvas accessibility issues took shape in July 2009. > > http://lists.w3.org/Archives/Public/public-html/2009Jul/0562.html > > > > "It has been decided to form a task force to work on specifying > additions to > > the CANVAS API, that will result in canvas content being natively > > accessible." > > > > > > The merits of supporting Canvas and DOM tree interaction were discussed > in a > > late 2009 accessibility call. > > http://lists.w3.org/Archives/Public/public-html/2009Aug/1125.html > > > > "[Supporting] focus for 'widgets' inside the canvas could also be handled > > via DOM, by adding a requirement that anything inside the canvas's DOM > > subtree with a tabindex must still participate in the tab cycle and > produce > > focus events" > > > > > > Microsoft added support for focus events inside the Canvas element > sub-tree > > in their release of IE9. Other vendors are expected to follow suit. > WebKit > > reviewed but eventually rejected an early patch in February 2011. > > https://bugs.webkit.org/show_bug.cgi?id=50126 > > > > "[Do not use RenderReplaced,] the best way to fix it is to make > > RenderHTMLCanvas a RenderBlock and more like a form control" > > > > > > drawFocusRing, a new Canvas Context 2d method, was added to the > > specification. It's purpose to display a focus box within the canvas > element > > when focus events are received. > > http://www.w3.org/TR/2dcontext/#dom-context-2d-drawfocusring > > > > > > Currently, no vendors support the drawFocusRing method, though there is > > broad consensus that it should be supported. > > http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5_Canvas) > > > > > > Mozilla has been discussing support for some time. Their bug report > follows > > the whatwg specification, which recommends two methods: > > drawSystemFocusRing(element) and drawCustomFocusRing(element) whereas the > > w3c specification recommends one method with an optional boolean > attribute: > > drawFocusRing(element, boolean). > > https://bugzilla.mozilla.org/show_bug.cgi?id=540456 > > > > > > The drawFocusRing method was chosen over <map> element / useMap > extensions > > proposed in early 2010: > > http://www.w3.org/html/wg/wiki/ChangeProposals/Map4NotAdom > > > > > > drawFocusRing demonstrates that the Canvas sub-tree is available for > focus > > management and that the Canvas 2d path API is being exposed, in some > manner > > to the system accessibility API. It's an important milestone. The various > > issues that have been discussed are catalogued on a W3C wiki page. > > http://www.w3.org/html/wg/wiki/AddedElementCanvas > > > > > > There is consensus that the useMap property, based on HTML4 <map>, should > > not be used with Canvas. The competing focus ring and caret tracking > > proposals were moved forward. > > http://www.w3.org/html/wg/wiki/ChangeProposals/Map4NotAdom > > > > > > Unfortunately, the group has had mixed consensus about approaching > clickable > > regions in Canvas. > > > > We've not been able to develop broad consensus. Many spec editors and > > developers who work for vendors have suggested that use cases involving > > interactive elements are not appropriate uses of HTML5 and should not be > > encouraged. There has been strong push-back suggesting that Canvas not be > > used for such cases and that SVG be used. > > http://krijnhoetmer.nl/irc-logs/whatwg/20090710#l-75 > > > > "[In cases where] you only have a few active regions, then you probably > only > > have a few shapes, and you can use SVG" > > > > > > This lead to a lengthy series of threads about the pros and cons of SVG > and > > Canvas development and the repeated suggestion that interactive regions > in > > Canvas should not be encouraged (nor supported) by vendors, as they are > > better suited by retained vectors in SVG. > > > http://lists.w3.org/Archives/Public/public-canvas-api/2011JulSep/0237.html > > http://lists.w3.org/Archives/Public/public-canvas-api/2011AprJun/ > > http://lists.w3.org/Archives/Public/public-canvas-api/2011JulSep/ > > > > "You are attempting to recreate a retained-mode API in an immediate-mode > > API. Why is 'use SVG' not sufficient for this?" > > > > > > Many developers who work for vendors have simply said that SVG should be > > used instead of Canvas for interactive applications. The HTML5 editor has > > repeatedly suggested that interactive elements not be allowed within the > > Canvas sub-tree. The HTML5 has repeatedly specified that button and > > checkbox, anchor and radio be the only widget types allowed in the Canvas > > sub-tree. These specification changes were reverted in respect for W3C > > procedure. Note, the restriction is still present in the WHATWG > > specification. > > > http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element > > > > "Transparent, but with no interactive content descendants except for a > > elements, button elements, input elements whose type attribute are in the > > Checkbox or Radio Button states, and input elements that are buttons." > > > > > > Canvas developers rarely use CSS overlays to handle focus management and > > other interactivity. This is likely because of the difficult management > of > > z-index ordering as well as the manual computation of bounding boxes. > This > > difficulty is avoided with the drawFocusRing method of Canvas 2d, but no > > vendors currently support the method, and so CSS overlays are the only > > real-world practice available today (December 2011). > > > > There are now multiple proposals for enabling clickable regions through > the > > use of the Canvas sub-tree, DOM events, and new methods to the Canvas > > Context 2d API.. Other participants in the working group have gone > forward > > with attempting to support more complex widget types. > > > http://lists.w3.org/Archives/Public/public-canvas-api/2011JulSep/0214.html > > > > > > These proposals, as envisioned can be expressed by two simple examples, > both > > of them forward events into the Canvas sub-tree to bubble up the DOM in > > standard fashion. > > > > ( setDrawingFor proposal ): > > beginElement(elem1); > > ... drawing operations here ... > > endElement(); > > > > > > This proposal captures paths when fill*() and drawImage calls are made, > > starting from the time beginElement is called, and binding those paths to > > the target element in the Canvas sub-tree. > > > > (setClickableRegion proposal) > > beginPath(); > > ... drawing operations here ... > > setClickableRegion(element); > > > > > > Like drawFocusRing, the setClickableRegion proposal only uses the current > > path in the Canvas state, and binds that path to the target element. > Both of > > the methods are shown in the context of the input type=checkbox > > demonstration. > > http://pastebin.com/gGHQdDZQ > > > http://lists.w3.org/Archives/Public/public-canvas-api/2011OctDec/0053.html > > > > > > Outside of this active proposal there exist strong disagreements about > text > > handling, whether it be rich text editing or reporting on the caret > position > > and selection. The group has yet to build wide consensus that Canvas > widgets > > are and will be regular staples of web application deployments. As such, > > most of the existing demonstrations of Canvas applications have not been > > accepted as Canvas use cases. > > > http://lists.w3.org/Archives/Public/public-canvas-api/2010OctDec/0001.html > > > > It's consistent to argue that HTML5 should prohibit the use of "canvas" > to > > create text editors > > > > New developments, such as Mozilla's PDF.js and the W3C Chair decision to > > include caret tracking have loosened some of these positions against > > Canvas-based complex widgets. Still, the WHATWG and W3C specifications > > remain divided as does the consensus of this working group. The lack of > > progress, and the bulk of thread-traffic on this list has been related > to a > > fundamental disagreement about the scope of the Canvas element and the > > public-canvas-api list. > > http://lists.w3.org/Archives/Public/public-html/2011Apr/0673.html > > > > > > Should Canvas-based ARIA widgets be supported? Complex Canvas-based > widgets > > are being authored. There are many examples on the web today. These > examples > > work, but they are not [generally] programmatically accessible: testing > and > > automation tools as well as assistive technologies are not granted > exposure > > to the values they need to work. This is, at times, a self-imposed > > limitation of the developer, having used HTML5 Canvas instead of HTML4 > > and/or SVG. But, these are also limitations imposed by developers who > work > > for vendors, having decided that they will not support Canvas > accessibility > > on principal and in practice. > > > > Where developers have jumped in, head-first, putting money and resources > > into Canvas-based user interfaces, vendors have a responsibility to their > > users. Though there are many reasonable arguments as to why authors > should > > use SVG, those arguments do little to support users who are trying to > access > > Canvas-based interfaces. Those users are excluded. The bar is simply set > to > > high for most authors to support them. Several proposals have been put > out > > in order to lower that bar. There remains a fundamental disagreement > about > > whether or not the problem should be fixed -- about whether there is an > > accessibility problem. > > > > At present, there are only minor disagreements in how to fix the problem. > > > > > > -Charles > > > > > > > > -- > with regards > > Steve Faulkner > Technical Director - TPG > > www.paciellogroup.com | www.HTML5accessibility.com | > www.twitter.com/stevefaulkner > HTML5: Techniques for providing useful text alternatives - > dev.w3.org/html5/alt-techniques/ > Web Accessibility Toolbar - > www.paciellogroup.com/resources/wat-ie-about.html > > -- Paniz Alipour
Received on Friday, 2 December 2011 06:21:42 UTC