[brailleblaster] Re: Advice requested on accessibility for the blind

  • From: Richard Baldwin <baldwin@xxxxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Sat, 27 Aug 2011 19:59:23 -0500

Thanks,
Dick B.

On Sat, Aug 27, 2011 at 7:32 PM, Alex Jurgensen <asquared21@xxxxxxxxx>wrote:

> Hi Richard,
>
> This is a matter of preference.
>
> Most software products I work with have only a audio file played to
> indicated success or failure. However, this is the same for sighted and
> blind users alike and is independent of any screen reader.
>
> Take iTunes for examp.e. It plays a tritone whenever an operation
> completes.
>
> You could take this approach. Just note  that it is broader than just
> screen reader users.
>
> It may also be useful to sighted people who walk away from their computers
> or who read papers while waiting for operations to complete.
>
> I hope this helps.
>
> Regards,
> Alex,
>
> Alex Jurgensen,
> VoiceOver Specialist,
>
> Visit my blog at: http://www.outofthedarkness.vipbc.org/
>
> On 2011-08-27, at 5:17 PM, Richard Baldwin wrote:
>
> Question: When you are using a screen reader such as NVDA and you click a
> button to write an output file, is there usually some spoken confirmation
> that the file has been written, or at least that an attempt was made to
> write the file, and if so, how is that accomplished?
>
> Thanks,
> Dick B.
>
> On Sat, Aug 27, 2011 at 6:47 PM, <chris@xxxxxxxxxxxxx> wrote:
>
>>
>> Glad to help!
>> Chris
>>
>> > Chris, StackLayout was exactly what I needed. You have been very
>> helpful.
>> >
>> > Thanks,
>> > Dick Baldwin
>> >
>> > On Sat, Aug 27, 2011 at 2:45 PM, Richard Baldwin
>> > <baldwin@xxxxxxxxxxxxxxx>wrote:
>> >
>> >> Will do.
>> >> Thanks,
>> >> Dick B.
>> >>
>> >>
>> >> On Sat, Aug 27, 2011 at 2:09 PM, Chris von See
>> >> <chris@xxxxxxxxxxxxx>wrote:
>> >>
>> >>> ** Take a look at StackLayout - that will allow you to pr-create your
>> >>> pages and easily switch between them...
>> >>>
>> >>> Cheers
>> >>> Cheis
>> >>> --
>> >>> Sent from my Android phone.
>> >>>
>> >>>
>> >>> Richard Baldwin <baldwin@xxxxxxxxxxxxxxx> wrote:
>> >>>>
>> >>>> Hi Chris,
>> >>>>
>> >>>> Thanks for the response. See my comments inline below.
>> >>>>
>> >>>> On Sat, Aug 27, 2011 at 11:44 AM, Chris von See
>> >>>> <chris@xxxxxxxxxxxxx>wrote:
>> >>>>
>> >>>>> Hi Richard -
>> >>>>>
>> >>>>> I got a chance to take a look at your code... I'm not totally sure I
>> >>>>> understand if your goal is to make the program accessible or just to
>> >>>>> perform
>> >>>>> some action when the user selects something from the list, but here
>> >>>>> are some
>> >>>>> thoughts:
>> >>>>>
>> >>>>
>> >>>> rgb] My ultimate goal is to expose a new GUI page that contains lots
>> >>>> of
>> >>>> controls (text boxes, buttons, etc.) when the user selects an item
>> >>>> from the
>> >>>> list. I do want it to be accessible to blind students because my
>> >>>> purpose is
>> >>>> to write a GUI interface for my SVG Graphics Library (see
>> >>>> http://cnx.org/content/m39607/latest/). Right now, I am trying to
>> work
>> >>>> out an overall structure that will be accessible. I have never used
>> >>>> the SWT
>> >>>> before, nor have I ever written a Java program with accessibility in
>> >>>> mind,
>> >>>> so I am plowing new ground in two areas with this one.
>> >>>>
>> >>>>>
>> >>>>> -- If your goal is accessibility, take a look at the
>> >>>>> org.eclipse.swt.accessibility package.  Many controls have a
>> >>>>> getAccessible()
>> >>>>> method that returns an Accessible object which allows you to do
>> >>>>> various
>> >>>>> accessibility-related things.  Look at the Accessible object's
>> >>>>> methods and
>> >>>>> in particular the types of accessibility-related listeners you can
>> >>>>> add,
>> >>>>> which would allow you to (for example) change the description that
>> is
>> >>>>> spoken
>> >>>>> for each list item or create the relation between the list and a
>> >>>>> descriptive
>> >>>>> label ("labelA") so that the label is spoken when the list gains
>> >>>>> focus.
>> >>>>>
>> >>>>
>> >>>> rgb] Thanks, I will take a look at it.
>> >>>>
>> >>>>
>> >>>>>   Take a look at the  snippets for the package at
>> >>>>>
>> http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/accessibility/package-summary.htmlto
>> >>>>> get some examples.
>> >>>>>
>> >>>>
>> >>>> rgb] Will do.
>> >>>>
>> >>>>>
>> >>>>> -- Using List.addSelectionListener() is the way you would be
>> notified
>> >>>>> of
>> >>>>> user list item selection.  SWT should speak each item as the user
>> >>>>> traverses
>> >>>>> the list.  You can modify what's spoken by setting listeners via
>> >>>>> List.getAccessible().
>> >>>>>
>> >>>>
>> >>>> rgb] I have discovered that the following approach to event handling
>> >>>> seems to work better in the sense that with this approach, the new
>> >>>> page is
>> >>>> not exposed until the user presses the Enter key on the selected
>> item:
>> >>>>
>> >>>>     myCombo.addListener (SWT.DefaultSelection, new Listener () {
>> >>>>       public void handleEvent (Event e) {
>> >>>>         //event handler code goes here
>> >>>>       }//end handleEvent
>> >>>>     });
>> >>>>
>> >>>>>
>> >>>>> -- If I'm reading your code correctly, you're creating your list
>> >>>>> using
>> >>>>> the Shell as the parent, and then immediately creating a "page"
>> >>>>> Composite
>> >>>>> with the same Shell as parent.  I didn't run your code, but I
>> *think*
>> >>>>> this
>> >>>>> will overlay your List with the contents of the "page" Composite.
>> >>>>>
>> >>>>
>> >>>> rgb] Actually it displays the new page below the Combo box, but the
>> >>>> approach that you suggest below might work better. I really don't
>> want
>> >>>> to
>> >>>> dispose of the old page in order to expose a new one.
>> >>>>
>> >>>>
>> >>>>> Try creating a "base" Composite with the shell as parent, then set a
>> >>>>> layout on that "base", add your list with the "base" as parent and
>> >>>>> then add
>> >>>>> your "page" Composite as another child of that same "base".
>> >>>>> Depending on
>> >>>>> what layout manager you use the controls will appear in different
>> >>>>> relative
>> >>>>> positions; you might try RowLayout with SWT.VERTICAL so that the
>> list
>> >>>>> appears above the "page".
>> >>>>>
>> >>>>
>> >>>> rgb] I will definitely try this.
>> >>>>
>> >>>>>
>> >>>>> -- When the list item is changed you don't need to dispose your
>> >>>>> "page"
>> >>>>> Composite - just set the label and foreground color (for the text)
>> or
>> >>>>> background color (for the background of the "page").
>> >>>>>
>> >>>>
>> >>>> rgb] Good. As I mentioned earlier, I don't want to dispose of the old
>> >>>> page when I expose a new one. I would like for the user to be able to
>> >>>> return
>> >>>> to the page with the contents of the text boxes, etc., still intact.
>> >>>>
>> >>>>>
>> >>>>> -- Instead of allocating red, green and blue Color objects using new
>> >>>>> Color(r, g, b), try using the static Color.RED, Color.GREEN and
>> >>>>> Color.BLUE -
>> >>>>> these have the same red, green and blue color settings as what you
>> >>>>> created.
>> >>>>>  You also won't need to dispose these static Color objects when your
>> >>>>> program
>> >>>>> exits.
>> >>>>>
>> >>>>
>> >>>> rgb] Thanks. Good point.
>> >>>>
>> >>>>>
>> >>>>> Hope this helps.  I'll try to answer any other questions you may
>> >>>>> have,
>> >>>>> but I'll be in and out this weekend so it may take me a while to get
>> >>>>> back to
>> >>>>> you.
>> >>>>>
>> >>>>
>> >>>> rgb] I really do appreciate your feedback. If I am successful in this
>> >>>> effort, I will publish a free Java program that blind students can
>> use
>> >>>> to
>> >>>> draw technical diagrams for their physics and math courses. Actually,
>> >>>> I have
>> >>>> already published such a program, but the user interface is very
>> >>>> difficult
>> >>>> because it requires some knowledge of programming syntax.  My
>> >>>> objective is
>> >>>> to make it available to every student with an easy-to-use GUI
>> >>>> interface,
>> >>>> even if they  don't know about programming syntax.
>> >>>>
>> >>>> Thanks,
>> >>>> Dick B.
>> >>>>
>> >>>>>
>> >>>>>
>> >>>>> Cheers
>> >>>>> Chris
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> On Aug 26, 2011, at 5:32 PM, Richard Baldwin wrote:
>> >>>>>
>> >>>>> John,
>> >>>>>
>> >>>>> This is my second attempt to send this. The previous attempt was
>> >>>>> rejected because the zip file was too large. I had included the SWT
>> >>>>> library
>> >>>>> in it, which is what made it so large. Since you probably have that
>> >>>>> already,
>> >>>>> I deleted it from the zip file and am going to try again with a much
>> >>>>> smaller
>> >>>>> zip file.
>> >>>>>
>> >>>>> Thanks,
>> >>>>> Dick Baldwin
>> >>>>>
>> >>>>> On Fri, Aug 26, 2011 at 7:23 PM, Richard Baldwin <
>> >>>>> baldwin@xxxxxxxxxxxxxxx> wrote:
>> >>>>>
>> >>>>>> Hi John,
>> >>>>>>
>> >>>>>> I'm afraid that given my current lack of knowledge of SWT, I would
>> >>>>>> be
>> >>>>>> completely overwhelmed by the BrailleBlaster code.
>> >>>>>>
>> >>>>>> However, I have attached a zip file containing a simple page
>> >>>>>> switcher
>> >>>>>> program using SWT. If you could take the time to import it into
>> >>>>>> Eclipse (or
>> >>>>>> however you program using SWT) and let me know if the structure
>> that
>> >>>>>> I am
>> >>>>>> using could be successfully navigated by a blind person, or how I
>> >>>>>> should
>> >>>>>> modify it to achieve that goal, I would greatly appreciate it.
>> >>>>>>
>> >>>>>> The GUI contains a list of three items. (I could make it a Combo or
>> >>>>>> three radio buttons.) When the user selects one of the items in the
>> >>>>>> list, a
>> >>>>>> Composite object opens below the list. Right now, the Composite
>> page
>> >>>>>> simply
>> >>>>>> contains a label, but eventually I intend for each new page to be a
>> >>>>>> significant GUI in its own right.
>> >>>>>>
>> >>>>>> By the way, I had to rename a couple of build.bat files to get the
>> >>>>>> zip
>> >>>>>> file past the GMail virus police.
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>> Dick Baldwin
>> >>>>>>
>> >>>>>>
>> >>>>>>  On Fri, Aug 26, 2011 at 6:45 PM, John J. Boyer <
>> >>>>>> john.boyer@xxxxxxxxxxxxxxxxx> wrote:
>> >>>>>>
>> >>>>>>> Dick,
>> >>>>>>>
>> >>>>>>> Accessibility with SWT is almost automatic. BrailleBlaster does
>> not
>> >>>>>>> use
>> >>>>>>> any particular accessibility features now, though it might use the
>> >>>>>>> accessibility package in SWT later. In the Bfailloeblasterr menu,
>> >>>>>>> BBMenu.java there is a listener for each item. The event is not
>> >>>>>>> sent
>> >>>>>>> until the enter key is pressed on that item. There are SWT widgets
>> >>>>>>> for
>> >>>>>>> handling lists. These will be used later, for example in handling
>> >>>>>>> the
>> >>>>>>> list of recent documents.
>> >>>>>>>
>> >>>>>>> If you have Mercurial you can get the source of BrailleBlaster
>> from
>> >>>>>>> its
>> >>>>>>> googlecode page. BBMenu.java is in
>> org.brailleblaster.wordprocessor
>> >>>>>>> I
>> >>>>>>> could also send you this class privately as an attachmennt, if you
>> >>>>>>> wish.
>> >>>>>>>
>> >>>>>>> John
>> >>>>>>>
>> >>>>>>> On Fri, Aug 26, 2011 at 06:03:09PM -0500, Richard Baldwin wrote:
>> >>>>>>> > I know this is off topic for this list, but I also know that
>> >>>>>>> there
>> >>>>>>> are
>> >>>>>>> > several excellent SWT programmers that frequent this list who
>> >>>>>>> probably know
>> >>>>>>> > the answer to my question.
>> >>>>>>> >
>> >>>>>>> > The objective is to make it possible for a blind user of an SWT
>> >>>>>>> GUI
>> >>>>>>> to
>> >>>>>>> > navigate through a list of items, such as might be found in a
>> >>>>>>> Combo,
>> >>>>>>> a List,
>> >>>>>>> > or perhaps a set of Radio buttons, and cause an event to be
>> fired
>> >>>>>>> for one
>> >>>>>>> > and only one of the items in the list when that item is chosen.
>> >>>>>>> >
>> >>>>>>> > It looks to me like using the following code to register a
>> >>>>>>> listener
>> >>>>>>> on each
>> >>>>>>> > item in the list causes each item to fire an event when the
>> arrow
>> >>>>>>> keys are
>> >>>>>>> > used to traverse the list:
>> >>>>>>> >
>> >>>>>>> > addSelectionListener(new SelectionAdapter()
>> >>>>>>> >
>> >>>>>>> > I guess what I am looking for is something like an
>> ActionListener
>> >>>>>>> in
>> >>>>>>> the AWT
>> >>>>>>> > and Swing that can be fired by pressing the Return key after the
>> >>>>>>> arrow keys
>> >>>>>>> > have been used to choose a specific item.
>> >>>>>>> >
>> >>>>>>> > I am finding that learning the SWT and trying to achieve
>> >>>>>>> accessibility for
>> >>>>>>> > blind users at the same time is something of a challenge.
>> >>>>>>> >
>> >>>>>>> > If you prefer to contact me and have this discussion off list,
>> >>>>>>> that
>> >>>>>>> will be
>> >>>>>>> > OK with me.
>> >>>>>>> >
>> >>>>>>> > Thanks,
>> >>>>>>> > Dick Baldwin
>> >>>>>>> >
>> >>>>>>> > --
>> >>>>>>> > Richard G. Baldwin (Dick Baldwin)
>> >>>>>>> > Home of Baldwin's on-line Java Tutorials
>> >>>>>>> > http://www.DickBaldwin.com
>> >>>>>>> >
>> >>>>>>> > Professor of Computer Information Technology
>> >>>>>>> > Austin Community College
>> >>>>>>> > (512) 223-4758
>> >>>>>>> > mailto:Baldwin@xxxxxxxxxxxxxxx
>> >>>>>>> > http://www.austincc.edu/baldwin/
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> John J. Boyer; President, Chief Software Developer
>> >>>>>>> Abilitiessoft, Inc.
>> >>>>>>> http://www.abilitiessoft.com
>> >>>>>>> Madison, Wisconsin USA
>> >>>>>>> Developing software for people with disabilities
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> Richard G. Baldwin (Dick Baldwin)
>> >>>>>> Home of Baldwin's on-line Java Tutorials
>> >>>>>> http://www.DickBaldwin.com
>> >>>>>>
>> >>>>>> Professor of Computer Information Technology
>> >>>>>> Austin Community College
>> >>>>>> (512) 223-4758
>> >>>>>> mailto:Baldwin@xxxxxxxxxxxxxxx
>> >>>>>> http://www.austincc.edu/baldwin/
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> Richard G. Baldwin (Dick Baldwin)
>> >>>>> Home of Baldwin's on-line Java Tutorials
>> >>>>> http://www.DickBaldwin.com
>> >>>>>
>> >>>>> Professor of Computer Information Technology
>> >>>>> Austin Community College
>> >>>>> (512) 223-4758
>> >>>>> mailto:Baldwin@xxxxxxxxxxxxxxx
>> >>>>> http://www.austincc.edu/baldwin/
>> >>>>>  <PageSwitcher01.zip>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Richard G. Baldwin (Dick Baldwin)
>> >>>> Home of Baldwin's on-line Java Tutorials
>> >>>> http://www.DickBaldwin.com
>> >>>>
>> >>>> Professor of Computer Information Technology
>> >>>> Austin Community College
>> >>>> (512) 223-4758
>> >>>> mailto:Baldwin@xxxxxxxxxxxxxxx
>> >>>> http://www.austincc.edu/baldwin/
>> >>>>
>> >>>
>> >>
>> >>
>> >> --
>> >> Richard G. Baldwin (Dick Baldwin)
>> >> Home of Baldwin's on-line Java Tutorials
>> >> http://www.DickBaldwin.com
>> >>
>> >> Professor of Computer Information Technology
>> >> Austin Community College
>> >> (512) 223-4758
>> >> mailto:Baldwin@xxxxxxxxxxxxxxx
>> >> http://www.austincc.edu/baldwin/
>> >>
>> >
>> >
>> >
>> > --
>> > Richard G. Baldwin (Dick Baldwin)
>> > Home of Baldwin's on-line Java Tutorials
>> > http://www.DickBaldwin.com
>> >
>> > Professor of Computer Information Technology
>> > Austin Community College
>> > (512) 223-4758
>> > mailto:Baldwin@xxxxxxxxxxxxxxx
>> > http://www.austincc.edu/baldwin/
>> >
>>
>>
>>
>>
>
>
> --
> Richard G. Baldwin (Dick Baldwin)
> Home of Baldwin's on-line Java Tutorials
> http://www.DickBaldwin.com
>
> Professor of Computer Information Technology
> Austin Community College
> (512) 223-4758
> mailto:Baldwin@xxxxxxxxxxxxxxx
> http://www.austincc.edu/baldwin/
>
>
>


-- 
Richard G. Baldwin (Dick Baldwin)
Home of Baldwin's on-line Java Tutorials
http://www.DickBaldwin.com

Professor of Computer Information Technology
Austin Community College
(512) 223-4758
mailto:Baldwin@xxxxxxxxxxxxxxx
http://www.austincc.edu/baldwin/

Other related posts: