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

  • From: Michael Whapples <mwhapples@xxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Sun, 27 Feb 2011 15:16:01 +0000

See my comments below:
On 26 Feb 2011, at 10:06, John J. Boyer wrote:

> 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.
<MW>If a user cannot puzzle out how to get help then what chance have they got 
for other features where they may be expected to know what to do? My point here 
is, help is what one needs when they are stuck, therefore if anything must be 
most discoverable then it should be help.</MW>

> 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.
> 
<MW>There is making something easy, then there is being patronising. One 
example I would use of something being easy would be the email button on my 
keyboard, I just need to press that button and the default email client 
appears. To get my preferred email client set as the default, all I did was 
press the yes button in the dialog box which asked me whether I wanted it set 
as the default client which appeared when I launched that email client. I think 
we probably all could say this made it very easy for me to have an easy way for 
me to launch my email client. Also that email client has a feature to find 
email settings, so all I needed to do to set up my account is to enter my email 
address and password and it did the rest. Does all this make me feel an idiot 
having the email client and operating system do this for me, not really, it 
saves me time having to just type boring information into my system, I could 
just get on and do interesting stuff. What does irritate me is that software 
which continually questions whether I really wanted to do what I told it to do, 
particularly when it has no simple and obvious way of turning it off (eg. the 
"do not show me this dialog again" check box).</MW>

> 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: