Sur cette page

Accessibilité

#Lien direct vers cette section

Pris en charge automatiquement

#Lien direct vers cette section
  • Le trigger reçoit aria-describedby pointant vers l’élément <ar-tooltip> lui-même (light DOM). Les IDREF ne franchissent pas la frontière shadow DOM — référencer la bulle interne rendrait la description invisible aux lecteurs d’écran. L’hôte étant toujours présent dans le DOM, la description est disponible dès le focus, même quand la bulle est visuellement fermée.
  • La bulle porte role="tooltip" et popover="manual".
  • WCAG 1.4.13 (ouvre dans un nouvel onglet)Content on Hover or Focus : le contenu affiché au survol ou au focus doit être persistant, escamotable et consultable au pointeur. : déplacer le pointeur du trigger vers la bulle annule le timer de fermeture ; la bulle reste ouverte tant que le pointeur y séjourne.
  • La touche Escape ferme immédiatement le tooltip sans déplacer le focus.
  • Les animations sont désactivées si prefers-reduced-motion: reduce est actif.

À votre charge

#Lien direct vers cette section
  • Le trigger doit rester accessible sans le tooltip. Le tooltip est une description supplémentaire, pas le seul libellé. Un bouton icône doit toujours porter un aria-label.
  • Les éléments non-interactifs doivent être focusables. Si le trigger est un <abbr>, une <span> ou tout élément sans focus natif, ajoutez tabindex="0" pour que le tooltip soit atteignable au clavier.
  • Le contenu de la bulle doit rester non-interactif. Pour un contenu riche (liens, boutons), utilisez ar-dropdown à la place.
  • Adapter les délais à vos besoins (voir la variante « Délais personnalisés »). Évitez show-delay="0" sur des déclencheurs très proches les uns des autres — des tooltips qui surgissent à chaque micro-survol dégradent l’expérience.

Exemples

#Lien direct vers cette section

Les exemples de cette page sont affichés avec le thème neutre du starter-kit.

Par défaut

#Lien direct vers cette section

Passez l'ID du trigger via `trigger-id`. La bulle s'affiche après `show-delay` ms (300 par défaut) et se masque après `hide-delay` ms (150 par défaut).

Texte d'aide contextuelle
Voir le code
<button id="tt-default" class="ar-btn ar-btn-secondary">Survolez-moi</button>
<ar-tooltip trigger-id="tt-default">Texte d'aide contextuelle</ar-tooltip>

Placement

#Lien direct vers cette section

Toutes les valeurs Floating UI sont supportées — `top`, `bottom`, `left`, `right` et leurs variantes `-start`/`-end`. Le composant bascule automatiquement si l'espace est insuffisant.

Placement top Placement bottom Placement left Placement right
Voir le code
<div style="display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;padding:2rem 0;">
    <button id="tt-top" class="ar-btn ar-btn-secondary">top</button>
    <ar-tooltip trigger-id="tt-top" placement="top">Placement top</ar-tooltip>

    <button id="tt-bottom" class="ar-btn ar-btn-secondary">bottom</button>
    <ar-tooltip trigger-id="tt-bottom" placement="bottom">Placement bottom</ar-tooltip>

    <button id="tt-left" class="ar-btn ar-btn-secondary">left</button>
    <ar-tooltip trigger-id="tt-left" placement="left">Placement left</ar-tooltip>

    <button id="tt-right" class="ar-btn ar-btn-secondary">right</button>
    <ar-tooltip trigger-id="tt-right" placement="right">Placement right</ar-tooltip>
</div>

Sans caret

#Lien direct vers cette section

Ajoutez `without-arrow` pour supprimer le caret directionnel — utile quand le tooltip est suffisamment proche du trigger ou dans un contexte visuel dense.

Tooltip sans caret
Voir le code
<button id="tt-no-arrow" class="ar-btn ar-btn-secondary">Sans caret</button>
<ar-tooltip trigger-id="tt-no-arrow" without-arrow>Tooltip sans caret</ar-tooltip>

Sur une abréviation

#Lien direct vers cette section

Cas d'usage classique — `<abbr>` n'est pas interactif nativement, donc `tabindex="0"` est nécessaire pour que le tooltip soit accessible au clavier.

Le composant suit WCAG 1.4.13 pour garantir la persistance au survol.

Web Content Accessibility Guidelines — critère 1.4.13 : Content on Hover or Focus
Voir le code
<p style="font-size:1rem;">
    Le composant suit
    <abbr id="tt-wcag" tabindex="0" style="cursor:help;text-decoration:underline dotted;">WCAG 1.4.13</abbr>
    pour garantir la persistance au survol.
</p>
<ar-tooltip trigger-id="tt-wcag">Web Content Accessibility Guidelines — critère 1.4.13 : Content on Hover or Focus</ar-tooltip>

Bouton icône

#Lien direct vers cette section

Complète un bouton sans libellé textuel — le tooltip joue le rôle de description visible. Attention, il ne remplace pas un `aria-label` sur le bouton lui-même.

