RFR: 8308191: [macOS] VoiceOver decorations are shifted on second monitor

Alexander Zuev kizune at openjdk.org
Wed May 31 06:16:03 UTC 2023


On Tue, 30 May 2023 23:11:06 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

> Noticed two intermittent issues when moving the same javafx window between the monitors:
> 
> 1. at some point, the window turned completely black.  moving it on another monitor fixed the issue:

That might be because when moving between displays with the different magnification ratios there is some sort of animation happens to the entirety of the window. Probably sometimes it is stuck on the animation and does not update the window content. 

> 2. sometimes, especially when monitors were arranged diagonally, accessibility focus rectangle, while placed correctly, was outlining a much taller area.  I can't get this to reproduce reliably, but it feels like it happens after the window was positioned to straddle two monitors:

Yes, the way coordinates translation happens on Mac involves virtual screen coordinates and a real ones and when we report the shape of the accessible component we are reporting in the virtual pixels and then OS recalculates the size and thickness of the accessibility cursor based on the magnification factor of the display and the assumed magnification ratio of the control. So it might be possible that we are partially on a different screen and we report the control dimensions and system scales them incorrectly because it thinks that the control belongs to the frame placed on another display.
I am not sure there is a simple fix for such corner case.

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

PR Comment: https://git.openjdk.org/jfx/pull/1147#issuecomment-1569557214


More information about the openjfx-dev mailing list