RFR: 8293795: [Accessibility] [Win] [Narrator] Exceptions when deleting text with continous key press in TextArea and TextField [v3]
Ambarish Rapte
arapte at openjdk.org
Mon Oct 3 14:40:27 UTC 2022
> 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
-------------
Changes:
- all: https://git.openjdk.org/jfx/pull/907/files
- new: https://git.openjdk.org/jfx/pull/907/files/78bf9185..99e8b68a
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jfx&pr=907&range=02
- incr: https://webrevs.openjdk.org/?repo=jfx&pr=907&range=01-02
Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod
Patch: https://git.openjdk.org/jfx/pull/907.diff
Fetch: git fetch https://git.openjdk.org/jfx pull/907/head:pull/907
PR: https://git.openjdk.org/jfx/pull/907
More information about the openjfx-dev
mailing list