Issue 122380

Summary: [sidebar] tool-tips in place for GUI should be basis of annotating accessibility role of toolbar object [ia2]
Product: General Reporter: V Stuart Foote <vsfoote>
Component: uiAssignee: AOO issues mailing list <issues>
Status: CLOSED FIXED QA Contact:
Severity: Normal    
Priority: P3 CC: awf.aoo, issues, steve.yin.aoo, vsfoote
Version: 4.0.0-devKeywords: accessibility
Target Milestone: 4.0.0   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on: 122271    
Issue Blocks: 121420    

Description V Stuart Foote 2013-05-25 08:36:06 UTC
Many of the toolbar objects present in the content panels of the sidebar deck have no Title or accName assigned XAccessible roles that can be seen by AT.

Rather, very many implement tool-tips that are the only identification of what action the tool widget will perform.  Not sure exactly how, but seems like the existing tool-tip could be used as basis of annotating the accessible role of the toolbar objects.

Otherwise while the tool bars can now be reached with keyboard navigation, they are mute as to function.  An accessibility and Assistive Technology shortfall with sidebar across all OS accessibility bridges.
Comment 1 V Stuart Foote 2013-05-25 08:39:26 UTC
marking unconfirmed, but believe this "enhancement" should get some attention as it relates to resolving bug 122271 and improving accessibility of Sidebar.
Comment 2 V Stuart Foote 2013-05-25 15:20:09 UTC
@Steve Yin
Since you've been poking deeply at accessibility instrumentation for the IA2 branch, is it possible for you to work directly with Andre now to get exactly what is needed for AT in place for these graphical components?  Just a thought.
Comment 3 Steve Yin 2013-05-27 02:02:30 UTC
@V Stuart Foote
For the sidebar accessibility, I think it should be implemented in the ia2 branch. And I will work with Andre and Fan Zheng to push ahead this work.
Comment 4 V Stuart Foote 2013-05-27 04:15:03 UTC
@Yin Bing (Steve)

Works for me, I know you've been up to your elbows in all things accessible for IA2.  But please, don't forget to verify function of the NSAccess and ATK AT-SPI bridges while working on things in the IA2 branch.  I assume you are bringing everything up to the a11y IAccessible2 v1.3 specs.

Also, please let me know if you and Andre need any testing of function in Windows, OSX (10.6.8 -> 10.8.3) or of Linux as I have access to all to verify builds and function on all, just need a little lead time on the OSX's.

Setting confirmed, but do you want to take the assignment of the issue?

Stuart
Comment 5 Steve Yin 2013-05-27 05:54:49 UTC
@Stuart

I will make changes for the IA2 carefully. That's great if you can help to verify the accessibility functions on different platforms! I will ask for you help at that time.

For the IA2 version, I just merged the current IA2 version from Symphony and will not update it in the short term. Although it is a draft version, there is no great differences with the updated version. Maybe I or someone else will update the version in the future.

And I am willing to take the assignment. Thanks.
Comment 6 Andre 2013-05-27 13:15:09 UTC
@V Stuart Foote: Can you describe your testing environment with a few words?

I just looked at what the Orca Braille Monitor on Ubuntu shows for the sidebar controls.  I can see accessibility names for most controls.  Therefore I am not sure what you mean by "no Title or accName assigned XAccessible roles that can be seen by AT."
Comment 7 V Stuart Foote 2013-05-27 20:28:38 UTC
Working in both Windows 7 64-bit, with JRE 1.6u45 with JAB 2.0.2, and in a VMWare Workstation 9.02 host Fedora 18 64-bit OS using ORCA. Mostly use audible review, but fire up JavaFerret if I need to follow UAA bridged focus events and annotation, or AccProbe for the IAccessible2 content of ia2 branch. Hadn't thought to use Braille monitor from the Orca screen reader. Rather use Accerciser ( https://developer.gnome.org/accerciser/stable/accerciser-getting-started.html.en ) for following the GNOME ATK events.


So yes, many/most widgets have annotation, but as an example of current "tool-tip" only Sidebar GUI objects:

1. open Writer
2. <F6> to navigate to the deck title
3. cursor <DOWN> to enter the Paragraph panel
4. <TAB> to enter Paragraph panel
5. navigate through toolbars of Paragraph panel with <TAB>
6. the following widgets are only annotated with accName "Indent", so only the tool tip identifies their function

   Above Paragraph Spacing
   Below Paragraph Spacing
   Before Text Indent
   After Text Indent
   First Line Indent
