Alerte sans variant explicite (erreur par défaut), avec titre et corps.
Je suis une alerte par defaut (erreur).
Voir le code
<ar-alert>
<strong>Titre de l'alerte</strong><br>
Je suis une alerte par defaut (erreur).
</ar-alert>Affiche un message important intégré au contenu environnant. À utiliser pour des confirmations, avertissements, erreurs, ou toute information que l'utilisateur ne doit pas manquer.
role="alert" (interruption immédiate) ou role="status" (annonce polie) écrit par le
composant sur l’élément selon variant — error/warning → alert, success/info →
status, tout variant custom non reconnu → status (défaut sûr) — conforme
WCAG 4.1.3 (ouvre dans un nouvel onglet)role : <ar-alert variant="error" role="status">
rend une erreur annoncée poliment.without-notification retire le rôle écrit par le composant : aucune annonce.aria-hidden). L’information de sévérité
est portée par le role, pas par l’icône.error, warning,
success, info). Elle peut être remplacée via le slot icon, mais il est
déconseillé de la supprimer : elle constitue un repère visuel non colorimétrique,
important pour les utilisateurs daltoniens ou en environnement à faible contraste. Un
variant custom non reconnu par le composant n’affiche aucune icône par défaut (un
avertissement en console le rappelle en dev) — fournissez slot="icon" dans ce cas.next-focus) à la fermeture — l’utilisateur
clavier ne se retrouve pas désorienté.error pour les erreurs bloquantes, warning pour
les situations qui méritent attention sans bloquer, success pour les confirmations,
info pour les informations neutres.variant custom. Au-delà des 4 variantes prévues
(error/warning/success/info), tout autre variant doit définir lui-même
--ar-alert-bg, --ar-alert-border et --ar-alert-icon (ex.
ar-alert[variant='promo'] { --ar-alert-bg: ...; }) et fournir une icône via
slot="icon".next-focus obligatoire sur les alertes dismissibles. Un bouton de fermeture sans
destination de focus laisse l’utilisateur clavier sans repère.À la fermeture, ar-alert se retire du DOM (this.remove()) une fois la transition terminée — l’alerte n’est pas simplement masquée, elle disparaît définitivement de la page. Toute référence conservée à l’élément pointe alors vers un noeud détaché ; il n’existe pas de méthode pour la réafficher.
ar-alert-close (detail : { id }, l’attribut id de l’alerte, undefined s’il n’en a pas) est émis à ce moment-là, après la fin de la transition et juste avant le retrait du DOM :
document.querySelector('ar-alert').addEventListener('ar-alert-close', () => {
console.log('Alerte fermée et retirée du DOM');
});
Le bouton de fermeture n’est rendu que si next-focus est défini et non vide (canBeHidden) : sans next-focus, l’alerte n’a pas de bouton de fermeture et reste donc affichée en permanence — c’est voulu, pour éviter de fermer une alerte sans savoir où renvoyer le focus clavier.
Les exemples de cette page sont affichés avec le thème neutre du starter-kit.
Alerte sans variant explicite (erreur par défaut), avec titre et corps.
<ar-alert>
<strong>Titre de l'alerte</strong><br>
Je suis une alerte par defaut (erreur).
</ar-alert>Rendu en mode succès.
<ar-alert variant="success">
<strong>Succès de l'opération</strong><br>
Je suis une alerte de succès.
</ar-alert>Rendu d'une alerte qui peut être fermée. L'ID fourni doit être un élément existant dans la page qui recevra le focus à la fermeture du composant.
<div>
<button style="margin-bottom: 10px" type="button" id="idBoutonFocused">Test focus</button>
<ar-alert next-focus="idBoutonFocused">
<strong>Alerte supprimable</strong><br>
Je suis une alerte qui peut être fermée.
</ar-alert>
</div>Manipulez les attributs pour voir le code et la preview se mettre à jour.
<ar-alert>
<strong>Titre de l'alerte</strong><br>
Je suis une alerte par defaut (erreur).
</ar-alert>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.
Importez ce composant depuis le CDN.
<script type="module" src="https://unpkg.com/@ariane-ui/core/dist/components/alert/index.js"></script>Après avoir installé le paquet via npm, vous pouvez importer le composant ainsi :
import '@ariane-ui/core/dist/components/alert/index.js';ID de l'élément à focus après la fermeture de l'alerte. Quand défini, affiche le bouton de fermeture.
Désactive la notification ARIA lors de l'apparition de l'alerte. Par défaut, les lecteurs d'écran sont notifiés via `role="alert"` ou `role="status"`.
Type d'alerte. Détermine la couleur et l'icône affichées.
Contenu de l'alerte (texte, titre, liens…).
Icône de l'alerte. Remplace l'icône par défaut si fourni.
Icône du bouton de fermeture. Remplace le SVG "×" par défaut.
detail : { id: string | undefined }Émis après la fermeture de l'alerte (fin de transition).
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.
Le conteneur de l'icône de variant.
Le SVG de l'icône de variant par défaut (absent si le slot `icon` est utilisé).
Le conteneur du titre et du contenu.
Le bouton de fermeture (présent uniquement si `next-focus` est défini).
Porté par `close-button` : bouton qui déclenche une action ponctuelle.
Utilisez le sélecteur :state(name) sur le tag pour styler ce composant en fonction de son état.
Composable avec ::part() pour cibler un élément interne (ar-alert:state(name)::part(x)).
Sous Chrome et Edge 125, l'état est exposé avec le préfixe -- (:--name) : voir Compatibilité.
L'alerte est en cours de fermeture (animation de sortie).
Fond de l'alerte.
Bordure de l'alerte.
Couleur de l'icône de variant.
Couleur du texte de l'alerte.
Taille (width/height) du bouton de fermeture.
Durée de la transition (opacity/background-color) du bouton de fermeture au survol/focus.
Durée de la transition de sortie (opacity/transform) à la fermeture.
La langue de ce composant suit l'attribut lang de la page (<html lang>).
Vous pouvez appliquer une langue différente à une instance donnée en posant l'attribut lang directement dessus.
Voir la page Traductions pour le détail du mécanisme et la liste des traductions disponibles.
lang étant un attribut HTML natif, il n'apparaît pas dans le tableau « Attributs & Propriétés ».