<AWT Dev> RFR: 8262981: Create implementation for NSAccessibilitySlider protocol [v3]

Alexander Zuev kizune at openjdk.java.net
Thu Apr 8 10:10:27 UTC 2021

On Thu, 1 Apr 2021 12:12:40 GMT, Pankaj Bansal <pbansal at openjdk.org> wrote:

>> Create implementation of NSAccessibilitySlider protocol https://developer.apple.com/documentation/appkit/nsaccessibilityslider
>> The implementation has the function performIncrement and performDecrement to increase/decrease the value of slider using the VoiceOver. To implement this functionality, I could think of  following two ways. I have chosen the first one here though it is more intrusive.
>> 1. Make the AccessibleJSlider class implement the AccessibleAction interface. This makes AccessibleJSlider consistent with the AccessibleJSpinner class. It is more clear and the logic to increase/decrease Slider value can be changed easily. But this changes AccessibleJSlider class and will need a CSR.
>> 2. Get the current Accessible Value from the component and  just increment/decrement it in SliderAccessibility.m  class itself and then set the current accessible value fro there only. This will not need any changes in AccessibleJSlider class, but this does not look correct way and I have not used this.
>> The changes can be easily tested by using a JSlider example, like the following example. VO should announce the correct the slider values. To change the slider values, use ctrl+opt+shift+down key to start interacting with the slider, then use ctrl+opt+up/down arrow keys to increment/decrement slider values.
>>       import javax.swing.JFrame;
>>       import javax.swing.JSlider;
>>       public class JSliderDemo{
>>           public static void main(String[] args) throws Exception {
>>               JFrame jframe = new JFrame("JSlider Demo");
>>               jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>>               jframe.add(new JSlider());
>>               jframe.setLocationRelativeTo(null);
>>               jframe.pack();
>>               jframe.setVisible(true);
>>           }
>>       }
> Pankaj Bansal has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>  - Merge branch 'master' into JDK-8262981
>  - increase initial capacity for rolesMap
>  - Remove whitespaces
>  - remove SpinboxAccessibility.m changes
>  - Code cleanup
>  - cleanup
>  - 8262981: Create implementation for NSAccessibilitySlider protocol

Marked as reviewed by kizune (Reviewer).


PR: https://git.openjdk.java.net/jdk/pull/2874

More information about the awt-dev mailing list