[TASK] Prefer browser tooltips over bootstrap tooltips
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:Michael Telgkamp <michael.telgkamp@mindscreen.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Jasmina Ließmann <minapokhalo+typo3@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
Showing
- Build/Sources/Sass/form.scss 0 additions, 4 deletionsBuild/Sources/Sass/form.scss
- Build/Sources/TypeScript/backend/ajax-data-handler.ts 0 additions, 11 deletionsBuild/Sources/TypeScript/backend/ajax-data-handler.ts
- Build/Sources/TypeScript/backend/form-engine/element/select-tree-toolbar.ts 3 additions, 8 deletions...Script/backend/form-engine/element/select-tree-toolbar.ts
- Build/Sources/TypeScript/backend/page-tree/page-tree-element.ts 1 addition, 5 deletions...Sources/TypeScript/backend/page-tree/page-tree-element.ts
- Build/Sources/TypeScript/backend/recordlist.ts 0 additions, 2 deletionsBuild/Sources/TypeScript/backend/recordlist.ts
- Build/Sources/TypeScript/backend/svg-tree.ts 1 addition, 18 deletionsBuild/Sources/TypeScript/backend/svg-tree.ts
- Build/Sources/TypeScript/backend/tooltip.ts 3 additions, 0 deletionsBuild/Sources/TypeScript/backend/tooltip.ts
- Build/Sources/TypeScript/beuser/permissions.ts 0 additions, 6 deletionsBuild/Sources/TypeScript/beuser/permissions.ts
- Build/Sources/TypeScript/extensionmanager/main.ts 0 additions, 3 deletionsBuild/Sources/TypeScript/extensionmanager/main.ts
- Build/Sources/TypeScript/filelist/file-list.ts 0 additions, 2 deletionsBuild/Sources/TypeScript/filelist/file-list.ts
- Build/Sources/TypeScript/install/module/maintenance/language-packs.ts 0 additions, 6 deletions...s/TypeScript/install/module/maintenance/language-packs.ts
- Build/Sources/TypeScript/workspaces/backend.ts 0 additions, 14 deletionsBuild/Sources/TypeScript/workspaces/backend.ts
- typo3/sysext/backend/Classes/Controller/ContentElement/MoveElementController.php 0 additions, 1 deletion...asses/Controller/ContentElement/MoveElementController.php
- typo3/sysext/backend/Classes/Controller/NewRecordController.php 0 additions, 1 deletion...sysext/backend/Classes/Controller/NewRecordController.php
- typo3/sysext/backend/Classes/Controller/Page/TreeController.php 0 additions, 1 deletion...sysext/backend/Classes/Controller/Page/TreeController.php
- typo3/sysext/backend/Classes/Form/Container/FileReferenceContainer.php 1 addition, 1 deletion...backend/Classes/Form/Container/FileReferenceContainer.php
- typo3/sysext/backend/Classes/Form/Container/InlineRecordContainer.php 1 addition, 1 deletion.../backend/Classes/Form/Container/InlineRecordContainer.php
- typo3/sysext/backend/Classes/Form/Element/InputSlugElement.php 0 additions, 1 deletion.../sysext/backend/Classes/Form/Element/InputSlugElement.php
- typo3/sysext/backend/Classes/Form/Element/LinkElement.php 1 addition, 1 deletiontypo3/sysext/backend/Classes/Form/Element/LinkElement.php
- typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php 1 addition, 2 deletions...xt/backend/Classes/Form/Element/SelectCheckBoxElement.php
Please register or sign in to comment