Comment 8 Andre 2013-05-30 07:18:06 UTC
Thanks for the description, that helps a lot.
Comment 9 Andre 2013-05-30 07:58:59 UTC
I just tried accerciser on Ubuntu 12.04.  Unfortunately that is completely unusable.  When it does not crash it brings the CPU load to 100%.  And I have not even started to work with AOO.  I will try Windows next.  It is the better platform for debugging, anyway.
Comment 10 Andre 2013-05-30 07:58:59 UTC
I just tried accerciser on Ubuntu 12.04.  Unfortunately that is completely unusable.  When it does not crash it brings the CPU load to 100%.  And I have not even started to work with AOO.  I will try Windows next.  It is the better platform for debugging, anyway.
Comment 11 V Stuart Foote 2013-05-30 08:22:18 UTC
(In reply to Andre from comment #9)
>...  I will try Windows next.  It is the
> better platform for debugging, anyway.

Java Access Bridge should work well but can be a nuisance to get working, you will need to remove any JDK/JRE 1.7, so hope your not going to have Eclipse issues.

Unfortunately JRE 1.7u6 forward bundled JAB 2.0.3 and it is still broken-- bug 121510 

You'll need to install and work with JRE 1.6u45 and do a manual install of JAB 2.0.2. I've put up notes here -- https://wiki.documentfoundation.org/Faq/Java 

Jamal Mazrui's JWin INNO based installer is the most convenient way to install the JAB.  Info and download link here: http://empowermentzone.com/JWin.htm

Drop me a PM note if you get stuck.

Stuart
Comment 12 SVN Robot 2013-05-30 08:59:31 UTC
"af" committed SVN revision 1487790 into trunk:
122380: Use quick help text as accessible name for some paragraph panel contr...
Comment 13 Andre 2013-05-30 09:01:36 UTC
Accessibility on Windows works better for me.  With the help of JavaFerret I have been able to reproduce the problem with some of the accessible names in the paragraph panel.  As suggested above, I used their quick help text as accessible name.
Comment 14 Andre 2013-05-30 09:06:47 UTC
Saw you information about the Java Access Bridge too late, but got it installed and working anyway.  I couple of years ago I have worked on Accessibility and have some experience in this area.  I just have to swap the (almost) forgotten knowledge back into my brain :-)
Comment 15 Andre 2013-05-30 09:10:49 UTC
@Stuart: In the bug description you write
"Otherwise while the tool bars can now be reached with keyboard navigation, they are mute as to function."
I am not sure what that means.  Can you explain?
Comment 16 V Stuart Foote 2013-05-30 10:17:30 UTC
(In reply to Andre from comment #15)
> @Stuart: In the bug description you write
> "Otherwise while the tool bars can now be reached with keyboard navigation,
> they are mute as to function."
> I am not sure what that means.  Can you explain?

Simply that as in the the example, positioning with <F6>, the cursors, and the <TAB> key it is possible to navigate using keyboard only to the Properties -> Paragraph content panel and with series of <TAB>'s to position focus into each of the Indent toolbar widgets. 

Which is good and a change in that with earlier builds once in a content panel you were keyboard trapped and required a mouse click to be able to exit.

The issue then became providing XAccessible role and accName details for AT, sounds like you've got that on track.

On that,my note above to Steve Yin about the IAccessible2 and ATK, NSAccess bridges is that all will be dependent on what roles are assigned now to each GUI element, and what "annotation" of the element is made available through UNO Accessibility API (UAA). My hope is that you and Steve can collaborate to get the GTK objects "instrumented" with needed hooks, and going forward can fully incorporate changes to the accessibility APIs that have all continued to develop since UAA was laid down.   

There are additional role mappings for each API that will require the counterpart UAA be refined, the ATK AT-SPI2 is the furthest developed--but all three "bridges" will need to have comparable treatment including adjusting the core UAA roles to take advantage of the new APIs. Handling tables for example. There are a number of pending AT enhancement issues in Bugzilla.
Comment 17 Andre 2013-05-30 12:41:58 UTC
Yes, the right choice of roles has always been a pain.  No choice worked for all AT devices.  Translating them in the bridges might work.

Regarding this issue: seems that everything is done.  Therefore I set it to resolved/fixed.  And will try now to fix the much harder bug 122271.