Skip to Main Content

Avis

Les avis sont de courts messages qui communiquent des renseignements à l’utilisateur. Ils sont intégrés au corps du texte ou apparaissent sous forme de messages contextuels.

Composant interactif

Il s’agit d’un avis d’information contenant un lien.
Il s’agit d’un avis d’information contenant un lien.
Il s’agit d’un avis de réussite contenant un lien.
Il s’agit d’un avis de réussite contenant un lien.
Il s’agit d’un avis d’avertissement contenant un lien.
Il s’agit d’un avis d’avertissement contenant un lien.
Il s’agit d’un avis d’information rejetée contenant un lien.
Il s’agit d’un avis d’information rejetée contenant un lien.
Il s’agit d’un message contextuel de réussite contenant un lien.
Il s’agit d’un message contextuel de réussite contenant un lien.

Intégration des bibliothèques

Utilisez le code ci-dessous pour ajouter cet élément à votre projet. Téléchargez la dernière version de la bibliothèque pour implémenter facilement notre ensemble complet d’éléments.

Angular

Étape 1. Installer

Effectuer la commande suivante pour installer ce composant.

npm i [NPM-PLACE-HOLDER]/ds-notification
npm i [NPM-PLACE-HOLDER]/ds-toast-notification

Étape 2. Importer

Importer les éléments suivants dans votre dossier app.module.ts.

import { DsNotificationModule } from 'ds-notification';
import { DsToastNotificationModule } from 'ds-toast-notification';

Étape 3. Importer le service de notification dans votre fichier composant.

import { DsNotificationService } from 'ds-notification'; 
import { DsToastNotificationService } from 'ds-toast-notification';

Notifications

Information
<cpc-ds-notification [fade]="true"></cpc-ds-notification>
<button (click)="alertService.info('Information notifications provide non-essential, but helpful information. \<a href class=by-keyboard>View Information</a>', 'The item details have been deleted. \<a href class=by-keyboard>Link</a>', options)">Info</button>
Succès
<cpc-ds-notification [fade]="true"></cpc-ds-notification>
 <button (click)="alertService.success('Success notifications indicate that a user has successfully completed an action.', 'Delivery preference is saved.', options)">Success</button>
Avertissement
<cpc-ds-notification [fade]="true"></cpc-ds-notification>
<button (click)="alertService.warn('Warning notifications provide essential information to prevent users from making an error.', 'The option to make changes is no longer available.', options)">Warning</button>
erreur
<cpc-ds-notification [fade]="true"></cpc-ds-notification>
<button (click)="alertService.warn('Warning notifications provide essential information to prevent users from making an error.', 'The option to make changes is no longer available.', options)">Warning</button> <button (click)="alertService.error('<p>Error notifications tell users what’s required to successfully complete the action they are trying to complete.</p><div class=inline-links><p><a href class=by-keyboard>View Information</a></p><p><a href class=by-keyboard>View Information</a></p><p><a href class=by-keyboard>View Information</a></p></div>', '<p>Error notifications tell users what’s required to successfully complete the action they are trying to complete.</p><div class=inline-links><p><a href class=by-keyboard>View Information</a></p><p><a href class=by-keyboard>View Information</a></p><p><a href class=by-keyboard>View Information</a></p></div>', options)">Error</button>

Notifications de message transitoire

Succès
<cpc-ds-toast-notification class="toastContainer" [fade]="true"></cpc-ds-toast-notification>
<button (click)="toastService.success('Success notifications indicate that a user has successfully completed an action.', 'Success notifications <a href class=by-keyboard>View</a>', optionsToast)">Success</button>
erreur
<cpc-ds-toast-notification class="toastContainer" [fade]="true"></cpc-ds-toast-notification>
<button (click)="toastService.error('Error notifications tell users what’s required to successfully complete the action they are trying to complete.</p><div class=inline-links><p><a href class=by-keyboard>View Information</a></p><p><a href class=by-keyboard>View Information</a></p><p><a href class=by-keyboard>View Information</a></div>', 'Error notifications tell users what’s required to successfully complete the action they are trying to complete. <a href class=by-keyboard>View Information</a>', optionsToast)">Error</button>
Propriétés
Nom Type Défaut Description
id string  

