On Wed, 24 Dec 2025 09:01:49 GMT, Christopher Schnick <[email protected]> wrote:

> This is a pretty simple fix for the accessible text of password fields.

Would it be possible to add a unit test to `PasswordFieldTest`, with all four 
combinations of `promptText` and `accessibleText`?

Also, I think we should add an explicit check (perhaps as a part of the above 
test case) that the password value does not leak?

Something like

pwdField.setText("pw");
// all nulls
assertEquals(null, pwdField.queryAccessibleAttribute(AccessibleAttribute.TEXT));
// accessibleText
pwdField.setAccessibleText("1");
assertEquals("1", pwdField.queryAccessibleAttribute(AccessibleAttribute.TEXT));
// both
pwdField.setPromptText("2");
assertEquals("1", pwdField.queryAccessibleAttribute(AccessibleAttribute.TEXT));
// prompt text
pwdField.setAccessibleText(null);
assertEquals("2", pwdField.queryAccessibleAttribute(AccessibleAttribute.TEXT));
// back to nulls
pwdField.setPromptText(null);
assertEquals(null, pwdField.queryAccessibleAttribute(AccessibleAttribute.TEXT));


code above was not compiled, just a suggestion

modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java 
line 85:

> 83:             case TEXT:
> 84:                 String accText = getAccessibleText();
> 85:                 if (accText != null && !accText.isEmpty()) return accText;

minor: please add { }'s

modules/javafx.controls/src/main/java/javafx/scene/control/PasswordField.java 
line 86:

> 84:                 String accText = getAccessibleText();
> 85:                 if (accText != null && !accText.isEmpty()) return accText;
> 86:                 return getPromptText();

`getPromptText()` returns "" when `promptText` property is not set, resulting 
in this method returning "".  Shouldn't it return `null` instead?

-------------

PR Review: https://git.openjdk.org/jfx/pull/2020#pullrequestreview-3611297624
PR Review Comment: https://git.openjdk.org/jfx/pull/2020#discussion_r2645983478
PR Review Comment: https://git.openjdk.org/jfx/pull/2020#discussion_r2645982535

Reply via email to