<Swing Dev> [9] Review request for 8154043: Fields not reachable anymore by tab-key, because of new tabbing behaviour of radio button groups.
Semyon Sadetsky
semyon.sadetsky at oracle.com
Fri Sep 16 14:34:20 UTC 2016
On 15.09.2016 16:11, Alexander Scherbatiy wrote:
> On 15/09/16 15:03, Semyon Sadetsky wrote:
>>
>>
>> On 15.09.2016 12:49, Alexandr Scherbatiy wrote:
>>> On 9/15/2016 11:47 AM, Semyon Sadetsky wrote:
>>>> On 14.09.2016 21:00, Alexandr Scherbatiy wrote:
>>>>> On 9/14/2016 6:41 PM, Alexandr Scherbatiy wrote:
>>>>>> On 9/14/2016 1:48 PM, Semyon Sadetsky wrote:
>>>>>>> Hello,
>>>>>>>
>>>>>>> Please review fix for JDK9:
>>>>>>>
>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8154043
>>>>>>>
>>>>>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8154043/webrev/
>>>>>>>
>>>>>>> The new RadioButton group focus traversal algorithm introduced
>>>>>>> by JDK-8033699 doesn't take into account that group of radio
>>>>>>> buttons can be lay-outed in several lines in container. In this
>>>>>>> case the LayoutFocusTraversalPolicy may mix radio buttons of the
>>>>>>> same group with other components in its focus traversal order
>>>>>>> and break the assumption used in
>>>>>>> BasicRadioButtonUI#getFocusTransferBaseComponent() that radio
>>>>>>> buttons are sequenced in the focus policy order.
>>>>>>>
>>>>>>> The fix propose to treat a group of toggle buttons as a single
>>>>>>> focus cycle entry in the LayoutFocusTraversalPolicy which order
>>>>>>> is determined by the first toggle button in the group.
>>>>>> Should the test for the fix JDK-8033699
>>>>>> test/javax/swing/JRadioButton/8033699/bug8033699.java be updated
>>>>>> as well?
>>>>> Is it possible to move the focus from the current radio button
>>>>> to the next component which does not belong to the current radio
>>>>> buttons group by pressing tab key?
>>>>> For example in the test FocusCycleRootTest from the issue
>>>>> description, moving the focus from the first and the second radio
>>>>> button to the text field 1 and from the third and the fourth radio
>>>>> button to the text field 2.
>>>> It is possible. But then the group will get focus second (or more)
>>>> time during the cycle. Seems, this is not correct because option in
>>>> the group has already been selected.
>>> It is not clear is it correct that pressing an arrow key selects a
>>> radio button in a group. For example each radio button selection can
>>> trigger some action. So trying to select the latest radio button it
>>> is necessary to move the focus from the first button to the last by
>>> arrow keys so radio buttons in the middle will also be unnecessary
>>> selected. Usually the space key is responsible to a button selection.
>> I did not get the concern. Arrow buttons are aimed to cycle all
>> buttons group consequently. Tab key should move focus outside the
>> group. Space key doesn't change focus.
>>>> Also it looks inconsistent when the second option is skipped in the
>>>> cycle while the third is not.
>>> This is because the tab key is pressed which can move the focus
>>> from the group and back. The arrow keys are used to move the focus
>>> in the group.
>>> It preserves the tab key behavior before the fix 8033699 except
>>> radio buttons in the group.
>> Group of options can be treated as one control which should be
>> visited only once during single cycle. Because it is more correct
>> from usability point of view: if user has made a selection it is
>> unnecessary to return to this control again.
>> Also what do you propose seems to contradict the 8074883 which
>> requires only one selected option to be focused always in the group.
> I see the point that the group of buttons should be treated as one
> control from the focus point of view.
> I read the description of the JDK-8033699 but it is not still clear
> to me is selecting a radio button by pressing an arrow key follows to
> the industry standard?
In native apps and in browsers it works that way.
>
> One more question which I have relates to a group of radio buttons
> there no one of them is selected. Should tab pressing moves the focus
> to the first button or to the latest one which has been selected or
> just using standard focus order for components?
It is not good style to leave all radio buttons unselected in one group.
I think the first one should be selected in this case.
Also, yes, the test/javax/swing/JRadioButton/8033699/bug8033699.java
should be modified.
The updated webrev: http://cr.openjdk.java.net/~ssadetsky/8154043/webrev.01/
--Semyon
>
> Thanks,
> Alexandr.
>
>>
>> --Semyon
>>>
>>> Thanks,
>>> Alexandr.
>>>
>>>>
>>>> --Semyon
>>>>>
>>>>> Thanks,
>>>>> Alexandr.
>>>>>>
>>>>>> Thanks,
>>>>>> Alexandr.
>>>>>>>
>>>>>>> --Semyon
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
More information about the swing-dev
mailing list