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.

Use Carbon tooltip instead of browser generated title tooltip for components

See original GitHub issue

Environment

Operating system: MacOS Big Sur (11.4)

Browser: Chrome 91

Testing Tool: Manual

Detailed description

What version of the Carbon Design System are you using?

carbon-components: 10.38.0 carbon-components-react: 7.38.0

What did you expect to happen?

The MultiSelect.Filterable, ToastNotification, InlineNotification, and NumberInput Carbon React components each take prop inputs for text to be displayed in the default browser tooltip (internally using the title attribute). Some components just take a string while others take a function that returns a string (to allow for translation messages for singular/plural). These tooltips contain information that is not displayed elsewhere, so they should be resized when the browser is zoomed-in to allow those with varying levels of vision to read the text.

What happened instead?

The default browser tooltips do not resize as the browser is zoomed-in. This means that when you go from 100% to 200% zoom on a webpage, the browser tooltip remains the same size. Because these tooltips are generated by the browser and merely generated from a title attribute, there is no workaround to force these tooltips to resize. This problem is noted in the MDN Web Docs for the title attribute which notes that “if a tooltip effect is desired, it is better to use a more accessible technique” instead of this built-in tooltip. For Carbon, a more accessible technique could come in the form of integrating the custom Carbon tooltip into these components.

What WCAG 2.1 checkpoint does the issue violate?

Success Criterion 1.4.4 Resize Text

Steps to reproduce the issue

  1. Use the InlineNotification component as an example (though there are others).
  2. Input a string for the iconDescription prop.
  3. Build and view the webpage.
  4. Zoom the browser to 200%.
  5. The tooltip on the InlineNotification close button does not resize.

CodeSandbox: https://codesandbox.io/s/carbon-tooltip-issue-n91ng?file=/src/index.js

Additional information

Screenshot at 100% Zoom: Screen Shot 2021-07-15 at 2 07 30 PM

Screenshot at 200% Zoom: Screen Shot 2021-07-15 at 2 07 54 PM

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:5 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
mbgowercommented, Nov 3, 2022

@sstrubberg asked me to have a look at this.

I would not disagree that improvements on the user agent default “title” tooltip behaviour are worth pursuing. Many of us have been waiting for user agent ‘fixes’ for decades. Desired changes include:

Those are all things that meet various WCAC requirements (as noted in parentheses).

Carbon piggybacking on the title functionality doesn’t create a new problem. One can argue that it is a browser bug – not something Carbon needs to solve. But like a lot of really annoying ‘established’ user agent behaviour there is no sign of browsers chomping at the bit to alter the status quo.

So if Carbon has an established way of achieving improved, consistent tooltip behaviour on its components, I think it is definitely something to pursue.

PS In an ideal world, Carbon would have a way of letting users set preferences and let them decide on how they want tooltips to behave. If Carbon ever pursues personalization, this would definitely be a feature to consider.

1reaction
tay1orjonescommented, Jul 19, 2021

Thanks for the suggestion here @griffindvs! I marked this as a proposal for the team to discuss and consider moving forward because as you note, there’s not really a way for us to impact the browser generated elements like title hover/tooltips.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Tooltip – Carbon Design System
A tooltip is a message box that is displayed when a user hovers over or gives focus to a UI element. The tool...
Read more >
Untitled
Include react-tooltip component StandaloneTooltip | React Native Elements Components ... showTitle , use Tooltip instead of the html title attribute.
Read more >
How to Create an HTML Tooltip [+ Code Templates]
Learn why HTML tooltips are a handy interface component and how to add them to your page content with simple code.
Read more >
When CSS Isn't Enough: JavaScript Requirements For ...
Spoiler alert: tooltips, modals, tabs, carousels, and dropdown menus are some of the user interface components that require more than CSS.
Read more >
Tooltip - Carbon Design System
Definition tooltip. Definition tooltip is for regular use case of tooltip, e.g. giving the user more text information about something, like defining a...
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