Les dernières ressources publiées sur Alsacreations.com
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).
Cet outil est destiné à toute personne travaillant dans le Web et concernée par l'accessibilité de ses interfaces :
L'espace colorimétrique OKLCH offre plusieurs avantages :
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.
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 tableauL'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 listesL'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 :
Solution :
/* â
Utiliser display: contents uniquement sur des éléments non-sémantiques */
.wrapper {
display: contents; /* OK sur une div */
}
Avant de déployer votre projet, voici une checklist rapide pour garantir l'accessibilité pouvant être impactée par les styles CSS :
display: flex/grid
sur des éléments tabulaires (<table>
, <tr>
, <td>
) n'est pas utilisé sans un rôle ARIA explicitelist-style: none
est accompagné de role="list"
display: contents
sur les éléments interactifsUn 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.
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.
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.
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 :
“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.
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).
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 :
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.
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. [...]