[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-2d-dev
Subject: Re: RFR: 4512626: Non-editable JTextArea provides no visual indication of keyboard focus
From: Alexander Zuev <kizune () openjdk ! org>
Date: 2022-11-29 22:24:35
Message-ID: DPVZPQ9L7m_BHcSrMZD1Uz-9ISCevveos2IMj6_Xa9U=.dc42f363-99c3-4296-b8a3-86439bf8f0fa () github ! com
[Download RAW message or body]
On Tue, 29 Nov 2022 18:19:34 GMT, Phil Race <prr@openjdk.org> wrote:
> Hmm. This is a pretty broad change. It applies to any Swing component that accepts \
> a caret as far as I can tell, and is broader than A11Y, so I worry about unexpected \
> consequences. What is the situation today for a JTextField - and other such \
> components ?
They are also affected in the same way.
> Why was the bug report mentioning only JTextArea ?
The bug was reported during the VPAT certification of the JCK suite. They use a lot \
of JTextArea for the testing instructions and looks like that is what caught \
attention of the A11Y office. Would they notice the JTextField issue they would've \
report that too.
> What happens for AWT heavyweights?
Same. They are affected by the issue too.
> Does Windows display a caret even if they aren't editable ?
You mean native Windows controls? I have to check it out - and not only on Windows. \
However that would not affect our A11Y certification.
> Why is a non-editable Text Area really any different than a JLabel ?? Surely that \
> can't get focus ? I guess I am surprised that that a non-editable component should \
> have focus at all .. so what other components accept focus even if they aren't \
> "active" ?
Have to check other components but JLabel can not receive focus while non-editable \
JTextArea and JTextField can. Moreover - the caret is active, you can move it and \
when editable status changes the caret will be in a new position. If you move it with \
shift pressed - you can select text and with corresponding shortcuts you can copy \
that selected text to the clipboard.
> My general questions need to be addressed first, but after we get past that you \
> need to revisit this code. It seems to overlook that an application could change \
> the blink rate itself, and restores the saved rate over what the application has \
> set.
Ok, the only way it can be a problem is when user will try to set the blink rate of \
the uneditable component's caret. I think i will have to special-case that.
> Also, SFAICT setBlinkRate() doesn't seem to be preventing negative values ...
I wonder what will happen if i set a negative rate. Will it blink into the past \
before component is even created? Can it cause a time paradox? Hmm.
-------------
PR: https://git.openjdk.org/jdk/pull/11408
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic