Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Accessibility] A control can have many tooltips #2897

Closed
vladimir-krestov opened this issue Feb 21, 2020 · 4 comments
Closed

[Accessibility] A control can have many tooltips #2897

vladimir-krestov opened this issue Feb 21, 2020 · 4 comments
Labels
tenet-accessibility MAS violation, UIA issue; problems with accessibility standards

Comments

@vladimir-krestov
Copy link
Contributor

  • .NET Core Version: 5.0.100-alpha1-016143

  • Have you experienced this same bug with .NET Framework?: Yes

Problem description:

  • A form can show several tooltips at the same time
    image
    image
  • A form shows the latest added keyboard tooltip at the same time if a control has several tooltips (as expected)

Expected behavior:

  • A form should show one tooltip at the same time

Minimal repro:

  • Create a .Net 5.0 app
  • Add a button to the app
  • Add several ToolTIp instances and associate with the button
  • Run and hover the button by mouse
@weltkante
Copy link
Contributor

weltkante commented Feb 21, 2020

I don't agree on the expected/unexpected part, this is how the implementation is designed to work, unless the entire design is revisited I'd rather resolve this on the documentation side.

In particular this is not a bug, it is an inherent part of how the component model is expected to work. Tooltip is a component which is supposed to be added to the component collection of a container (usually through the designer). How it works is that the tooltip is an IExtenderProvider which extends other controls on the same container by additional properties, indicated by the [ProvideProperty("ToolTip", typeof(Control))] attribute. It is reasonable to expect that multiple designer components are independent of each other, in fact the implementation of tooltips relies on this to prevent memory leaks. The only reason why you'd want to have multiple tooltip components is because you want granular control over the lifetime of the tooltips, so you can unload one tooltip set while keeping another. Having a tooltip component per form for example allows to garbage collect the tooltips together with the form.

I'm not saying you shouldn't implement the requested change, but IMHO it would be better served by a redesign of tooltips as a whole rather than retrofitting the "expected behavior" from OP into the current implementation - e.g. why should I even have to instantiate tooltip components when they are going to coordinate a singleton implementation anyways? As it is the current behavior exactly matches what you would expect from the component model.

@merriemcgaw
Copy link
Member

Perhaps we can consider this issue as a part of the redesign of tooltips as part of supporting WCAG2.1. We know there will be changes there to support hoverable, dismissible and persistent requirements that are being added by WCAG2.1. So this seems like a good time to evaluate the entire model. Definitely something we can consider.

@merriemcgaw merriemcgaw added the tenet-accessibility MAS violation, UIA issue; problems with accessibility standards label Feb 24, 2020
@merriemcgaw merriemcgaw added this to the 5.0 milestone Feb 24, 2020
@RussKie RussKie modified the milestones: 5.0 Previews 1-4, 5.0 Apr 20, 2020
@merriemcgaw merriemcgaw modified the milestones: 5.0, 6.0 Sep 1, 2020
@dreddy-work dreddy-work modified the milestones: 6.0, 7.0 Aug 27, 2021
@dreddy-work dreddy-work modified the milestones: .NET 7.0, .NET 8.0 Aug 15, 2022
@Tanya-Solyanik Tanya-Solyanik modified the milestones: .NET 8.0, Future Jul 18, 2023
@Tanya-Solyanik
Copy link
Member

@merriemcgaw - do we still want to consider this issue?

@Tanya-Solyanik Tanya-Solyanik added the untriaged The team needs to look at this issue in the next triage label Jul 18, 2023
@merriemcgaw
Copy link
Member

Customer can use a multi line tool tip if they need multiple lines. We will consider once there's a customer request as this was internal find.

@ghost ghost removed this from the Future milestone Jul 18, 2023
@ghost ghost removed the untriaged The team needs to look at this issue in the next triage label Jul 18, 2023
@dotnet dotnet locked as resolved and limited conversation to collaborators Aug 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tenet-accessibility MAS violation, UIA issue; problems with accessibility standards
Projects
None yet
Development

No branches or pull requests

6 participants