diff --git a/Xwt.XamMac/Xwt.Mac/DialogBackend.cs b/Xwt.XamMac/Xwt.Mac/DialogBackend.cs index 0d19d4cbd..bea463b1e 100644 --- a/Xwt.XamMac/Xwt.Mac/DialogBackend.cs +++ b/Xwt.XamMac/Xwt.Mac/DialogBackend.cs @@ -176,8 +176,11 @@ public void EndLoop () OrderOut (this); Close(); NSApplication.SharedApplication.StopModal (); - if (parent != null) + if (parent != null) { parent.MakeKeyAndOrderFront (parent); + NSApplication.SharedApplication.AccessibilityFocusedWindow = parent; + parent.AccessibilityFocused = true; + } } #endregion diff --git a/Xwt.XamMac/Xwt.Mac/WindowBackend.cs b/Xwt.XamMac/Xwt.Mac/WindowBackend.cs index 29c1762cb..b063deffa 100644 --- a/Xwt.XamMac/Xwt.Mac/WindowBackend.cs +++ b/Xwt.XamMac/Xwt.Mac/WindowBackend.cs @@ -116,6 +116,10 @@ internal void InternalShow () if (!ParentWindow.ChildWindows.Contains(this)) ParentWindow.AddChildWindow(this, NSWindowOrderingMode.Above); + ParentWindow.AccessibilityFocused = false; + NSApplication.SharedApplication.AccessibilityFocusedWindow = this; + AccessibilityFocused = true; + // always use NSWindow for alignment when running in guest mode and // don't rely on AddChildWindow to position the window correctly if (frontend.InitialLocation == WindowLocation.CenterParent && !(ParentWindow is WindowBackend))