question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Tooltips show on keyboard focus

See original GitHub issue
  • .NET Core Version: 5.0
  • Windows version: 20H2
  • 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 has internal 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:

  1. Tooltips may be expensive to show/render
  2. Tooltips may cover other content

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:

  1. Add a button to a window and set it tooltip to some string
  2. Select the button via keyboard
  3. Tooltip shows up

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:3
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

3reactions
batzencommented, Feb 19, 2021

@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

1reaction
RussKiecommented, Feb 22, 2021

@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.

Read more comments on GitHub >

github_iconTop Results From Across the Web

ARIA Tooltip Example
The tooltip never receives focus. · The tooltip widget can shown via keyboard focus or by the onmouse event. · The tooltip widget...
Read more >
CSS tooltips that are both keyboard navigable and ...
My question is, is there a way to combine all three elements of functionality: the ability to display tooltips on hover, on touch,...
Read more >
ARIA: tooltip role - Accessibility - MDN Web Docs - Mozilla
A tooltip is a contextual text bubble that displays a description for an element that appears on pointer hover or keyboard focus.
Read more >
Is right way to show Tooltip on keyboard navigation?
The answer is yes. You should give as similar as possible experience for users independently of how they are visiting your site.
Read more >
Display Title Attribute on Keyboard Focus
Problem: Native browser title attribute tooltips only display visually on mouse hover and never show on keyboard focus.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found