Skip to content
  • Christian Kuhn's avatar
    [TASK] Prefer browser tooltips over bootstrap tooltips · 1c77c838
    Christian Kuhn authored
    The entire bootstrap tooltips plugin and Backend
    handling is problemetic. The patch removes usages
    throughout the Backend to rely solely on native
    browser title attributes on hover for now.
    
    Reasons:
    * Usage within the Backend is very inconsistent: Some
      modules use 'bs-toggle="tooltip"', some do, but then
      don't initialze JS accordingly, many don't take care
      at all.
    * The placement of tooltips is inconsistent: Some modules
      rely on auto placement, some don't take care, some
      get it right.
    * The plugin is fiddly: There are various hacks to for
      instance toggle-off on scroll, or toggle-off when a
      modal is overlayed to not stay on-top-of modals, these
      sort of things. Browser title hovers always get this right.
    * Usages are buggy: The page tree sometimes still fails
      to remove tooltips, which then tend to stay until browser
      reload. The list module shows both a browser hover plus
      the tooltip at the same time on icons, ext:form shows funny
      placement in preview-mode. There are more modules that get
      details wrong than those that work flawlessly.
    * Tooltips that add a lot of valuable information are
      problematic from an accessibility point of view. It's
      better to refactor UI to not rely on them too much. By
      avoiding bootstrap tooltips for now, we encourage to
      think more about properly accessible solutions instead
      of putting things into a "nice" overlay. With the patch,
      various places now fall back to the title attribute, which
      is also problematic, see [1] for more information. The
      core will continue to improve the situation with
      further patches and will document better best practices.
    * Tooltips with a lot of additional information are a
      no-go on touch devices.
    * The plugin is slow with many elements. This is easily
      reproducible with the "List" module, which is noticeable
      quicker when relying on title tags alone on weaker clients.
    
    [1] https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/title#accessibility_concerns
    
    Resolves: #99811
    Resolves: #99428
    Resolves: #99089
    Resolves: #98061
    Resolves: #97047
    Resolves: #93022
    Related: #89872
    Releases: main
    Change-Id: I3cb8f0ca5e65a2c4b74d023935e1bef26c592ffd
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77664
    
    
    Tested-by: default avatarMichael Telgkamp <michael.telgkamp@mindscreen.de>
    Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Tested-by: default avatarcore-ci <typo3@b13.com>
    Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
    Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
    Tested-by: default avatarJasmina Ließmann <minapokhalo+typo3@gmail.com>
    Reviewed-by: default avatarJasmina Ließmann <minapokhalo+typo3@gmail.com>
    Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    1c77c838