Hello Sergey,
I have created the CSR. Please have a look.
https://bugs.openjdk.java.net/browse/JDK-8251002
Regards,
Pankaj
On 28/07/20 6:08 AM, Sergey Bylokhov wrote:
Looks fine. Please note you will need a CSR for this change.
On 19.07.2020 11:28, Pankaj Bansal wrote:
Hi All,
Please review the following fix for jdk16.
Bug : https://bugs.openjdk.java.net/browse/JDK-8239137
webrev: http://cr.openjdk.java.net/~pbansal/8239137/webrev02/
<http://cr.openjdk.java.net/%7Epbansal/8239137/webrev02/>
Issue: The JAWS does not announce the value of JSlider in JColorChooser
Cause: The JSlider and JSpinner are kept in Sync in JColorChooser by
changing the value of other component when one is used. eg, when we
change color value using JSlider, the JSpinner value is also changed
to keep the two in Sync. This results in two accessibility value
change events being sent to JAWS (one for JSlider and JSpinner each)
instead of just one for JSlider.
The event in JSlider is being sent from setValue method, whereas in
case of JSpinner, the event is being sent from a AccessibleJSpinner
stateChanged method which is added as changeListener to JSpinner.
This results in situation where the event for JSpinner is always
being sent first whether we are using JSlider or JSpinner. It looks
like JAWS is not able to process all the events being sent quickly.
So, the JSlider event is not being processed properly by JAWS.
Fix: The fix is to add the AccessibleJSlider as a ChangeListener on
the JSlider and then sending the accesssiblity value change event
from there instead of sending it from setValue method like being done
in JSpinner. This results in the accessibility events being sent to
JAWS in the order they are being changed. JAWS is able to announce
the value properly for JSlider and JSpinner.
This can be tested by running any JColorchooser sample program (One
such sample program is attached in JBS). I have run full jtreg and
jck tests on mach5. The change is not breaking any test. Links in JBS.
Regards
Pankaj