[brailleblaster] Re: Is there a library for context-sensitive help?

  • From: "John J. Boyer" <john.boyer@xxxxxxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Sat, 26 Feb 2011 04:06:43 -0600

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


Other related posts: