On the version I've been working with (JAWS 14), aria-flowto is not sufficiently supported. But that may not be a factor for version 15. I'd actually be quite interested to hear if it is indeed the case that version 15 supports flowto/flowfrom -----Original Message----- From: jawsscripts-bounce@xxxxxxxxxxxxx [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Bryan Garaventa Sent: Thursday, March 27, 2014 1:19 PM To: jawsscripts@xxxxxxxxxxxxx Subject: [jawsscripts] Re: Best way of locating focus on elements in Web-based apps? What about trying aria-flowto? http://www.w3.org/TR/wai-aria/states_and_properties#aria-flowto ----- Original Message ----- From: "Scott Huey" <shuey@xxxxxxxxx> To: <jawsscripts@xxxxxxxxxxxxx> Sent: Thursday, March 27, 2014 10:10 AM Subject: [jawsscripts] Re: Best way of locating focus on elements in Web-based apps? > To date I have never managed to find a way to force the VPC surgically > based on a DOM object, since JAWS is reaping that buffer from the > IAcc2 interface and then putting it in a closed black box. What I can > tell you is that if you're working with GreaseMonkey to inject ARIA > markup (I honestly thought I might be the only person in the world > trying to do that), there is a nifty trick you can use with that code. > HTML4 doesn't really care about any tags which it doesn't recognize, > and HTML5 supports what they call "data tags" which the HTML parsing > engine will ignore as long as the tag name begins with "data-" (the > word "data" and a single dash, for anyone with punctuation verbosity > turned down). So if you shove a custom tag that starts with the right > phrase into the page source (say, "data-ControlPanelItem"), the > rendered content in the browser won't react at all, BUT that tag ends > up being streamed out to JAWS as an element attribute through IAcc. > The trick I found for leverag ing this is that by injecting a specific > markup, you can pre-tag HTML elements you might like to use as fence > posts in the code with a custom data tag (again say, > "data-ControlPanelItem"), then use GetListOfTagsWithAttribute to either > evaluate or display them to the user. > From there, MoveToTagWithAttribute can force the VirtualPC cursor to > move to their location in the virtual buffer. > > I have yet to determine a way to have a web page trigger this sort of > action autonomously (since the Javascript/JQuery I can put in > GreaseMonkey is too heavily sandboxed to allow a raw COM call out), > but I think conceptually it WOULD be possible if one could set up a > custom XPCOM FireFox app or plugin that could respond to specific > custom DOM events that the javascript could throw and forward them to > JAWS in the format of a RunFunction API call. A dangerous path in > terms of security, potentially, but it would be mechanically feasible. > It might also be possible with some aggressive leveraging of > ARIA-selected to trick JAWS into responding to a web page focus event > and moving the virtualPC cursor itself, but I have yet to really bear out any > success on that avenue. > > -----Original Message----- > From: jawsscripts-bounce@xxxxxxxxxxxxx > [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Jim Snowbarger > Sent: Thursday, March 27, 2014 11:19 AM > To: jawsscripts@xxxxxxxxxxxxx > Subject: [jawsscripts] Re: Best way of locating focus on elements in > Web-based apps? > > This was a timely question for me, since I'm dealing with some of the > same things. What I wanted to do was to move the virtual cursor to a > particular place. > I have a case where the vc is in one place. And, you activate this > treeview type of control, and pick an item in the treeview. When you > do that, text changes in another part of the page, to reflect the selection. > And, there is no convenient way, so far, of flipping over to that > other place. > We are adapting this requirements management tool, called Contour. > A wizzy friend of mine got this tool called Grease Monkey, which is a > pluggin for Firefox. With that tool, he was able to add Aria tags to > the incoming HTML, as long as we use firefox. Part of that was what I > think are called relationships. Basically, it draws a connection > between two elements, no matter where they sit on the page. And, > there is a new jaws function, MoveToControlledTarget. I don't know if > this relationship is biDirectional, can't recall. But, if the > virtual cursor is on one end of this relationship, and you execute > MoveToControlledElement, the VC will move to the companion control. So, that > has been helpful. > But, this markup script for Greese Monkey is kind of hard to create if > you don't already pretty well understand what is going on. And, quite > honestly, I can't say I do. > > But, in general, what I wanted to do was to somehow navigate the DOM > in script land, get to some element, and force the virtual cursor to > go there. > > > ----- Original Message ----- > From: "Travis Roth" <travis@xxxxxxxxxxxxxx> > To: <jawsscripts@xxxxxxxxxxxxx> > Sent: Thursday, March 27, 2014 8:10 AM > Subject: [jawsscripts] Re: Best way of locating focus on elements in > Web-based apps? > > > I a not sure I understand what you are asking... > However, if you want to determine the active element that the browser > is focused on you can do this via the DOM. This works in IE: > Var > Object o, > Object element > o = IEGetCurrentDocument () > element = o.activeElement > ; you can see the HTML of this element: > html = element.outerHTML > > If you want to do the opposite which is to move the browser to a > control, assuming it can receive focus such as an input control and > you know the ID of it you can do this via the DOM also. > o = IEGetCurrentDocument () > element = o.getElementById(htmlID) > element.setFocus() > > -----Original Message----- > From: jawsscripts-bounce@xxxxxxxxxxxxx > [mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Geoff Chapman > Sent: Thursday, March 27, 2014 2:10 AM > To: jawsscripts@xxxxxxxxxxxxx > Subject: [jawsscripts] Best way of locating focus on elements in > Web-based apps? > > Thanks to many of you up here, who so kindly told me about the, > "SetJawsFindText", and "JawsFindNext" functions, I now have been able > to set up some lovely shortCut keys for the user to very quickly > locate and activate buttons in his new Web-based front end customer service > system. > And that's so far workin a treat! > :) > However, I'd like to go a level deeper now, and be able to learn how I > might least invasively, but most efficiently/robustly, locate and > bring PCCursor focus to,a given control, (or "element" I think is the > term used in Web > land?) rather than just blindly using virtual find to locate text on a > page. > Since sometimes, of course, text being looked for, using virtual find > mechanisms, may occur both as an element label, and as non-clickable > plain text on the page. > > And sometimes, as in this case, even as part of other Same type elements! > E.g. suppose I have an edit field, whose label is "search," but there > are several other occurrances of the word "search" on the page. > Not only this, but there is at least one other edit field element > labelled "favorite searches," which would of course get picked up on > any StringContains deal. > > What would people suggest might be some code > snippets/ideas/methodologies I might try, to accomplish tooling > through elements looking for this particular edit control, whose label > is merely the word "Search," and nothing else? > > Thanks much for any tips anyone would care to share on this one? > > Geoff c. > > __________� > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > > > __________� > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > > > > __________� > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > > > __________� > > View the list's information and change your settings at > http://www.freelists.org/list/jawsscripts > __________� View the list's information and change your settings at http://www.freelists.org/list/jawsscripts __________� View the list's information and change your settings at http://www.freelists.org/list/jawsscripts