Identifiant du bouton.

class string primary-button by-keyboard

Il y a deux types de boutons : primary-button and secondary-button

body string  

Texte du bouton: for eg: body='button text'

(click) method  

Appeler la méthode.

alertService method  

Appeler la méthode.

Le service d’alerte comporte quatre méthodes : 
   info 
   success 
   warn 
   error 

  Chaque méthode contient deux paramètres :
   Message de la notification 
    Options 

   Voici les options : 
        showCloseButton
        autoClose
        keepAfterRouteChange
        infoAriaLabel
        successAriaLabel
        warningAriaLabel
        errorAriaLabel
showCloseButton boolean   Afficher ou masquer le bouton Close (Fermer) (sauf s’il y a une notification d’erreur). Exemple:-
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 
autoClose boolean   Fermer automatiquement la notification. La notification d’erreur ne se ferme pas automatiquement. Exemple:
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 
keepAfterRouteChange boolean   Continuer d’afficher la notification même si le chemin change. Exemple:
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 
infoAriaLabel boolean   Texte de l’attribut aria-label pour la notification informative. Exemple:
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 
successAriaLabel boolean   Texte de l’attribut aria-label pour la notification de succès. Exemple:
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 
warningAriaLabel boolean   Texte de l’attribut aria-label pour la notification d’avertissement. Exemple:
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 
errorAriaLabel boolean   Texte de l’attribut aria-label pour la notification d’erreur. Exemple:
options = {
        showCloseButton: true;
        autoClose: false,
        keepAfterRouteChange: false,
        infoAriaLabel: 'Note',
        successAriaLabel: 'Success',
        warningAriaLabel: 'Caution',
        errorAriaLabel: 'Error',
    }; 

HTML

Étape 1: Importer CSS

Importer les éléments suivants dans votre thème ou votre page.

<link type="text/css" href="[CSS-PLACE-HOLDER]" rel="stylesheet">

Étape 2: Importer JS

Importer les éléments suivants dans votre thème ou votre page.

<script src="[JS-PLACE-HOLDER]"></script> 

Extraits de code

Notifications de message transitoire

Succès
 <button onclick="createNotification(cssType = 'toast', 
                                            toastType = 'success', 
                                            toastIconAria = 'Success:', 
                                            desktopMessage = 'Delivery preference is saved.', 
                                            mobileMessage = 'Delivery preference is saved.', 
                                            closeButton = true, 
                                            autoClose = true)">Success</button>
Erreur
<button onclick="createNotification(cssType = 'toast', 
                                            toastType = 'error', 
                                            toastIconAria = 'Error:', 
                                            desktopMessage = 'Error notifications tell users what’s required to successfully complete the action they are trying to complete.', 
                                            mobileMessage = 'Error notifications tell users what’s required to successfully complete the action they are trying to complete.', 
                                            closeButton = true, 
                                            autoClose = false)">Error</button>

Notifications avec bouton Close (Fermer)

Information
<button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'info', 
                                            toastIconAria = 'Note:', 
                                            desktopMessage = 'Information notifications provide non-essential, but helpful information. <a href=\'#\' class=\'by-keyboard\'>View more</a>', 
                                            mobileMessage = 'The item details have been deleted.', 
                                            closeButton = true, 
                                            autoClose = false)">Info</button>
Succès
 <button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'success', 
                                            toastIconAria = 'Success:', 
                                            desktopMessage = 'Success notifications indicate that a user has successfully completed an action.', 
                                            mobileMessage = 'Delivery preference is saved.', 
                                            closeButton = true, 
                                            autoClose = false)">Success</button>
Avertissement
 <button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'warning', 
                                            toastIconAria = 'Caution:', 
                                            desktopMessage = 'Warning notifications provide essential information to prevent users from making an error.', 
                                            mobileMessage = 'The option to make changes is no longer available.', 
                                            closeButton = true, 
                                            autoClose = false)">Warning</button>
