Closed batzen closed 3 years ago
Is it possible to get the earlier behaviour using the AppContextSwitch Switch.UseLegacyToolTipDisplay?
This would also disable other accessibility features related to tooltips.
Thank you for the report, @batzen.
@batzen - The change was driven by an internal team responsible for accessibility issues across all Microsoft products, who are in turn driven by various consortiums and organizations such as WCAG that set accessibility standards and guidelines for all software producers. In other words, it wasn't WPF's or even Microsoft's decision, and we can't do what you suggest without violating internal rules and putting WPF apps at risk of failing to be eligible for use by agencies with strong accessibility requirements (e.g. governments).
I understand your concerns, but you should raise them with WCAG et al.
@SamBent @ryalanms That's a very strange and concerning answer. My main request was "The behavior must be controllable through a dependency property.".
It was Microsofts decision to make this non override-able for everyone except internal users.
The Ribbon violates the WCAG standard then. Microsoft must remove the override in the Ribbon if WCAG standards have to be followed so strictly. And Microsoft must also change the behavior of other Microsoft products as the Ribbon override says "to keep this consistent with other Microsoft products".
If the Ribbon override stays, Microsoft must add the possibility for everyone to override it. If there is an exception for Ribbon like controls and Microsoft does not want to add the possibility for everyone to override it, i hereby request Microsoft to add InternalsVisibileTo for Fluent.Ribbon and every other library providing Ribbon Controls.
FYI @punker76 @GeertvanHorrik
@batzen are tooltips shown when a control is hovered by a mouse? Keyboard tooltips provide the same behaviour for users who is unable to use mouse for whatever reason.
@RussKie While i totally agree with you that there should be a way to show tooltips with the keyboard, which was made possible with a shortcut, i don't think that it's a good idea to always show them on keyboard focus as it might not always be the desired behavior. And that's exactly the same thing Microsoft realized and added a way to disable this behavior for internal consumers. What's wrong with giving everyone this choice?
Mouse and keyboard are two totally different devices/input methods so it's ok, IMHO, for them to lead to different behavior in an application.
Keyboard tooltips provide the same behaviour for users who is unable to use mouse for whatever reason.
I guess you are referring to users with disabilities. Those users usually use assistive tools to improve their ability to use applications. At least that's my experience while talking to them and improving their experience in the applications in develop. Not a single one has asked for tooltips to show on keyboard focus.
Does the bug reproduce also in WPF for .NET Framework 4.8?: Yes
Problem description: Tooltips started to show on keyboard focus with no way to disable this, without also disabling other accessibility features.
ToolTip
only hasinternal virtual bool ShouldShowOnKeyboardFocus
and not, as one would expect, an override able dependency property. This is a massive breaking change in behavior and also affects .NET 4.8. I say "massive breaking" because:IMHO: I think it's a sad decision from Microsoft to introduce new behavior and then only allow internal consumers to change that behavior while affecting every app which uses tooltips. As the internal usage shows you fully understood that this behavior is not always the desired behavior, but still decided to make it impossible for everyone else to opt out of it.
Actual behavior: Tooltips show on keyboard focus.
Expected behavior: Tooltips should not show on keyboard focus by default, IMHO. The behavior must be controllable through a dependency property.
Minimal repro: