Passer au contenu principal

Table

Utilisation​

Présentation​

Le compopsant table est un composant utilisé pour afficher et manipuler des ensembles de données complexes et volumineux dans un format facile à lire et à analyser. Les tables organisent les informations en lignes et en colonnes, ce qui permet aux utilisateurs de comparer les données, d’identifier des modèles et d’agir.

Quand l'utiliser​

  • Pour présenter des données complexes qui nécessitent une organisation et une structure claires.
  • Lorsque l’ordre dans lequel les données sont présentées est important et que les utilisateurs ont besoin de contrôler le tri.
  • Lorsque les utilisateurs ont besoin de comparer des données de même type sur différents éléments.

Quand ne pas l'utiliser​

  • Lorsque l'ordre de présentation des données n'est pas aussi important que les données elles-mêmes. Utilisez plutôt des vues Fiche ou des vues Liste.
  • Lorsque le cas d’utilisation ne nécessite pas de comparaison directe des données. Utilisez plutôt des vues Fiche ou des vues Liste.
  • Lorsque vous traitez de petites quantités de données qui risqueraient de générer une quantité d'espace blanc excessive. Dans ce cas, envisagez plutôt d’utiliser une ](./card-view-pattern-overview.mdx)vue Fiche[ ou une vue Liste.

Formatage​

Structure​

Structure du composant de table avec des légendes numérotées pour le titre, les contrôles, les actions, les en-têtes, les lignes et la pagination.

Le composant Table se compose des éléments suivants :

  1. Titre et sous-titre : en-tête décrivant le contenu de la table.
  2. Commandes de la table : un ensemble de commandes permettant de manipuler l’affichage des données, tels que la recherche et les filtres.
  3. Actions de la table : ensemble de boutons qui exécutent une opération sur l’ensemble de données de la table, comme l’ajout d’un nouvel enregistrement ou l’exportation de données.
  4. En-têtes de colonne : étiquettes pour chaque colonne qui identifient le type de données. Les en-têtes peuvent également inclure le tri et d’autres actions.
  5. Lignes de données : ensemble complet de cellules représentant un élément ou un enregistrement unique. Les lignes peuvent inclure des commandes de sélection (cases à cocher) et des icônes de développement.
  6. Actions relatives aux lignes : ensemble d’actions dans la dernière colonne qu’un utilisateur peut effectuer sur une ligne individuelle.
  7. Pagination : commandes qui permettent aux utilisateurs de naviguer entre les pages de données et d’ajuster le nombre de lignes affichées par page.

Alignement et placement​

Par défaut, les colonnes se réduisent pour s’adapter à leur contenu, à l’exception de la dernière colonne, qui se développe pour remplir l’espace disponible restant. Cela préserve la capacité à parcourir les informations.

Si une table comporte des actions de ligne, elles doivent être placées dans cette dernière colonne.

Contenu​

Directives générales relatives à la rédaction​

  • Mettez une majuscule en début de phrase pour tous les aspects relatifs à la conception des interfaces de produit Guidewire. Ne mettez pas la 1re lettre du 1er mot du titre en majuscule.
  • Utilisez des verbes au présent et la forme active dans la plupart des cas.
  • Utilisez des contractions courantes pour donner à votre texte un ton plus naturel et informel.
  • Utilisez un langage simple. Évitez tout jargon inutile et les formulations complexes.
  • Utilisez des termes et des phrases concis.

Veiller à la concision du contenu des cellules​

Veillez à ce que le contenu d’une cellule de table ne contienne pas plus de 50 caractères afin d’en garantir la lisibilité. Pour un contenu plus long, le composant gère le dépassement avec les règles spécifiques suivantes :

  • Le texte compris entre 81 et 159 caractères est renvoyé sur une ou plusieurs lignes.
  • Le texte de 160 caractères ou plus est tronqué par des points de suspension (…), le texte complet s’affichant dans une infobulle lorsque l’utilisateur la survole.
  • Les données numériques doivent toujours être entièrement visibles et ne doivent inclure aucun retour à la ligne ni être tronquées.
  • Les autres formats de données s'ajustent automatiquement, si nécessaire.

Rédiger des en-têtes de colonne clairs​

Les en-têtes doivent être courts, descriptifs et présentés avec une majuscule initiale.

  • Limitez les en-têtes à un ou deux mots. Cela améliore la capacité de numérisation et garantit la lisibilité des données de la table.
  • Commencez les en-têtes par un nom dans la mesure du possible. Les en-têtes sont des étiquettes pour les données de la colonne. L’utilisation d’un substantif (par exemple, Nom, Statut, Date de création) est la façon la plus claire de décrire ces données.

Formater les nombres de manière cohérente​

Lorsque vous écrivez en anglais américain, utilisez une virgule comme séparateur des milliers dans les nombres d'au moins quatre chiffres. N’utilisez pas de virgules dans les années (sauf s’il s’agit de cinq chiffres ou plus), les numéros de page, les adresses ni en guise de séparateur décimal.

Pour les autres paramètres régionaux, suivez les directives de localisation établies pour le formatage des nombres.

Privilégier la clarté dans les états vides​

Rédigez des messages directs et utiles qui expliquent pourquoi la table est vide et, si possible, ce que l’utilisateur peut faire ensuite.

Comportements​

États​

Une table peut comporter plusieurs états pour communiquer le statut des données.

  • Chargement : lorsque des données sont extraites, le corps de la table affiche un indicateur de chargement avec le texte « Chargement des données… ».
  • Vide : lorsqu’une table ne contient aucune donnée, elle affiche un état vide. Le message doit être utile et un bouton d’action est fortement recommandé pour guider l’utilisateur. Par exemple, lors de la conception d'un état « Aucun résultat de recherche », affichez un bouton Effacer les filtres si les filtres sont actifs. Le type de bouton (primaire, secondaire et tertiaire) peut être configuré en fonction du cas d’utilisation spécifique.
  • Erreur : si les données ne se chargent pas en raison d’une erreur système (comme une perte de connexion Internet), l’état vide doit indiquer le problème et proposer une action de récupération, telle qu’un bouton Actualiser.
  • États des lignes : les lignes peuvent présenter plusieurs états dont « par défaut », « sélectionné » (mis en évidence) ou « développé ».

Interactions​

  • Tri : les utilisateurs peuvent cliquer sur un en-tête de colonne pour trier les données de table sur la base de cette colonne. Une icône directionnelle dans l’en-tête indique l’ordre de tri actuel.
  • Sélection : les utilisateurs peuvent sélectionner une ou plusieurs lignes à l’aide des cases à cocher de la première colonne. Une case à cocher dans l’en-tête permet aux utilisateurs de sélectionner ou de désélectionner toutes les lignes visibles. Lorsque des lignes sont sélectionnées, une barre de sélection contextuelle peut apparaître en haut de la table.
  • Lignes en développement : si une ligne peut être développée, les utilisateurs peuvent cliquer sur l’icône en forme de chevron pour afficher des informations connexes supplémentaires directement sous la ligne.
  • Actions relatives aux lignes : les utilisateurs effectuent des actions sur une seule ligne à l’aide des commandes de la dernière colonne. Affichez jusqu’à deux actions d’icône principale ; placez toutes les actions supplémentaires dans un menu présentant des points de suspension (…).
  • Pagination : les utilisateurs peuvent naviguer entre les pages de données à l’aide des contrôles de pagination situés en bas de la table.

Réactivité et adaptabilité​

Le composant Table est entièrement réactif. Toutefois, dans les cas d’utilisation orientés mobile, une vue Fiche offre souvent une meilleure expérience utilisateur qu’une table à plusieurs colonnes traditionnelle.

Accessibilité​

Ce composant a été validé pour répondre aux directives d’accessibilité WCAG 2.2 AA dans sa configuration de base par défaut. Il s’agit notamment de s’assurer que :

  • Le rapport de contraste des éléments textuels par rapport à leur arrière-plan est supérieur à 4.5:1.
  • Le contenu non textuel qui doit transmettre le sens (comme les icônes et les indicateurs de focus) a un rapport de contraste d’au moins 3:1 avec ses couleurs adjacentes.
  • Cet élément peut être utilisé à l’aide d’un clavier et d’une souris.
  • Le contenu est accessible à l’aide de lecteurs d’écran, tels que JAWS et VoiceOver.

La conformité de l’accessibilité dépend en définitive de la façon dont ce composant est implémenté et personnalisé. Les modifications apportées par l’auteur du contenu peuvent affecter l’accessibilité. Pour en savoir plus sur notre modèle de responsabilité partagée, consultez notre Déclaration d’accessibilité Jutro complète.