Erreur
<button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'error', 
                                            toastIconAria = 'Error:', 
                                            desktopMessage = 'Error notifications tell users what’s required to successfully complete the action they are trying to complete.<div class=\'inline-links\'><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p></div>', 
                                            mobileMessage = 'Error notifications tell users what’s required to successfully complete the action they are trying to complete.<div class=\'inline-links\'><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p></div>', 
                                            closeButton = false, 
                                            autoClose = false)">Error</button>

Notifications sans bouton Close (Fermer)

Information
<button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'info', 
                                            toastIconAria = 'Note:', 
                                            desktopMessage = 'Information notifications provide non-essential, but helpful information. <a href=\'#\' class=\'by-keyboard\'>View more</a>', 
                                            mobileMessage = 'The item details have been deleted.', 
                                            closeButton = false, 
                                            autoClose = false)">Info</button>
Succès
<button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'success', 
                                            toastIconAria = 'Success:', 
                                            desktopMessage = 'Success notifications indicate that a user has successfully completed an action.', 
                                            mobileMessage = 'Delivery preference is saved.', 
                                            closeButton = false, 
                                            autoClose = false)">Success</button>
Avertissement
<button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'warning', 
                                            toastIconAria = 'Caution:', 
                                            desktopMessage = 'Warning notifications provide essential information to prevent users from making an error.', 
                                            mobileMessage = 'The option to make changes is no longer available.', 
                                            closeButton = false, 
                                            autoClose = false)">Warning</button>
Erreur
<button onclick="createNotification(cssType = 'notification', 
                                            toastType = 'error', 
                                            toastIconAria = 'Error:', 
                                            desktopMessage = 'Error notifications tell users what’s required to successfully complete the action they are trying to complete.</p><div class=\'inline-links\'><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p></div>', 
                                            mobileMessage = 'Error notifications tell users what’s required to successfully complete the action they are trying to complete.</p><div class=\'inline-links\'><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p><p><a href=\'#\' class=\'by-keyboard\'>View more</a></p></div>', 
                                            closeButton = false, 
                                            autoClose = false)">Error</button>

Exemples de codes

Section de base

Veuillez noter que ce composant pourrait nécessiter un élément de style supplémentaire.

Angulaire

Please use Télécharger les fichiers for complete set of files.

Interaction

Les avis permettent à l’utilisateur d’être informé des erreurs, des succès, des alertes et de l’information contextuelle avec un minimum de distraction, tout en le gardant sur la page.

Les avis peuvent avoir les états suivants :
  1. Avis de réussite : Cela informe l’utilisateur qu’il a terminé avec succès une tâche.
  2. Avis d’erreur : Cela informe l’utilisateur qu’une erreur s’est produite et qu’il ne peut pas terminer la tâche.
  3. Avis d’alerte : Cela informe l’utilisateur d’un état important qui peut avoir une incidence sur sa capacité à accomplir une tâche ou divulgue l’état du système.
  4. Avis neutre ou d’information : Cela donne à l’utilisateur de l’information supplémentaire ou lui permet de connaître l’état du système.
Les avis peuvent être persistants, temporaires ou rejetés par l’utilisateur.
  1. Les avis persistants restent sur la page jusqu’à ce que les conditions pertinentes soient respectées. Par exemple, un message d’erreur global qui ne peut pas être rejeté par l’utilisateur.
  2. Les avis temporaires restent sur la page pour une période de temps prédéterminée. Par exemple, une confirmation d’action.
  3. Un avis pouvant être rejeté par l’utilisateur reste sur la page jusqu’à ce que l’utilisateur choisisse de le masquer. Par exemple, une alerte globale qui indique à l’utilisateur qu’un service n’est pas disponible.

Structure

Les avis doivent contenir les renseignements suivants :
  • Le contenu communiquant l’erreur, les étapes suivantes, le message de succès, l’alerte ou l’information contextuelle.
  • L’icône appropriée associée au contexte de l’avis.
  • La couleur d’arrière-plan appropriée qui se rapporte au contexte et capte facilement l’attention de l’utilisateur.

Lignes directrices générales

Rédigez des avis en utilisant un langage clair et simple. Ils doivent comprendre du contenu qui communique de l’information, un message de réussite, une alerte ou une erreur.

  Lignes directrices Exemples
