Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8284281

[Accessibility] [Win] [Narrator] Exceptions with TextArea & TextField when deleted last char

XMLWordPrintable

    • b27
    • b03
    • generic
    • generic

        A DESCRIPTION OF THE PROBLEM :
        Tested with Java 8u321 and Java 17

        TextArea
        Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
                at javafx.scene.text.Text.queryAccessibleAttribute(Text.java:1931)
                at com.sun.javafx.scene.control.skin.TextAreaSkin.queryAccessibleAttribute(TextAreaSkin.java:1384)
                at javafx.scene.control.Control.queryAccessibleAttribute(Control.java:917)
                at javafx.scene.control.TextInputControl.queryAccessibleAttribute(TextInputControl.java:1578)
                at javafx.scene.Node$19.getAttribute(Node.java:9659)
                at com.sun.glass.ui.Accessible$GetAttribute.run(Accessible.java:142)
                at java.security.AccessController.doPrivileged(Native Method)
                at com.sun.glass.ui.Accessible.lambda$getAttribute$0(Accessible.java:169)
                at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:411)
                at com.sun.glass.ui.Accessible.getAttribute(Accessible.java:166)
                at com.sun.glass.ui.win.WinTextRangeProvider.getAttribute(WinTextRangeProvider.java:112)
                at com.sun.glass.ui.win.WinTextRangeProvider.ExpandToEnclosingUnit(WinTextRangeProvider.java:181)
                at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
                at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:185)
                at java.lang.Thread.run(Unknown Source)

        TextField
        Exception in thread "JavaFX Application Thread" java.lang.IllegalArgumentException: offset out of bounds
            at sun.util.locale.provider.RuleBasedBreakIterator.checkOffset(RuleBasedBreakIterator.java:759)
            at sun.util.locale.provider.RuleBasedBreakIterator.isBoundary(RuleBasedBreakIterator.java:834)
            at com.sun.glass.ui.win.WinTextRangeProvider.isWordStart(WinTextRangeProvider.java:119)
            at com.sun.glass.ui.win.WinTextRangeProvider.ExpandToEnclosingUnit(WinTextRangeProvider.java:163)
            at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
            at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:185)
            at java.lang.Thread.run(Thread.java:748)

        STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
        I provided a standalone testcase.

        You can download it here:
        <link>

        1) Start Programm
        2) Start Narrator ( Win + Ctrl + Enter)
        3) Remove last character will cause the exception.

        Hints:
        - Only removing the last character causes the exception



        FREQUENCY : always


              arapte Ambarish Rapte
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: