From 8f1502d98ed40ba6c750bd6ab48fb7812d3c937e Mon Sep 17 00:00:00 2001 From: Alan Third Date: Sun, 13 May 2018 11:02:00 +0100 Subject: [PATCH] Set accessibility subroles for child frame (bug#31324) ; Depends on patch in bug#31440. * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether frame is a child or not. --- src/nsterm.m | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/nsterm.m b/src/nsterm.m index df883346de..97682f7a47 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1962,7 +1962,15 @@ so some key presses (TAB) are swallowed by the system. */ child = [FRAME_NS_VIEW (f) window]; if ([child parentWindow] != nil) - [[child parentWindow] removeChildWindow:child]; + { + [[child parentWindow] removeChildWindow:child]; +#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101000 +#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000 + if ([child respondsToSelector:@selector(setAccessibilitySubrole:)] +#endif + [child setAccessibilitySubrole:NSAccessibilityStandardWindowSubrole]; +#endif + } if (!NILP (new_value)) { @@ -1970,6 +1978,12 @@ so some key presses (TAB) are swallowed by the system. */ [parent addChildWindow: child ordered: NSWindowAbove]; +#if defined (NS_IMPL_COCOA) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101000 +#if MAC_OS_X_VERSION_MIN_REQUIRED < 101000 + if ([child respondsToSelector:@selector(setAccessibilitySubrole:)] +#endif + [child setAccessibilitySubrole:NSAccessibilityFloatingWindowSubrole]; +#endif } unblock_input (); -- 2.16.1