Interface utilisateur

Voici quelques bonnes pratiques à garder à l'esprit lors du développement des interfaces utilisateurs.

Rétroaction

L'interface doit fournir une rétroaction à l'utilisateur comment par exemple : un indicateur de chargement, une demande de confirmation, un message d'erreur, etc.

Demande de confirmation

Toujours demander à l'utilisateur de confirmer une opération sensible. Exemples d'opérations sensibles :

Utilisation de confirm
Il faut éviter l'utilisation de l'instruction JavaScript confirm pour faire une demande de confirmation. Ce n'est pas recommandée pour les raisons suivantes : problème d'accessibilité et apparence non conforme au reste du site. Il est préférable d'utiliser une boîte de dialogue personnalisée.

Indicateur de chargement

Si un temps d'attente est nécessaire, l'utilisateur doit en être informé avec par exemple, un indicateur de chargement ou une barre de progression. La plupart du temps, l'attente est due à des opérations asynchrones (communication avec un service d'échange, téléchargement, lecture d'un fichier, etc.).

Informer l'utilisateur

Il est pertinent d'informer l'utilisateur d'une opération réussie (ou non).

Exemples d'opérations réussies :

Exemples d'opérations non réussies :

Utilisation de alert

Il faut éviter l'utilisation de l'instruction JavaScript alert pour informer l'utilisateur. Ce n'est pas recommandée pour les raisons suivantes : mauvaise expérience utilisateur, problème d'accessibilité et apparence non conforme au reste du site. Une alternative par exemple est l'affichage de notifications.

Affichage des exceptions

Toujours informer l'utilisateur lorsqu'une exception se produit. Exemples d'exceptions :

Convivialité

La convivialité (ou l'ergonomie) d'une interface se réfère à la facilité d'utilisation et à la qualité de l'expérience utilisateur. Une interface conviviale doit :

Éléments de l'interface

Voici quelques ergonomies à garder à l'esprit lors du développement d'éléments de l'interface.

Les listes

Par défaut, les éléments d'une liste doivent toujours être affichés en ordre croissant.

Recherche

Par défaut, une recherche par mot clé devrait :

La navigation entre les pages doit être pertinente et logique. Exemples :

Couleurs

Exemple de contraste optimal :
interface-oui

Exemple de contraste à éviter :
interface-non

Ressources

Un bon point de départ pour trouver plus d'information : https://m3.material.io/