> When using the Windows Narrator screen reader on a Hi-DPI screen, the visible > focus is drawn in the wrong location and with the wrong size. This happens > because the the JavaFX Windows accessibility code that returns the screen > bounds of the requested UI element does not take the screen scale into > account. > > The fix is to adjust the bounds by the screen scale before returning it. > > You can test it on a Windows machine with scaling set to >= 125% as follows: > 1. Turn on Windows Narrator > 2. Run any JavaFX program with at least UI controls, for example, > `hello.HelloTextField` in `apps/toys/Hello` > 3. TAB between the controls > > Without the fix, Narrator shows the focus indicator in the wrong position and > is too small. With the fix, it is correct. While testing this, I discovered > an unrelated (and preexisting) bug where the focus indicator for a TextField > or TextArea whose content is larger that the control (and is displayed with > scroll bars) is not clipped to the visible area. This happens regardless of > screen scale. I will file a follow-up bug for this. > > Note that this bug is specific to Windows. It does not occur on macOS, which > works correctly on a retina or non-retina display.
Kevin Rushforth has updated the pull request incrementally with one additional commit since the last revision: Fix conversion to platform coords ------------- Changes: - all: https://git.openjdk.org/jfx/pull/853/files - new: https://git.openjdk.org/jfx/pull/853/files/a991c463..554fae4d Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=853&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=853&range=00-01 Stats: 46 lines in 3 files changed: 18 ins; 11 del; 17 mod Patch: https://git.openjdk.org/jfx/pull/853.diff Fetch: git fetch https://git.openjdk.org/jfx pull/853/head:pull/853 PR: https://git.openjdk.org/jfx/pull/853