We can start with tooltips on the toolbar, but I think users would appreciate it if we also had context-sensitive help on menu items. I certainly would. This need not be a feature that users would have to know about to use BrailleBlaster, and it need not be limited to what is done on a partticular platform. If my experience with MSWord is any indication, some platforms don't have context-sensitive help where they should. We may have to be careful about making BrailleBlaster too easy. Users may come to feel that we are treating them like dummies. I always say that "easy" is the worst four-letter word. John On Sat, Feb 26, 2011 at 08:11:47AM +0000, Michael Whapples wrote: > I hadn't looked into tooltips very far, but if you want them on menu items > then it may be a bit more work as setToolTipText is a method of > org.eclipse.swt.widgets.Control and so any subclass, MenuItem is not a > subclass of Control so does not have the method. > > However tooltips are trivial to implement and as I state below are accessible > on all platforms, so if we could live without this in menus an a few other > control types then this is probably the easiest option. > > I have confirmed that tooltips of buttons in SWT work with voiceover. I also > remember tooltips working with window-eyes so I think its a matter of knowing > how the screen reader is to be made to speak them. > > Mouseover alone would be the wrong thing to listen for (IE. there would need > to be a non-mouse way as well, may be the keyboard). Tooltips deal with all > of that as I note. If not using tooltips then what would we be listening for? > Remember if its going to be easy to learn then it must be obvious how to get > this extra help, possibly it should not be different to other things on that > platform. > > Michael Whapples > On 26 Feb 2011, at 07:12, John J. Boyer wrote: > > > Tooltips sound interesting. I haven't used them in Windows because I > > don't know how to get Jaws to show them. I'll check. BrailleBlaster will > > have a toolbar. The tips will work on this, but we also need something > > that works on ordinary menu items. > > > > My personal opinion is that we should avoid mouse-over. They are hard to > > get to work in Jaws, and probably in other screenreaders also. I've > > never been able to get one to work, and a very experienced person told > > me that she has never been able to get mouse-over to jwork without > > actually using a mouse. > > > > John > > > > On Sat, Feb 26, 2011 at 06:42:59AM +0000, Michael Whapples wrote: > >> I have kept quiet partly as I am not fully sure exactly what is wanted > >> (IE. how is context sensitive help to be shown, how is it to be > >> activated, etc). > >> > >> Chris made one comment which I may be able to help with, when he > >> mentioned it being from a mouse over event. If the context sensitive > >> help is only a sentence or so then might a tooltip be sufficient? > >> Tooltips should work fine with screen readers, you set the tooltip on > >> the control itself (eg. control.setToolTipText("The tool tip"); ) and I > >> don't think you will need to deal with event handling for the tool tips. > >> > >> Some screen readers may need prompting to speak the tooltip (I think > >> orca by default does not speak tooltips but pressing ctrl+f1 will get it > >> to speak the tool tip). > >> > >> Michael Whapples > >> On 26/02/11 06:26, Chris von See wrote: > >>> Although I've never tried it, I don't think you can define a help key > >>> binding for help at the Composite level (for example) and then expect > >>> to put the cursor in a form field defined in that Composite and press > >>> the help key to get context-sensitive help. I'm honestly not sure, > >>> though, so maybe it'd work... > >>> > >>> Here's an example of one way to implement context-sensitive help in > >>> SWT. This (or rather similar methods not involving hard-coded help > >>> text) is the way I've seen it done most: > >>> > >>> http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Demonstratesvariouslisteners.htm > >>> > >>> > >>> > >>> Look for the calls to "addHelpListener()", the "setData()" calls and > >>> the "helpRequested()" method. > >>> > >>> You can also catch mouseover events and display help once the user > >>> hovers the mouse over a certain area for a certain length of time, in > >>> a manner similar to what Eclipse does with its context-sensitive help: > >>> > >>> http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/HowtoimplementhoverhelpfeedbackusingtheMouseTrackListener.htm > >>> > >>> > >>> > >>> I'm honestly not sure how accessible that is, or how JAWS or VoiceOver > >>> would know that the hovering help was present - perhaps Sina, Michael > >>> or Alex can answer that one. > >>> > >>> In both cases, the event you get in the listener should contain a > >>> reference to the widget for which the help was requested. You might be > >>> able to get away with having a single help listener class, but in that > >>> case you'll need some sort of mapping from the widget (or data > >>> contained in the widget) to the appropriate help topic. > >>> > >>> Google can be your friend in figuring these things out :) > >>> > >>> > >>> > >>> Hope this helps, > >>> > >>> Cheers > >>> Chris > >>> > >>> > >>> > >>> > >>> > >>> On Feb 25, 2011, at 8:44 PM, John J. Boyer wrote: > >>> > >>>> Thanks, Chris. I might use this for extended help, but I think that > >>>> context-sensitive help is usually a short explanation of what a > >>>> particular menu choice does and how to proceed, or an explanation of > >>>> something in the text. It seems to me that the most user-friendly way to > >>>> present this information would be with a dialog box with an OK button. > >>>> This can be done using the SWT MessageBox class. Hsow much is this used > >>>> in applications? When I tried presing F1 on some MSWord menu choices it > >>>> certainly was not what I got. > >>>> > >>>> Time for more dumb questions from someone who hasn't been coding in Java > >>>> very long. Answers from the experts will considerably speed up > >>>> development. > >>>> > >>>> I imagine that I have to designate a listener for whatever key is used > >>>> for help. Can I set this up for the whold GUI or do I have to do so for > >>>> the Braille view and Daisy view individually? > >>>> > >>>> Once the listener gets control, how does it determine where in the > >>>> context it was called from? > >>>> > >>>> Thanks, > >>>> John > >>>> > >>>> On Fri, Feb 25, 2011 at 04:26:14PM -0800, Chris von See wrote: > >>>>> Minor update: Desktop.browse() takes a URI, not a URL. > >>>>> > >>>>> Chris > >>>>> > >>>>> > >>>>> On Feb 25, 2011, at 4:19 PM, Chris von See wrote: > >>>>> > >>>>>> If you want to implement basic HTML help you can display it using > >>>>>> the java.awt.Desktop class in Java 1.6 - it has a browse() method > >>>>>> that takes a URL argument. The URL can point to either a Web site > >>>>>> serving help pages or to a local file. The Desktop.browse() method > >>>>>> can be invoked by whatever means a user would use to invoke help > >>>>>> (F1, for example) - you just need to be careful that whatever > >>>>>> mechanism you use isn't already mapped to something else by the OS. > >>>>>> > >>>>>> > >>>>>> Cheers > >>>>>> Chris > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> On Feb 25, 2011, at 3:46 PM, John J. Boyer wrote: > >>>>>> > >>>>>>> Susan, > >>>>>>> > >>>>>>> I wouldn't worry too much about the frames, though I don't see why > >>>>>>> anyone bothers with them. The documentation you mention mibht be > >>>>>>> helpful. What I need is some information on context-sensitive help > >>>>>>> algorithms. If I have to come up with my own it will take longer. > >>>>>>> John > >>>>>>> > >>>>>>> On Fri, Feb 25, 2011 at 11:00:01AM -0700, Susan Jolly wrote: > >>>>>>>> I think you will need a library that interfaces with your GUI. SWT > >>>>>>>> provides context-sensitive help for Eclipse plug-ins but I don't > >>>>>>>> know how > >>>>>>>> it works when you use SWT outside of Eclipse. > >>>>>>>> > >>>>>>>> The online Eclipse documention seems to make a weird use of frames > >>>>>>>> so I > >>>>>>>> don't know how a screen reader would navigate it. I think what you > >>>>>>>> want is > >>>>>>>> something called Data Tools Platform Help-Helper Documentataion > >>>>>>>> which is a > >>>>>>>> section in the DAta Tools Platform Plug-in Developer Guide. > >>>>>>>> > >>>>>>>> Susan > >>>>>>>> > >>>>>>> > >>>>>>> -- > >>>>>>> John J. Boyer; President, Chief Software Developer > >>>>>>> Abilitiessoft, Inc. > >>>>>>> http://www.abilitiessoft.com > >>>>>>> Madison, Wisconsin USA > >>>>>>> Developing software for people with disabilities > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>>> -- > >>>> John J. Boyer; President, Chief Software Developer > >>>> Abilitiessoft, Inc. > >>>> http://www.abilitiessoft.com > >>>> Madison, Wisconsin USA > >>>> Developing software for people with disabilities > >>>> > >>>> > >>> > >>> > >> > > > > -- > > John J. Boyer; President, Chief Software Developer > > Abilitiessoft, Inc. > > http://www.abilitiessoft.com > > Madison, Wisconsin USA > > Developing software for people with disabilities > > > > > -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities