- From: Richard Schwerdtfeger <schwer@us.ibm.com>
- Date: Thu, 15 Jul 2010 13:45:58 -0500
- To: James Graham <jgraham@opera.com>
- Cc: Steven Faulkner <faulkner.steve@gmail.com>, Janina Sajka <janina@rednote.net>, HTML WG <public-html@w3.org>, public-html-a11y@w3.org
- Message-ID: <OF07272D02.8595B535-ON86257761.0059BC4F-86257761.006715F5@us.ibm.com>
Rich Schwerdtfeger CTO Accessibility Software Group James Graham <jgraham@opera.com> wrote on 07/15/2010 04:40:47 AM: > From: James Graham <jgraham@opera.com> > To: Richard Schwerdtfeger/Austin/IBM@IBMUS > Cc: Steven Faulkner <faulkner.steve@gmail.com>, Janina Sajka > <janina@rednote.net>, HTML WG <public-html@w3.org>, public-html-a11y@w3.org > Date: 07/15/2010 04:48 AM > Subject: Re: HTML-A11Y Task Force Recommendation: ISSUE-74 Canvas- > Accessibility > > On 06/16/2010 03:06 PM, Richard Schwerdtfeger wrote: > > Sorry for taking so long to respond to this, it got lost somewhere in my > pile of things to do. > > > James Graham <jgraham@opera.com> wrote on 06/15/2010 04:37:06 AM: > > > > > From: James Graham <jgraham@opera.com> > > > To: Janina Sajka <janina@rednote.net>, HTML WG <public-html@w3.org>, > > > Steven Faulkner <faulkner.steve@gmail.com>, Richard Schwerdtfeger/ > > > Austin/IBM@IBMUS, public-html-a11y@w3.org > > > Date: 06/15/2010 04:37 AM > > > Subject: Re: HTML-A11Y Task Force Recommendation: ISSUE-74 Canvas- > > > Accessibility > > > > > > On 06/14/2010 10:16 PM, Janina Sajka wrote: > > > > > > > http://www.w3.org/html/wg/wiki/ChangeProposals/canvasaccessibility > > > > > > Some thoughts on these changes: > > > > > > A frustrating point for working group members is that this proposal has > > been out for month and it was not until after an entire vote for > > consensus was reached that we get a comment from Opera. In the future it > > would be appreciated > > if we could receive comments earlier. > > (I should note that my comments are not "from Opera" in any sense more > than the minimum implied by the fact that I wrote them and I am employed > by Opera. In particular, others at Opera might disagree with me.) > That's fair. > > > == drawFocusRing(element, x,y,w,h,[drawCustomRing]) == > > > > > > The algorithm for determining the rectangle fails to take account of the > > > current transformation matrix. This seems bad because it means that > > > under general transformations, the focus region will be the wrong size. > > > > > > In general if the current path is known, it seems that it is possible > > > for the UA to calculate the best-fitting size of the bounding rectangle. > > > Therefore it is unclear why the author is expected to recompute this > > > size explicitly. > > > > > To be clear, are you suggesting that the author need only pass the x, y > > coordinates which would be relative to the canvas area? > > The rectangle would then be computed by the user agent based on the > > drawing path from that point. > > Yes. > ok. I will correct. > > If so, I don't have an issue with this. We added the w, and h parameters > > in response to feedback from others. > > I would be interested in hearing the use cases they presented. If there > are cases that require something unusual, the parameters should be optional. > With the absence of a drawing path with and height are necessary to complete the drawing of a focused object. If the drawing path is required it may not be necessary to have a width and height at all. > > > It is unclear why the focus ring is restricted to a rectangle in the > > > UA-drawn case when it is allowed to follow an arbitary path in the > > > original spec. > > > > > Accessibility API services currently use rectangles to represent the > > visual focus rectangle. We are not restricting what the author draws. This > > is why we are suggesting a rectangle best fit. > > OK, I think the proposal implies that the UA may only draw a rectangle. > The wording should be changed here. > Agreed. > > > It is unclear to me what it means to "draw the focus ring based on the > > > final role computed from the native host language semantics and the > > > supplied role attribute" > > > > > This simply states that in the case where the user agent is drawing the > > focus rectangle based on operating system conventions then those conventions > > may require that a focus ring is drawn in a certain way based on the > > role. For example, the focus ring for a checkbox may be different from > > an item in a tree widget. Who knows, the platform may require that a > > checkbox be drawn like an ellipse or with a specific color scheme. This > > simply > > provides for that. > > OK. It could be clearer in the change proposal. > will correct. > > > == setCaretSelectionRect(element, x, y, w, h) == > > > > > > I found the introductory text quite hard to follow here. In addition, > > > there are several typos. As an author I think I would have considerable > > > difficulty figuring out what I was supposed to use this method for even > > > if I thought I needed it. > > > > > > It is not clear why this method only works when an element is focused. > > > Although the caret is tied to focus, the selection can presumably > > > adjusted without focusing the selected element (e.g. a select text > > > button in the application UI). > > > > > If the element is not focused or a descendant of what is focused the > > user is not directly operating with > > that UI element. They are operating another UI element and the magnifier > > needs to track > > the component the user is operating. It does not help the low vision > > user if they cannot > > see the component they are operating which would be the one with focus. > > It was totally unclear to me that this was supposed to be entirely about > the caret and not the selection. If the use case is "magnifier needs to > know where to centre", why do you need the width and height arguments? > Operating systems may trigger focus tracking off a rectangle vs. a single point. > I had a short discussion on IRC with Hixie and Maciej about this API and > it was suggested that the use cases might be better addressed with a > drawCaret API. Like drawFocusRing it would have a use in the > non-accessibility case, which would mean that it was much more likely to > be used correctly by typical authors. With sufficient cleverness it > could handle blinking, and the blink rate could be taken from the OS > settings, thus eliminating the need for the caretBlinkRate() API. I > think this design is sufficiently more promising than the existing > proposals that we should wait for it to be fully fleshed out before > making any decisions here. I believe Hixie is prepared to spec out a > drawCaret API but I don't know what his timetable is. Alright. I understand why as Hixie thinks it provided added value where the author would get accessibility for free. He needs to understand a caveat and it is one that created some additional challenges for us in righting this. Mac accessibility mixes caret and selection tracking. For example, when I select text with a mouse on the Mac I don't move the caret. In this case a magnifier is actually tracking the end of the selection. It is not until you then use the keyboard or click elsewhere that you actually force a caret change event and draw a caret. On Windows a caret is also move with the end of the selection. So, if this is the case then Hixie and Maciej should consider a selection API to draw the selection. So, if there is a caret and selection API I will provide text that is included in the spec regarding how the API implementation should drive magnification. We would actually prefer a caret drawing and selection drawing features but we felt that overstepped the bounds of what the accessibility effort should be specifying for canvas. In the mean time I will update our proposal to reflect the feedback and post it for review. Rich
Received on Thursday, 15 July 2010 18:46:43 UTC