Longueur recommandée Jusqu’à 20 mots Vous avez validé votre identité à Postes Canada avec succès.
Saut de ligne Réduire au minimum Les services seront inaccessibles du 14 juill., 21 h au 15 juill., 9 h HE.
Formulation Phrases complètes Vous êtes déjà inscrit à FlexiLivraison, mais vous n'avez pas validé votre identité. Vous devez faire vérifier votre identité avant de pouvoir utiliser FlexiLivraison.
Majuscule Majuscule en début de phrase, avec point Vous avez ajouté une carte de crédit à votre profil.

À faire et à ne pas faire

Contexte

Expliquez la situation du point de vue de l’utilisateur. Mettez l’accent sur le problème et non sur la raison pour laquelle les utilisateurs voient l’avis.

  • Cet outil est verrouillé. Vous devrez ouvrir une session dans votre compte d’entreprise pour accéder à vos outils.
  • Le serveur du système ne permet pas le chargement de la page.

Messages d’erreur

Les messages d’erreur devraient s’afficher uniquement lorsque nécessaire. Ces avis doivent être utiles, pertinents, exempts de jargon et conviviaux.

  • Le numéro de repérage est introuvable.

Questions d’accessibilité

Texte de remplacement pour la fermeture

L'icône de fermeture indique à l’utilisateur de fermer l’avis. Écrivez un texte de remplacement pour le symbole X.

Icône de fermeture « X »

  • Fermer

Texte de remplacement pour les icônes

Les avis contiennent une icône appropriée qui se rapporte au contexte. Appliquez le texte de remplacement qui décrit la fonction de l’avis.

Icône d’information « i »

  • Renseignements supplémentaires
 

Icône de réussite « ✔ »

  • C’est réussi!
 

Icône du triangle d’alerte « ! »

  • Avis
 

Icône d’erreur « ! »

  • Important

Lignes directrices

Halo de saisie

Les avis n’ont pas leur propre halo de saisie. Les commandes interactives à l’intérieur du corps de l’avis sont dotées d’un contour de mise en évidence bien visible lorsqu’elles sont en état de survol ou de mise en évidence.

Interaction avec le clavier

L’avis lui-même n’est pas interactif. Les éléments interactifs à l’intérieur de l’avis se trouvent dans la hiérarchisation des onglets de page.

Les liens ou les boutons à l’intérieur de l’avis ou du message contextuel suivent leurs interactions clavier respectives.

Assurez-vous que l’avis ou le message contextuel se trouve immédiatement à côté de l’élément déclencheur de la commande DOM afin qu’un utilisateur de clavier ou de lecteur d’écran puisse facilement interagir avec lui.

Propriétés ARIA

Les avis ou les messages contextuels peuvent avoir les propriétés ARIA suivantes :

  • Le rôle du « status » et l’attribut aria-live sont réglés à « polite » pour les renseignements, les avertissements et les types de réussite.
  • Rôle de l’« alert » et de l’attribut aria-live réglé à « assertive » pour le type d’erreur.

Paramètres de préférence de l’animation

Les utilisateurs peuvent désactiver l’animation d’un avis dans un système d’exploitation ou un navigateur. Il est important de respecter leur choix et de ne pas utiliser les animations pour les avis lorsque les utilisateurs les ont désactivées.

La propriété CSS prefers-reduced-motion peut nous indiquer si l’utilisateur a choisi d’éteindre les animations lorsque leur valeur est « réduire ». Dans de tels cas, l’animation de survol et l’animation volante devraient être désactivées.

Test

Au moment de tester un avis, le testeur doit s’assurer de ce qui suit :

  • L’avis est entièrement accessible au moyen du clavier.
  • Le rôle et les propriétés aria-live sont établis en fonction du type d’avis.
  • Lorsqu’il est possible d’intervenir sur l’avis, l’utilisateur peut interagir après avoir cliqué sur la touche Next après l’élément déclencheur.
  • Le lecteur d’écran annonce le rôle, le type et le contenu de l’avis.

Contenu connexe