On Thu, 1 Apr 2021 12:12:40 GMT, Pankaj Bansal <pban...@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

Reply via email to