Lorsque vous utilisez ce composant dans vos applications, assurez-vous des points suivants :

  • Un titre descriptif est fourni. Un titre, utilisant idéalement l’élément <caption>, aide les utilisateurs équipés de lecteurs d’écran à comprendre l’objectif de la table avant de commencer à parcourir les données.
  • Les en-têtes de colonne sont correctement définis. Les en-têtes doivent être correctement structurés (à l’aide de <th> avec un attribut scope="col") afin que les lecteurs d’écran puissent annoncer l’en-tête correct pour chaque cellule de données lorsqu'un utilisateur les parcourt.
  • Tous les éléments interactifs sont accessibles. Tous les contrôles de la table, tels que les boutons ou les liens, doivent avoir un nom clair et accessible. Pour les boutons avec icône uniquement, cela nécessite de fournir un élément aria-label descriptif (par exemple, aria-label="Delete item").
  • Le statut de tri en cours est annoncé. Lorsqu’une colonne est triée, son en-tête doit communiquer le sens (ascendant ou descendant) aux lecteurs d’écran, généralement à l’aide de l’attribut aria-sort.
  • Le chargement en cours du contenu est indiqué. Définissez l’attribut aria-busy="true" sur la table lorsque son contenu est en cours de chargement ou de mise à jour.

Navigation au clavier​

La table permet une navigation entièrement au clavier sur la base du modèle de grille.

  • Touches fléchées : permettent de passer aux cellules adjacentes.

    • ← (Flèche gauche) : passer à la cellule précédente de la ligne actuelle.
    • → (Flèche droite) : passer à la cellule suivante de la ligne actuelle.
    • ↑ (Flèche haut) : accéder à la cellule au-dessus dans la même colonne.
    • ↓ (Flèche bas) : accéder à la cellule au-dessous dans la même colonne.
  • Navigation par onglet : navigation séquentielle dans la table.

    • Tab : passer à l’élément activable suivant.
    • Shift + Tab : passer à l’élément activable précédent.
  • Navigation par page : navigation rapide pour les grandes tables.

    • Page Up : passer à la première ligne de la colonne actuelle.
    • Page Down : passer à la dernière ligne de la colonne actuelle.
  • Navigation par limite : permet d’accéder aux limites des tables.

    • Home : passer à la première cellule de la ligne en cours.
    • Ctrl + Home : passer à la première cellule de la table (en haut à gauche).
    • End : passer à la dernière cellule de la ligne en cours.
    • Ctrl + End : passer à la dernière cellule de la table (en bas à droite).

Prise en charge du contenu interactif​

Le système de navigation au clavier gère intelligemment les cellules contenant des éléments interactifs :

  • Boutons et liens : les éléments interactifs, tels que les boutons de tri ou les actions de ligne, restent accessibles dans les cellules à la fois par la navigation par onglet standard et par les flèches. Lors de l’utilisation de la navigation à l’aide des flèches, si une cellule contient un élément interactif, tel qu’un champ de saisie, un bouton ou un lien, dont la valeur tabindex est supérieure à -1, le focus se déplace jusqu'à cet élément plutôt que de rester sur la cellule. Si la cellule contient plusieurs éléments interactifs, le focus se positionne sur le premier.
  • Contenu focalisable personnalisé : tout élément associé à un attribut tabindex est correctement intégré dans le flux de navigation.
  • Entrées de formulaire : lorsqu’une cellule contient des champs de saisie, des éléments textarea ou d’autres éléments form modifiables, la navigation respecte leur mode d’édition, ce qui signifie que lorsque le focus est sur un élément de ce type, les touches fléchées fonctionnent comme prévu pour la navigation au sein de l'élément. Pour vous éloigner de l’élément , utilisez Tab ou Shift + Tab.

Gestion du focus​

La table utilise des techniques avancées de gestion du focus :

  • Modèle de gestion dynamique du focus avec l'attribut tabindex : vous ne pouvez activer qu’une seule cellule à la fois dans la table, ce qui réduit le nombre de taquets de tabulation et améliore l’efficacité de la navigation.
  • Reconnaissance des limites : les touches de navigation respectent les limites de la table et ne déplacent pas le focus en dehors de la grille de la table.
  • Indicateurs de focus visuel : un retour visuel clair indique quelle cellule est actuellement mise en évidence.

Pour que la gestion du focus fonctionne correctement, assurez-vous que les propriétés rowIndex et columnIndex sont correctement définies pour le composant BodyCell et que la propriété columnIndex est correctement définie pour le composant HeaderCell. Consultez les cahiers des charge des composants pour obtenir en savoir plus.