Paramètres du compte
Voir le code
<button id="tt-icon" class="ar-btn ar-btn-secondary" aria-label="Paramètres" style="width:2.5rem;height:2.5rem;padding:0;font-size:1.1rem;">⚙</button>
<ar-tooltip trigger-id="tt-icon">Paramètres du compte</ar-tooltip>

Délais personnalisés

#Lien direct vers cette section

`show-delay` et `hide-delay` contrôlent les temporisations en ms. Valeurs par défaut : 300 ms / 150 ms (conformes WCAG 1.4.13). Ici `show-delay="0"` pour une réponse immédiate.

Apparaît sans délai
Voir le code
<button id="tt-fast" class="ar-btn ar-btn-secondary">Réponse immédiate</button>
<ar-tooltip trigger-id="tt-fast" show-delay="0" hide-delay="0">Apparaît sans délai</ar-tooltip>

Désactivé

#Lien direct vers cette section

L'attribut `disabled` bloque tout déclenchement sans modifier le DOM du trigger. Utile pour désactiver dynamiquement le tooltip selon le contexte.

Ce texte ne s'affichera pas
Voir le code
<button id="tt-disabled" class="ar-btn ar-btn-secondary">Hover (tooltip désactivé)</button>
<ar-tooltip trigger-id="tt-disabled" disabled>Ce texte ne s'affichera pas</ar-tooltip>

Démo interactive

#Lien direct vers cette section

Manipulez les attributs pour voir le code et la preview se mettre à jour.

Texte d'aide contextuelle
<button id="pg-tt-default" class="ar-btn ar-btn-secondary">Survolez-moi</button>
<ar-tooltip trigger-id="pg-tt-default">Texte d'aide contextuelle</ar-tooltip>

Référence API

#Lien direct vers cette section

Import

#Lien direct vers cette section

Si vous utilisez l'autoloader, les composants détectés dans la pages sont chargés automatiquement, donc pas besoin de les importer individuellement.
Pour un import manuel, voici comment vous y prendre.

CDNnpm

Importez ce composant depuis le CDN.

<script type="module" src="https://unpkg.com/@ariane-ui/core/dist/components/tooltip/index.js"></script>

Après avoir installé le paquet via npm, vous pouvez importer le composant ainsi :

import '@ariane-ui/core/dist/components/tooltip/index.js';

Configuration

#Lien direct vers cette section
Attributs et propriétés 6Slots 1Événements 2

Attributs et propriétés

1 sur 6
triggerIdreflètetrigger-id

ID du trigger dans le light DOM. Requis.

Type stringDéfaut ''

2 sur 6
placementreflète

Placement Floating UI (12 valeurs, ex: "top", "bottom-start").

Type 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'Défaut 'top'

3 sur 6
showDelayreflèteshow-delay

Délai avant affichage en ms (WCAG 1.4.13).

Type numberDéfaut 300

4 sur 6
hideDelayreflètehide-delay

Délai avant masquage en ms (WCAG 1.4.13).

Type numberDéfaut 150

5 sur 6
withoutArrowreflètewithout-arrow

Supprime le caret.

Type booleanDéfaut false

6 sur 6
disabledreflète

Désactive complètement le tooltip.

Type booleanDéfaut false

Slots

1 sur 1(default)

Texte du tooltip.

Événements

1 sur 2
ar-tooltip-showndetail : { id: string | undefined }

Émis après l'affichage effectif de la bulle.

2 sur 2
ar-tooltip-hiddendetail : { id: string | undefined }

Émis après le masquage effectif de la bulle.

Personnalisation

#Lien direct vers cette section
CSS Parts 2CSS Custom Properties 10

CSS Parts

Utilisez ::part(name) pour styler ces éléments depuis l'extérieur.
Certaines parts indiquent un rôle transverse, partagé avec d'autres composants — voir Personnalisation avancée.

1 sur 2tooltip

Racine du composant.

2 sur 2arrow

Le caret directionnel.

CSS Custom Properties

1 sur 10--ar-tooltip-bg

Fond de la bulle (repli système `Canvas` si aucun thème n'est chargé).

2 sur 10--ar-tooltip-color

Couleur du texte (repli système `CanvasText` si aucun thème n'est chargé).

3 sur 10--ar-tooltip-radius

Rayon de bordure de la bulle.

4 sur 10--ar-tooltip-padding

Espacement interne de la bulle.

5 sur 10--ar-tooltip-font-size

Taille de police du texte de la bulle.

6 sur 10--ar-tooltip-line-height

Interligne du texte de la bulle.

7 sur 10--ar-tooltip-arrow-size

Taille du caret.

8 sur 10--ar-tooltip-show-duration

Durée de l'animation d'apparition de la bulle (cascade vers --ar-panel-show-duration).

9 sur 10--ar-tooltip-distance

Espacement entre le trigger et la bulle.

10 sur 10--ar-tooltip-offset

Décalage latéral de la bulle. Pas d'events show/hide annulables : un tooltip n'a pas de raison métier de bloquer son affichage (contrairement à un dialog ou un menu), contrairement à ar-dropdown/ar-dialog/ar-breadcrumb.