<Swing Dev> [11]RFR:JDK-8208640: [a11y][macosx] Unable to navigate between Radiobuttons in Radio group using keyboard

Krishna Addepalli krishna.addepalli at oracle.com
Sat Aug 11 18:53:08 UTC 2018


Hi Phil,

 

Thanks for quick review.

 

I have copied the code from BasicRadioButtonUI.java, so as you surmise, there are no code changes except for the references to Aqua in a couple places and the line "JComponnet compTransferFocusFrom = activeBtn" in jumpToNextComponent. This variable is not used any where else.

 

I ran all the JRadioButton tests, and also checked SwingSet2 demo, which works with arrow keys now.

Here is the new webrev with spaces fixed: http://cr.openjdk.java.net/~kaddepalli/8208640/webrev01/

 

Thanks

Krishna

From: Philip Race 
Sent: Saturday, August 11, 2018 11:09 PM
To: Krishna Addepalli <krishna.addepalli at oracle.com>
Cc: swing-dev at openjdk.java.net
Subject: Re: <Swing Dev> [11]RFR:JDK-8208640: [a11y][macosx] Unable to navigate between Radiobuttons in Radio group using keyboard

 

Hi,


On 8/11/18, 8:21 AM, Krishna Addepalli wrote: 

Hi All,

 

Please review a fix for JDK-8208640: https://bugs.openjdk.java.net/browse/JDK-8208640

Webrev: HYPERLINK "http://cr.openjdk.java.net/%7Ekaddepalli/8208640/webrev00/"http://cr.openjdk.java.net/~kaddepalli/8208640/webrev00/

 

The problem is that the arrow key navigation for Aqua L&F was not implemented, which is why neither the tab keys nor the arrow keys were allowing to navigate through the radio buttons through a button group. 

Proposed fix is to copy the implementation from Basic L&F into Aqua L&F.

The fix is confined - which is good - to Aqua RadioButton L&F.

As in copied from here  ?
http://hg.openjdk.java.net/jdk/jdk11/file/da793334f142/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRadioButtonUI.java

Everything you have added to Aqua looks like a copy / paste of that modulo
- some comment + formatting difference (BTW there are some minor formatting issues)
- references to Aqua instead of Basic

Is there anything that *is* different that I should be looking at closely ?

Regarding formatting look for things like these

+        public void actionPerformed(ActionEvent e){
+        boolean containsInGroup(Object obj){
+            if (focusBase != null){
+        public void actionPerformed(ActionEvent e){
+        if(!isValidRadioButtonObj(eventSrc))
+                if(!isValidRadioButtonObj(curElement))
+                if(activeBtn != null) {
 

Also fixed the test that was written to include the Aqua L&F to be tested, and it passes on Mac 


Have you run any *other* related tests for RadioButton, either from TCK or jtreg,
automated, or manual ? I'd hope & expect anything that might be affected needs to be run ..

Of course we also need to build + test this against SwingSet2 as well.

-phil.




successfully.

 

Thanks,

Krishna
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20180811/d7e999ad/attachment.html>


More information about the swing-dev mailing list