GNOME Bugzilla – Bug 434940
Orca does not speak page tabs in the Java Control Panel
Last modified: 2015-02-27 16:49:59 UTC
Orca does not speak the page tabs in the Java Plugin Control panel when the right and left arrow keys are used to navigate among the page tabs.
at-poke indicates no AT-SPI focus or object events are received when the right- and left-arrow keys are used to move focus among the page tabs. There are four obvious possibilities: 1. The control panel is not firing the events. 2. The JABG is not receiving the events. 3. The JABG is receiving the events but not forwarding them to Orca. 4. The JABG is forwarding the events but Orca is not receiving them. The next step is to use the Java debugging classes (Ferret.class, Monkey.class, etc.) from the Java Access Bridge for Windows. The classes get events directly from Java applications without going through the JABG.
The Java AccessibilityMonitor indicates no PropertyChangeEvents, focus events or state-change events are fired when selection moves from one tab to the next. Unlike other Swing applications, moving the selection to a tab does not cause the tab page to be displayed. It's necessary to hit the space bar (or mouse click) to get the page displayed. Once the page is displayed, the correct events are fired. Note that Swing is only required to fire PropertyChangeEvents. AWT events are optional. The reason for this is that some applications like OpenOffice do not fire Swing or AWT events, only PropertyChangeEvents. This is a Java Control Panel bug. I'll file a bug report for the Java Control Panel. TODO (LMS) Submit Java Control Panel bug report and put a link here.
*** Bug 435533 has been marked as a duplicate of this bug. ***
*** Bug 435558 has been marked as a duplicate of this bug. ***
Removing target milestone from [blocked] bugs. We have little control over them, so we're better off letting priority and severity be our guide for poking the related components.
> TODO (LMS) Submit Java Control Panel bug report and put a link here. Don't forget. :-) I'm removing the "[blocked]" prefix as an indication that a bug has not been filed yet. Thanks!
Submitted a blocking Bug 434940 for the java-access-bridge.
It should be a bug of Java. I found that if jcontrol was running not in gtk look&feel, the page can be changed when you move keyboard focus. you can use Shift-F10 to switch among Gtk, Java and Motif Look&Feel. then you can reproduce this problem very easily. I closed java-access-bridge bug 449179 because it is a java bug.
Sorry I missed the testing application in the above comment. You can run PageTab example in SwingSet2 demo.
Created attachment 92475 [details] test application Jeff, I attached a test application. Lynn
CORRECTION: Ignore the test application. This is a Java Control Panel bug, not a JABG bug. I'll file a bug against the Java Control Panel.
Just for more information, I ran the /usr/jdk/instances/jdk1.6.0/jre/bin/jcontrol application on this setup, which also included a java-access-bridge and at-spi from trunk: bash-3.2$ uname -a; orca --version SunOS solaris-devx 5.11 snv_76 i86pc i386 i86pc Solaris Orca 2.21.2pre I get the following error in the shell running jcontrol: Nov 1, 2007 11:19:13 AM com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl convertThrowableToSystemException WARNING: "IOP00010202: (UNKNOWN) Unknown user exception thrown by the server" org.omg.CORBA.UNKNOWN: vmcid: SUN minor code: 202 completed: Maybe at com.sun.corba.se.impl.logging.ORBUtilSystemException.runtimeexception(ORBUtilSystemException.java:8365) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.convertThrowableToSystemException(CorbaMessageMediatorImpl.java:1918) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1868) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleThrowableDuringServerDispatch(CorbaMessageMediatorImpl.java:1821) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:258) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1680) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922) at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1187) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:398) Caused by: java.lang.NullPointerException at org.GNOME.Accessibility.AttributeSetHelper.write(AttributeSetHelper.java:92) at org.GNOME.Accessibility.AccessiblePOA._invoke(AccessiblePOA.java:330) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:637) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:189) ... 8 more See also Bug 435585, which might point to the source of this problem.
I just tested this with the following and the problem still exists. When I look at things with accerciser, I don't see any events coming from the AT-SPI when I arrow left/right across the page tabs: bash-3.2$ java -version java version "1.6.0_04" Java(TM) SE Runtime Environment (build 1.6.0_04-b10) Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) Jeff, do you remember if a bug was filed for this or not?
(In reply to comment #13) > I just tested this with the following and the problem still exists. When I > look at things with accerciser, I don't see any events coming from the AT-SPI > when I arrow left/right across the page tabs: > > bash-3.2$ java -version > java version "1.6.0_04" > Java(TM) SE Runtime Environment (build 1.6.0_04-b10) > Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) > > Jeff, do you remember if a bug was filed for this or not? > See bug #449179 for more discussion. Seems to be a Java Swing GTK+ look and feel bug.
As observed in Comment 14 this does seem to be limited to the Gtk+ look and feel. With the other two look-and-feel options, pressing Left/Right changes the focused tab; with the Gtk+ look and feel, it merely moves a focus rectangle to the new tab. You then have to press Space to activate that tab. And we don't seem to be getting any events at all under these circumstances. :-( In other words, we can't fix this in Orca..... Ke, is this something you can handle in the Java Atk Wrapper? Assigning it to you in the hopes that you can. :-) Note: I'm Lowering the priority and severity because it's only one look and feel and there is a work-around available: Press Left/Right, then press Space. If you've moved to a new tab, Orca will speak it as expected once Space is pressed.
[Mass-resetting default assignee, see bug 705890. Please reclaim this bug report by setting the assignee to yourself if you still plan to work on this. Thanks!]
Closing this because it refers to a really old version. Feel free to open a new bug if the problem is still a problem.
[Moving at-spi/javva-atk-wrapper bugs to separate product. See bug 740075]