RFR: 8293795: [Accessibility] [Win] [Narrator] Exceptions when deleting text with continous key press in TextArea and TextField [v3]
Hima Bindu Meda
hmeda at openjdk.org
Tue Oct 4 10:55:37 UTC 2022
On Mon, 3 Oct 2022 14:40:27 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:
>> This is a follow up bug-fix to [JDK-8284281](https://bugs.openjdk.org/browse/JDK-8284281)
>>
>> Issue:
>> When Narrator is running,
>> Following scenarios with TextField or TextArea cause IllegalArgumentException or NPE
>>
>> 1. Move cursor to beginning of line, Press and hold DELETE key
>> 2. Move cursor to beginning of line, Press and hold CTRL + DELETE key
>> 3. Move cursor to end of line, Press and hold BACKSPACE key
>> 4. Move cursor to end of line, Press and hold CTRL + BACKSPACE key
>>
>> Fix:
>> Two variable `start` and `end` in `WinTextRangeProvider` should be validated against text length
>> 1. Added a method `validateRange()`, and is called several from methods which access text based on `start` and `end` variables
>> 2. Partially reverted fix of [JDK-8284281](https://bugs.openjdk.org/browse/JDK-8284281) :
>> - removed https://github.com/openjdk/jfx/blob/35675c8d27d54a26059b182614e18152794dbcec/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinTextRangeProvider.java#L180
>> - and used `validateRange()` instead to be symmetrical.
>>
>> Verification:
>> To observe the issue.
>>
>> 1. Run any program with TextField and/or TextArea
>> 2. Launch Windows Narrator
>> 3. Run the exception causing scenarios several times:
>>
>> - Move cursor to beginning of line, Press and hold DELETE key
>> - Move cursor to beginning of line, Press and hold CTRL + DELETE key
>> - Move cursor to end of line, Press and hold BACKSPACE key
>> - Move cursor to end of line, Press and hold CTRL + BACKSPACE key
>
> Ambarish Rapte has updated the pull request incrementally with one additional commit since the last revision:
>
> call validateRange() on line 236-237
Marked as reviewed by hmeda (Author).
Exceptions are seen without PR. After applying PR, no exceptions seen.
Verified by running the scenarios which cause exceptions. Looks good to me.
-------------
PR: https://git.openjdk.org/jfx/pull/907
More information about the openjfx-dev
mailing list