Alsacreations.com - Apprendre - Archives (juillet 2025)

Les dernières ressources publiées sur Alsacreations.com

Le: 28 07 2025 à 14:37 Auteur: Raphael

Spatzi est un outil en ligne interactif conçu pour aider les designers et développeurs à créer des palettes de couleurs accessibles.

Il permet de vérifier les ratios de contraste selon les normes WCAG (Web Content Accessibility Guidelines) et APCA (Accessible Perceptual Contrast Algorithm), et d'explorer des variations de couleurs en utilisant l'espace colorimétrique OKLCH (Luminance, Chroma, Hue).

Fonctionnalités principales

  • ℹ️ Informations d'accessibilité : obtenez les taux de contraste entre la couleur de fond et la couleur de texte selon les normes WCAG 2.1 et APCA.
  • 🎨 Aperçu en direct : visualisation directe du rendu texte/fond selon les combinaisons choisies.
  • 👁️ Exemples d'application en temps réel : une démonstration (recette de cuisine) montre comment vos couleurs s'appliquent sur du texte de différentes tailles et des éléments graphiques, avec des indicateurs visuels de conformité (✅/❌).
  • 🎯 Couleur proche accessible : trouve automatiquement la couleur la plus proche qui respecte les seuils d'accessibilité WCAG (4.5:1) ou APCA (60) selon le mode sélectionné
  • ⚖️ Guides d’accessibilité intégrés : indications sur les seuils requis pour AA, AAA ou APCA lisibilité renforcée.
  • ↔️ Échange de couleurs : bouton de permutation pour échanger instantanément la couleur de fond et la couleur de texte.
  • 🧽 Réinitialiser : remet les couleurs à leurs valeurs par défaut
  • ⚠️ Un avertissement "(sRGB la plus proche)" apparaît si une couleur OKLCH choisie ou générée est en dehors du champ sRGB. La valeur HEX affichée correspond alors à la couleur sRGB la plus proche.

Le taux de contraste affiché est de 4.72:1

👀 Pour qui ?

Cet outil est destiné à toute personne travaillant dans le Web et concernée par l'accessibilité de ses interfaces :

  • Designers UX/UI soucieux de l’accessibilité.
  • Développeurs front-end cherchant à valider ou ajuster leurs combinaisons de couleurs.
  • Formateurs en accessibilité numérique.

Comment utiliser cet outil ?

  • Sélectionnez vos couleurs de base : Sélectionnez une couleur de fond et une couleur de texte à l'aide des sélecteurs de couleur ou en saisissant directement les valeurs (formats acceptés : mots-clés CSS, OKLCH, HEX, RGB, HSL)
  • Observez la boîte de couleur : Vérifiez les informations de couleur et les ratios de contraste.
  • Explorez les variations : Utilisez les curseurs L, C, H pour modifier la couleur de fond (ou de texte).
  • Utilisez les boutons d'action :
    • Réinitialiser pour revenir aux couleurs par défaut
    • Couleur proche accessible pour optimiser automatiquement l'accessibilité
  • Basculez entre WCAG et APCA : Utilisez le commutateur pour évaluer vos couleurs selon différentes normes d'accessibilité.

Indicateurs de seuils de contrastes minimum

Pourquoi OKLCH ?

L'espace colorimétrique OKLCH offre plusieurs avantages :

  • Gamut étendu : Représente une plus large gamme de couleurs que sRGB.
  • Perception uniforme : Basé sur la manière dont l'œil humain perçoit les couleurs.
  • Manipulation intuitive : Les paramètres de teinte, luminosité et saturation sont plus intuitifs.
  • Meilleure préservation de la teinte : Lors des transitions ou des dégradés.
  • Contrôle précis du contraste : Le composant de luminosité (L) correspond directement à la luminosité perçue.

Pour en savoir plus sur le support navigateur et les avantages d'OKLCH, consultez Can I use OKLCH? et l'article OKLCH in CSS: why we moved from RGB and HSL.

Ce projet open-source est développé avec ❤️ par Alsacréations.

Publié par Alsacreations.com

Le: 23 07 2025 à 14:37 Auteur: Raphael

CSS, bien qu'il ne soit qu'un langage de présentation, peut parfois impacter l'expérience utilisateur des personnes utilisant des technologies d'assistance. Ironiquement, certaines propriétés CSS, conçues pour simplifier la mise en page et son accessibilité, peuvent conduire… à engendrer des soucis d'accessibilité.

Cet article passe en revue certaines propriétés CSS pouvant poser ce type de problèmes, les mécanismes sous-jacents, et surtout, comment les contourner efficacement.

On ne traitera pas des cas basiques comme l'absence de contraste, les polices illisibles, ou les problèmes de focus. Ici, on se concentre sur des pièges plus subtils liés à l'utilisation de certaines propriétés CSS spécifiques, à savoir display et list-style.

display sur les éléments de tableau

L'application de la propriété display sur les éléments de tableau (<table>, <tr>, <td>, <th>) offre une flexibilité de mise en page extraordinaire, mais peut également entraîner des problèmes d'accessibilité majeurs en modifiant leur sémantique sur Safari / VoiceOver, rendant les tableaux inaccessibles. Cela concerne particulièrement les declarations display: block, display: flex, et display: grid.

À savoir qu'il ne s'agit pas d'un bug, mais d'un choix de Webkit qui préconise l'utilisation de l'attribut ARIA `role` dans ce cas de figure.

/* ❌ Safari ne reconnaît plus la rangée dans son arbre d'accessibilité */
tr {
  display: grid;
}

Solution :

/* ✅ OK si la rangée a un rôle ARIA explicite (ici "row") */
tr[role="row"] {
  display: grid;
}

En HTML :

<!-- ✅ Bonne pratique -->
<table>
  …
  <tr role="row">
    <td>Donnée</td>
  </tr>
  …
</table>

list-style: none sur les listes

L'utilisation de list-style: none pour supprimer les puces des listes est une pratique courante en CSS.

Cependant, cette approche peut avoir des conséquences inattendues sur l'accessibilité, particulièrement dans Safari : quand list-style: none est appliqué, il supprime également la sémantique de liste de l'arbre d'accessibilité. VoiceOver ne reconnaît plus l'élément comme une liste, privant l'utilisateur d'informations contextuelles importantes.

/* ❌ Safari supprime la fonction de liste */
ul {
  list-style: none;
}

Solution :

/* ✅ Uniquement si la liste a un rôle ARIA explicite */
ul[role="list"] {
  list-style: none;
}

En HTML :

<!-- ✅ Bonne pratique -->
<ul role="list">
  <li>Élément de liste</li>
  <li>Autre élément</li>
</ul>

display: contents

La propriété display: contents est l'une des sources les plus pernicieuses de problèmes d'accessibilité. Elle retire l'élément de l'arbre de rendu tout en conservant ses enfants, ce qui peut se révéler extrêmement pratique pour les layouts complexes ou enchevêtrés (Bootstrap, si tu nous entends…).

Cependant, son utilisation sur des éléments sémantiques comme les boutons, les tableaux, les titres ou les listes entraîne une perte totale de la sémantique et de l'interaction pour les utilisateurs de technologies d'assistance.

/* ❌ Danger : supprime la sémantique du bouton */
button {
  display: contents;
}

L'impact :

  • Les boutons et divers éléments de formulaire deviennent inopérants au clavier
  • Les tableaux perdent leur structure logique
  • Les titres et les listes ne sont plus reconnus comme tels

Solution :

/* ✅ Utiliser display: contents uniquement sur des éléments non-sémantiques */
.wrapper {
  display: contents; /* OK sur une div */
}

Checklist avant déploiement

Avant de déployer votre projet, voici une checklist rapide pour garantir l'accessibilité pouvant être impactée par les styles CSS :

  1. Tableaux : Vérifiez que display: flex/grid sur des éléments tabulaires (<table>, <tr>, <td>) n'est pas utilisé sans un rôle ARIA explicite
  2. Listes : Assurez-vous que list-style: none est accompagné de role="list"
  3. Boutons et formulaires : Évitez display: contents sur les éléments interactifs

Mini Reset CSS spécial "accessibilité"

Un reset CSS est souvent utilisé pour uniformiser les styles de base entre les navigateurs. Cependant, il est crucial de s'assurer que ces resets ne compromettent pas l'accessibilité. Voici quelques bonnes pratiques à caser pour un reset CSS accessible :

/* Reset CSS accessible */

/* Hauteur de ligne minimale pour les contenus */
body {
  line-height: 1.5;
}

/* Hauteur de ligne réduite pour les éléments interactifs */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Améliore la lisibilité des liens */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Supprime les styles de liste uniquement si role="list" est explicite */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Masquage du contenu visuellement tout en le gardant accessible aux technologies d'assistance. */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}

/* Désactivation des animations pour les utilisateurs sensibles */
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
  }
}

Si vous voulez découvrir le fichier "Reset" employé chez Alsacréations, n'hésitez pas à vous rendre sur notre mini-projet reset.alsacreations.com qui décrit en détail la composition et l'usage de ce fichier chez nous.

Conclusion

L'accessibilité en CSS n'est pas qu'une question de bonnes intentions, c'est un domaine technique qui nécessite — notamment — une compréhension approfondie des interactions entre les propriétés CSS et les technologies d'assistance. Les propriétés ou valeurs modernes comme display: contents, bien qu'utiles, peuvent créer des barrières d'accessibilité si elles ne sont pas utilisées avec précaution.

La règle d'or : testez toujours avec de vraies technologies d'assistance, et gardez en tête que ce qui fonctionne visuellement peut être complètement cassé pour un utilisateur de lecteur d'écran.

Ressources complémentaires

Publié par Alsacreations.com

Le: 09 07 2025 à 14:37 Auteur: Lisa

L’évolution des outils de design UX (User eXperience) ces dernières années a transformé nos manières de concevoir les interfaces. Et s’il y a bien un acteur qui reste incontournable dans notre quotidien de designer d’interface et d'expérience utilisateur, c’est Figma. Avec l’arrivée progressive de l’intelligence artificielle (IA), l’outil prend une toute nouvelle dimension : plus intelligent, plus rapide, plus collaboratif. Mais encore faut-il savoir comment bien l'utiliser, pour gagner du temps sans sacrifier la qualité, et surtout sans oublier l’accessibilité numérique, qui doit rester au cœur de nos démarches.

IA native dans Figma : quelles sont les nouvelles capacités intégrées ?

Figma ne se contente plus d’être un outil de maquettage. C’est un environnement complet de design collaboratif : bibliothèques partagées, variables globales, prototypage interactif, commentaires intégrés, et désormais… des fonctionnalités IA natives intégrées à l’outil.

Actuellement en bêta progressive (2024–2025), l’IA native de Figma est en train d’être déployée. Pour y accéder, il faut être sur un plan payant (Figma Professional ou Enterprise).

Voici les fonctionnalités IA les plus utiles en UX/UI :

  • Renommage automatique intelligent
    Figma peut désormais renommer les frames, groupes et calques automatiquement selon leur contenu ou leur fonction supposée. Un vrai gain de temps dans l’organisation des fichiers, surtout dans les gros projets ou les design systems.
  • “Shorten” pour simplifier les textes
    Figma IA propose une version plus concise d’un texte tout en gardant le sens. Idéal pour ajuster des articles un peu trop longs, ou des CTA dans des contraintes d’espace.

  • “Translate to…” pour la traduction automatique
    Figma translate peut désormais traduire un texte dans une autre langue directement depuis Figma : un clic droit > Translate to [langue]. C’est parfait pour : Préparer des maquettes multilingues, Tester le design avec des textes plus longs (allemand, finnois…) ou plus courts (anglais, japonais).

  • Suppression de fond d’image
    Plus besoin de passer par un outil externe : Figma IA permet d’effacer l’arrière-plan d’une image automatiquement, via un clic droit sur l’image > Remove Background.

  • Image Generator
    Il est possible de générer une image à partir d’un mot-clé avec le générateur d’images IA intégré, en tapant un prompt (ex : “une image d’un kiwi tout mignon couleur pastel”) et obtenir une image directement intégrée dans une maquette.

Les plugins IA : pour plus de personnalisation

Même si Figma intègre désormais plusieurs fonctionnalités IA natives, les plugins servent à affiner notre travail, tester des idées rapidement, ou automatiser des tâches UX spécifiques.

  • CopyDoc AI
    Reformulation de contenu UX en plusieurs styles (formel, concis, accessible…). Permet de rendre les interfaces plus compréhensibles, notamment en contexte d’accessibilité cognitive. Génération de variantes textuelles pour tests A/B. Permet de trouver le bon ton pour des messages d’erreur, notifications, CTA.. Assistance à la localisation multilingue.

  • Stark / Able – Pour concevoir accessible dès le départ
    Tests de contrastes conformes aux standards WCAG. Simulation de déficiences visuelles (daltonisme, vision floue…). Analyse des erreurs d’accessibilité dans les interfaces.

  • Magician
    Génération de texte UX, microcopy, placeholders réalistes. Création d’icônes et d’illustrations vectorielles via prompt textuel. Génération de composants UI simples à partir d’une intention (ex. : "formulaire de contact"), pour explorer de nouvelles idées rapidement (idéal en phase d’idéation ou d’atelier de co-création).

Ce que l’IA nous permet sur Figma :

  • Moins de tâches répétitives : renommage, alignements, wireframes.
  • Moins de temps sur les contenus provisoires
  • Meilleure documentation des interfaces, via des résumés ou nomenclatures générées.
  • Recentrer notre temps sur l’écoute utilisateur, les tests, l’amélioration continue

Notre vision : une IA bien utilisée, pilotée par l’expertise humaine

Chez Alsacréations, l'agence web, on adore tester, optimiser, explorer… et l’IA fait clairement partie de notre boîte à outils. Elle nous aide à gagner du temps, à générer des idées, à automatiser certaines tâches… mais toujours avec discernement. Et rien ne sort sans une relecture humaine, experte, et surtout contextualisée. L’IA n’est pas une solution magique, mais un levier pour intégrer les bonnes pratiques plus tôt et plus systématiquement.

Parce que dans l’UX, il y a une chose que la technologie ne remplacera jamais :

  • Comprendre les vraies attentes derrière un besoin exprimé
  • Décrypter les émotions, les freins ou les biais inconscients
  • Avoir une intuition UX basée sur l’expérience et la compréhension humaine
  • Concilier besoins business, contraintes techniques et sensibilité utilisateur

L’UX Design est un métier d’écoute, d’empathie, de projection. C’est une discipline humaine avant d’être une production d’interfaces. Alors oui, on utilise l’IA. Mais au service d’un design plus humain, plus juste, plus pertinent.

Publié par Alsacreations.com

Le: 02 07 2025 à 09:30 Auteur: Bongota

Que l’on soit développeur de sites web, auteur, compositeur de musique, écrivain ou photographe, il n'est plus possible aujourd'hui d'ignorer l'intelligence artificielle. En l'espace de quelques années, des habitudes bien ancrées ont été bouleversées. L’une des inquiétudes provoquées par cette technologie concerne la fouille massive de données engagée pour alimenter les bases de l’IA. Fouilles de données, webscraping, data mining, moissons de données, robots aspirateurs, des expressions entrées dans le langage du net, mais lourdes de conséquences pour les auteurs de contenus. [...]

Publié par Alsacreations.com