Caractères unicode, icônes textuelles et accessibilité

Aujourd'hui, de plus en plus de sites utilisent des caractères unicode pour afficher des caractères spéciaux (des flèches par exemple) ou de petites icônes sous forme de caractères (ce qu'on appelle des icônes textuelles; les icônes pour partager un contenu sur des réseaux sociaux ou pour lancer la lecture d'un clip multimédia intégré par exemple), qui n'étaient autrefois qu'affichables en tant qu'images.

Afficher des caractères unicode à la place d'images a plusieurs avantages dont ceux-ci :

Malheureusement, tout cela ne va pas sans inconvénients :

Vous l'aurez compris, c'est surtout ce dernier point qui fâche.

Rendre accessible les icônes textuelles et les caractères unicode

En ce qui concerne les icônes textuelles précisément, plusieurs articles expliquent comment les rendre accessibles aux lecteurs d'écran, mais c'est une gymnastique compliquée. Ces solutions se basent souvent sur des moyens de cacher les caractères aux lecteurs d'écran via aria-hidden, et afficher un texte de remplacement invisibles aux utilisateurs bien voyants à la place.

S'il faut reconnaître que ces solutions marchent plutôt bien, en fait, elles sont mauvaises :

En fait, ça devrait être le travail de nos lecteurs d'écran que de nous rendre ces caractères correctement; que ce soit des flèches, une icône twitter, ou une formule mathématique, peu importe ! Les avantages seraient les suivants :

Et c'est ici que les ennuis commencent: la bonne nouvelle, c'est qu'on peut le plus souvent ajouter les caractères qui nous manquent dans le dictionnaire de prononciation; la mauvaise, c'est que c'est excessivement long et pénible, et surtout que personne n'a encore sérieusement pris l'initiative de le faire d'office par défaut. A l'heure où les boutons qui ne sont constitués que d'une simple flèche se multiplient dans les applications natives comme sur le web, pour ne citer ne serait-ce que ça, il faudrait vraiment qu'ils s'y mettent. Notons quand même que VoiceOver de chez Apple a une petite avance en la matière, car il annonce déjà correctement et par défaut un certain nombre de flèches par exemple (il risque de la perdre rapidement si les autres se bougent vu qu'il n'y a pas de dictionnaire de prononciation sur iOS, mais c'est un autre sujet). Toujours est-il que la vaste majorité des caractères unicode actuellement utilisés, avancés ou pas, spécialisés ou pas, ne sont pas reconnus et c'est bien dommage.

Lister les caractères unicode d'utilisation courante

Fort de ce superbe constat, j'ai entrepris d'ajouter dans mon dictionnaire jaws tous les caractères unicode spéciaux que j'ai déjà pu rencontrer et identifier.

Des listes de caractères unicode, on en trouve plein sur le web ! Mais aucune ne réunit toutes les nécéssités suivantes :

Sachant que les dictionnaires jaws ne sont pas aisément partageables (impossible de les fusionner par exemple), j'ai choisi de vous envoyer ma liste ci-dessous ! Je souhaiterais dans l'idéal que vous m'aidiez à la compléter et à la corriger, si vous vous y connaissez mieux que moi ou si vous avez repéré des erreurs.

Sachant qu'il peut y avoir 4 milliards de caractères, il serait illusoir et totalement inutile de vouloir les lister vraiment tous. Mais cette petite liste n'est de loin pas complète; il manque notamment :

Enfin bref, si vous vous sentez d'attaque, il y a encore du boulot ! La liste actuelle est ci-dessous.

Liste des caractères unicode avec description, exemple, code et entité

Flèches

Description Caractère Nom d'entité Code décimal Code hexadécimal
Flèche vers la gauche larr 8592 2190
Flèche vers la droite rarr 8594 2192
Flèche vers le haut uarr 8593 2191
Flèche vers le bas darr 8595 2193
Flèche vers le nord-ouest nwarr 8598 2196
Flèche vers le nord-est nearr 8599 2197
Flèche vers le sud-est searr 8600 2198
Flèche vers le sud-ouest swarr 8601 2199
Flèche gauche barrée nlarr 8602 219A
Flèche droite barrée nrarr 8603 219B
Flèche vers la droite et flèche vers la gauche (symbole « aller/retour ») rlarr 8644 21C4
Flèche vers le haut et flèche vers le bas (symbole « monter/descendre ») udarr 8645 21C5
Flèche vers la droite et vers la gauche (symbole « réversible ») harr 8596 2194
Flèche vers le haut et vers le bas varr 8597 2195
Flèche vers la gauche et vers la droite barrée (symbole « pas réversible ») nharr 8622 21AE
Double flèche vers la gauche lArr 8656 21D0
Double flèche vers la droite (symbole « implique ») rArr 8658 21D2
Double flèche vers le haut uArr 8657 21D1
Double flèche vers le bas dArr 8659 21D3
Double flèche vers le nord-ouest nwArr 8662 21D6
Double flèche vers le nord-est neArr 8663 21D7
Double flèche vers le sud-est seArr 8664 21D8
Double flèche vers le sud-ouest swArr 8665 21D9
Double flèche vers la gauche et vers la droite (symbole « implication dans les deux sens ») hArr 8660 21D4
Double flèche vers le haut et vers le bas vArr 8661 21D5
Triple flèche vers la gauche - 8666 21DA
Triple flèche vers la droite - 8668 21DC
Triple flèche vers le haut - 8667 21DB
Triple flèche vers le bas - 8669 21DD
Flèche en coin vers le bas puis vers la gauche (symbole « touche enter ») crarr 8629 21B5
Description manquante Larr 8606 219E
Description manquante Rarr 8608 21A0
Description manquante Uarr 8607 219F
Description manquante Darr 8609 21A1

Doigts et mains

Description Caractère Nom d'entité Code décimal Code hexadécimal
Doigt pointant à gauche - 9756 261C
Doit pointant vers le haut - 9757 261D
Doigt pointant à droite - 9758 261E
Doigt pointant vers le bas - 9759 261F
Doigt pointant à gauche, rempli - 9754 261A
Doigt pointant à droite, rempli - 9755 261B
Main levée - 9995 270B
Main levée en signe de victoire - 9996 270C
Main en train d'écrire - 9997 270D

Multimédia

Description Caractère Nom d'entité Code décimal Code hexadécimal
aVance rapide (Double triangle vers la droite) - 9193 23E9
Retour rapide (Double triangle vers la gauche) - 9194 23EA
Aller à la fin / morceau suivant (Double triangle vers la droite suivi d'une barre) - 9197 23ED
Aller au début / morceau précédent (Double triangle vers la gauche précédé d'une barre) - 9198 23EE
Play/pause (triangle vers la droite suivi de deux barres) - 9199 23EF
Symbole « Eject » - 9167 23CF

Symboles mathématiques

Description Caractère Nom d'entité Code décimal Code hexadécimal
Plus ou moins (variante 1) ± pm 177 B1
Plus ou moins (variante 2) mp 8723 2213
Moins (symbole négatif) minus 8722 2212
Infini infin 8734 221E
Pour mille permil 8240 2030
Puissance 1 ¹ sup1 185 B9
Carré / Puissance 2 ² sup2 178 B2
Cube / Puissance 3 ³ sup3 179 B3
Point de multiplication (variante 1) × times 215 D7
Point de multiplication (variante 2) · middot 183 B7
Symbole de division ÷ div 247 F7
Similaire, varie avec sim 8764 223C
Environ égal à (variante 1) sime 8771 2243
Approximativement égal à (variante 2) ape 8778 224A
Pas environ ou égal à (variante 1) nsime 8772 2244
Pas approximativement égal à (variante 2) nap 8777 2249
Congru à cong 8773 2245
Pas congru à ncong 8775 2247
Asymptotiquement égal à asymp 8776 2248
Asymptotiquement équivalent à asympeq 8781 224D
Équivalent à / congru à (variante 2) equiv 8801 2261
Pas équivalent à / pas congru à (variante 2) nequiv 8802 2262
Différent de ne 8800 2260
Inférieur ou égal à le 8804 2264
Supérieur ou égal à ge 8805 2265
Un ordre de grandeur inférieur à / largement inférieur à ll 8810 226A
Un ordre de granteur supérieur à / largement supérieur à gg 8811 226B
Pour tout forall 8704 2200
Il existe exist 8707 2203
Il n'existe pas nexist 8708 2204
Par conséquent there4 8756 2234
Ensemble vide empty 8709 2205
Complément d'ensemble comp 8705 2201
Appartient in 8712 2208
N'appartient pas notin 8713 2209
Contient ni 8715 220B
Ne contient pas notni 8716 220C
Différence d'ensemble setminus 8726 2216
Intersection cap 8745 2229
Union cup 8746 222A
Sous-ensemble de (subset) sub 8834 2282
Surensemble de (superset) sup 8835 2283
N'est pas sous-ensemble de nsub 8836 2284
N'est pas surensemble de nsup 8837 2285
Sous-ensemble ou équivalent à sube 8838 2286
Surensemble ou équivalent à supe 8839 2287
Pas sous-ensemble ou équivalent à nsube 8840 2288
Pas surensemble ou équivalent à nsupe 8841 2289
Et logique and 8743 2227
OU exclusif (XOR) - 8791 2257
Ou logique or 8744 2228
Plus entouré (somme directe, opération générique d'addition dans un ensemble ou un anneau) oplus 8853 2295
Moins entouré (opération générique de soustraction dans un ensemble ou un anneau) ominus 8854 2296
Point entouré (produit vectoriel, produit direct, opération générique de multiplication dans un ensemble ou un anneau) otimes 8855 2297
Produit scalaire sdot 8901 22C5
Symbole d'arrondi vers le bas, ouvrant lfloor 8970 230A
Symbole d'arrondi vers le bas, fermant rfloor 8971 230B
Symbole d'arrondi vers le haut, ouvrant lceil 8968 2308
Symbole d'arrondi vers le haut, fermant rceil 8969 2309
Produit vectoriel - 10799 2A2F
Composition de fonction compfn 8728 2218
Astérisque basse lowast 8727 2217
Symbole angle ang 8736 2220
Racine & sqrt 38 26
Somme sum 8721 2211
Produit prod 8719 220F
Prime, minutes, pieds prime 8242 2032
Double prime, secondes, pouces Prime 8243 2033
Proportionel à propto 8733 221D
Intégrale int 8747 222B
Exponentielle - 8519 2147
Nabla nabla 8711 2207
Partie imaginaire (racine de -1) Im 8465 2111
Partie réelle real 8476 211C
Power set - 8472 2118
C double barre (Symbole des nombres complexes) complexes 8450 2102
N double barre (symbole des nombres naturels) naturals 8469 2115
Q double barre (symbole des nombres rationnels) rationals 8474 211A
R double barre (symbole des nombres réels) reals 8477 211D
Z double barre (symbole des nombres entiers relatifs) integers 8484 2124

Fractions

Description Caractère Nom d'entité Code décimal Code hexadécimal
Un demi ½ frac12 189 BD
Un tiers frac13 8531 2153
Deux tiers frac23 8532 2154
Un quart ¼ frac14 188 BC
Trois quarts ¾ frac34 190 BE
Un cinquième frac15 8533 2155
Deux cinquièmes frac25 8534 2156
Trois cinquièmes frac35 8535 2157
Quatre cinquièmes frac45 8536 2158
Un sixième frac16 8537 2159
Cinq sixièmes frac56 8538 215A
Un septième - 8528 2150
Un huitième frac18 8539 215B
Trois huitièmes frac38 8540 215C
Cinq huitièmes frac58 8541 215D
Sept huitièmes frac78 8542 215E
Un neuvième - 8529 2151
Un dizième - 8530 2152

Caractères de ligature

Description Caractère Nom d'entité Code décimal Code hexadécimal
Ligature ae æ aelig 230 E6
Ligature AE (majuscules) Æ AElig 198 C6
Ligature oe œ oelig 339 153
Ligature OE (majuscules) ΠOElig 338 152
Ligature SZ/SS allemande ß szlig 223 DF

Caractères typographiques

Description Caractère Nom d'entité Code décimal Code hexadécimal
Espace insécable   nbsp 160 A0
Tiret long aka tiret cadratin mdash 8212 2014
Tiret court aka tiret demi-cadratin ndash 8211 2013
Ellipse aka points de suspension hellip 8230 2026
Guillemet françAis ouvrant « laquo 171 AB
Guillemet françAis fermant » raquo 187 BB
Guillemet simple ouvrant lsquo 8216 2018
Guillemet simple fermant rsquo 8217 2019
Guillemet double ouvrant ldquo 8220 201C
Guillemet double fermant rdquo 8221 201D
Chevron simple ouvrant lang 10216 27E8
Chevron simple fermant rang 10217 27E9

Symboles divers

Description Caractère Nom d'entité Code décimal Code hexadécimal
Losange loz 9674 25CA
Pique spades 9824 2660
Trèfle clubs 9827 2663
Coeur hearts 9829 2665
Carreau diams 9830 2666
Pique, variante 2 (non rempli) - 9828 2664
Trèfle, variante 2 (non rempli) - 9831 2667
Coeur, variante 2 (non rempli) - 9825 2661
Carreau, variante 2 (non rempli) - 9826 2662
Symbole femme/femelle female 9792 2640
Symbole homme/mâle male 9794 2642
Tête de mort - 9760 2620
Attention / triangle de panne - 9761 2621
Attention danger - 9888 26A0
Radioactif - 9762 2622
Symbole de recyclage - 9842 2672
Symbole de recyclage, rempli - 9851 267B
Chaise roulante - 9855 267F
Alarme - 9200 23F0
Chronomètre - 9201 23F1
Minuterie - 9202 23F2
Montre - 8986 231A
Sablier - 8987 231B
Sablier, s'écoulant - 9203 23F3
Téléphone - 9743 260F
Téléphone, rempli - 9742 260E
Paix - 9774 262E
Yin/Yang - 9775 262F
Smiley mécontent - 9785 2639
Smiley content - 9786 263A
Smiley content, rempli - 9787 263B
Drapeau blanc - 9872 2690
Drapeau noir - 9873 2691
Ancre - 9875 2693
Pioche - 9935 26CF
Église - 9962 26EA
Château - 9963 26EB
Site historique - 9964 26EC
Fontaine - 9970 26F2
Cercle - 9898 26AA
Cercle rempli - 9899 26AB
Ciseaux - 9986 2702
Magnétophone - 9991 2707
Avion - 9992 2708
Enveloppe - 9993 2709
Plume - 9999 270F
Coche - 10003 2713
Coche, épaisse - 10004 2714
X de multiplication ϭ - 1005 3ED
X de multiplication, épais - 10006 2716
Étoile de David - 10017 2721

Météo et astronomie

Description Caractère Nom d'entité Code décimal Code hexadécimal
Nuage - 9729 2601
Parapluie - 9730 2602
Parapluie, avec gouttes de pluie - 9748 2614
Bonhomme de neige - 9731 2603
Flocon de neige - 10052 2744
Étoile filante - 9732 2604
Étoile - 9734 2606
Étoile, remplie - 9733 2605
Éclair / foudre - 9735 2607
Orageux - 9736 2608
Nuage d'orage avec pluie - 9928 26C8
Soleil - 9737 2609
Soleil, avec rayons - 9788 263C
Ensoleillé / soleil caché par un nuage - 9925 26C5
Pluvieux - 9926 26C6
Premier quartier de lune - 9789 263D
Dernier quartier de lune - 9790 263E
Mercure - 9791 263F
Vénus - 9792 2640
Terre - 9793 2641
Mars - 9794 2642
Jupiter - 9795 2643
Saturne - 9796 2644
Uranus - 9797 2645
Neptune - 9798 2646
Pluton - 9799 2647
Bélier - 9800 2648
Taureau - 9801 2649
Gémeaux - 9802 264A
Cancer - 9803 264B
Lion - 9804 264C
Vierge - 9805 264D
Balance - 9806 264E
Scorpion - 9807 264F
Sagittaire - 9808 2650
Capricorne - 9809 2651
Verseau - 9810 2652
Poissons - 9811 2653

Symboles de jeux

Description Caractère Nom d'entité Code décimal Code hexadécimal
Roi blanc - 9812 2654
Dame blanche - 9813 2655
Tour blanche - 9814 2656
Fou blanc - 9815 2657
Cavalier blanc - 9816 2658
Pion blanc - 9817 2659
Roi noir - 9818 265A
Dame noire - 9819 265B
Tour noire - 9820 265C
Fou noir - 9821 265D
Cavalier noir - 9822 265E
Pion noir - 9823 265F
Dé, face 1 - 9856 2680
Dé, face 2 - 9857 2681
Dé, face 3 - 9858 2682
Dé, face 4 - 9859 2683
Dé, face 5 - 9860 2684
Dé, face 6 - 9861 2685

Musique

Description Caractère Nom d'entité Code décimal Code hexadécimal
Note noire - 9833 2669
Note croche - 9834 266A
Note croche, variante 2 - 9835 266B
Note double-croche - 9836 266C
Bémol - 9837 266D
Bécarre - 9838 266E
Dièse - 9839 266F

Caractères divers

Description Caractère Nom d'entité Code décimal Code hexadécimal
Cédille ¸ cedil 184 B8
Point d'exclamation inversé ¡ iexcl 161 A1
Point d'interrogation inversé ¿ iquest 191 BF
Degré ° deg 176 B0
Puce bull 8226 2022
Euro euro 8364 20AC
Yen ¥ yen 165 A5
Florin ƒ fnof 402 192
Livre £ pound 163 A3
Cent ¢ cent 162 A2
Symbole section § sect 167 A7
Symbole paragraphe para 182 B6
Marque déposée (registered trademark) ® reg 174 AE
Copyright © copy 169 A9
Micro µ micro 181 B5

Lettres grecques

Description Caractère Nom d'entité Code décimal Code hexadécimal
Alpha α alpha 945 3B1
Alpha majuscule Α Alpha 913 391
Beta β beta 946 3B2
Beta majuscule Β Beta 914 392
Gamma γ gamma 947 3B3
Gamma majuscule Γ Gamma 915 393
Delta δ delta 948 3B4
Delta majuscule Δ Delta 916 394
Epsilon ε epsilon 949 3B5
Epsilon majuscule Ε Epsilon 917 395
Zeta ζ zeta 950 3B6
Zeta majuscule Ζ Zeta 918 396
Eta η eta 951 3B7
Eta majuscule Η Eta 919 397
Theta θ theta 952 3B8
Theta majuscule Θ Theta 920 398
Iota ι iota 953 3B9
Iota majuscule Ι Iota 921 399
Kappa κ kappa 954 3BA
Kappa majuscule Κ Kappa 922 39A
Lambda λ lambda 955 3BB
Lambda majuscule Λ Lambda 923 39B
Mu μ mu 956 3BC
Mu majuscule Μ Mu 924 39C
Nu ν nu 957 3BD
Nu majuscule Ν Nu 925 39D
Xi ξ xi 958 3BE
Xi majuscule Ξ Xi 926 39E
Omicron ο omicron 959 3BF
Omicron majuscule Ο Omicron 927 39F
Pi π pi 960 3C0
Pi majuscule Π Pi 928 3A0
Rho ρ rho 961 3C1
Rho majuscule Ρ Rho 929 3A1
Sigma σ sigma 963 3C3
Sigma majuscule Σ Sigma 931 3A3
Tau τ tau 964 3C4
Tau majuscule Τ Tau 932 3A4
Upsilon υ upsilon 965 3C5
Upsilon majuscule Υ Upsilon 933 3A5
Phi φ phi 966 3C6
Phi majuscule Φ Phi 934 3A6
Chi χ chi 967 3C7
Chi majuscule Χ Chi 935 3A7
Psi ψ psi 968 3C8
Psi majuscule Ψ Psi 936 3A8
Omega ω omega 969 3C9
Omega majuscule Ω Omega 937 3A9
Symbole pi (variante 2) ϖ piv 982 3D6
Sigma (variante 2) ς sigmaf 962 3C2

Caractères styllistiques

Description Caractère Nom d'entité Code décimal Code hexadécimal
1 entouré (variante 1) - 10102 2776
1 entouré (variante 2) - 10112 2780
1 entouré (variante 3) - 10122 278A
2 entouré (variante 1) - 10103 2777
2 entouré (variante 2) - 10113 2781
2 entouré (variante 3) - 10123 278B
3 entouré (variante 1) - 10104 2778
3 entouré (variante 2) - 10114 2782
3 entouré (variante 3) - 10124 278C
4 entouré (variante 1) - 10105 2779
4 entouré (variante 2) - 10115 2783
4 entouré (variante 3) - 10125 278D
5 entouré (variante 1) - 10106 277A
5 entouré (variante 2) - 10116 2784
5 entouré (variante 3) - 10126 278E
6 entouré (variante 1) - 10107 277B
6 entouré (variante 2) - 10117 2785
6 entouré (variante 3) - 10127 278F
7 entouré (variante 1) - 10108 277C
7 entouré (variante 2) - 10118 2786
7 entouré (variante 3) - 10128 2790
8 entouré (variante 1) - 10109 277D
8 entouré (variante 2) - 10119 2787
8 entouré (variante 3) - 10129 2791
9 entouré (variante 1) - 10110 277E
9 entouré (variante 2) - 10120 2788
9 entouré (variante 3) - 10130 2792
10 entouré (variante 1) - 10111 277F
10 entouré (variante 2) - 10121 2789
10 entouré (variante 3) - 10131 2793

Caractères accentués occidentaux

Description Caractère Nom d'entité Code décimal Code hexadécimal
A accent grave à agrave 224 E0
A accent grave majuscule À Agrave 192 C0
A accent aigü á aacute 225 E1
A accent aigü majuscule Á Aacute 193 C1
A accent circonflexe â acirc 226 E2
A accent circonflexe majuscule  Acirc 194 C2
A tilde ã atilde 227 E3
A tilde majuscule à Atilde 195 C3
A tréma ä auml 228 E4
A tréma majuscule Ä Auml 196 C4
C cédille ç ccedil 231 E7
C cédille majuscule Ç Ccedil 199 C7
E accent grave è egrave 232 E8
E accent grave majuscule È Egrave 200 C8
E accent aigü é eacute 233 E9
E accent aigü majuscule É Eacute 201 C9
E accent circonflexe ê ecirc 234 EA
E accent circonflexe majuscule Ê Ecirc 202 CA
E tréma ë euml 235 EB
E tréma majuscule Ë Euml 203 CB
I accent grave ì igrave 236 EC
I accent grave majuscule Ì Igrave 204 CC
I accent aigü í iacute 237 ED
I accent aigü majuscule Í Iacute 205 CD
I accent circonflexe î icirc 238 EE
I accent circonflexe majuscule Î Icirc 206 CE
I tréma ï iuml 239 EF
I tréma majuscule Ï Iuml 207 CF
N tilde ñ ntilde 241 F1
N tilde majuscule Ñ Ntilde 209 D1
O accent grave ò ograve 242 F2
O accent grave majuscule Ò Ograve 210 D2
O accent aigü ó oacute 243 F3
O accent aigü majuscule Ó Oacute 211 D3
O accent circonflexe ô ocirc 244 F4
O accent circonflexe majuscule Ô Ocirc 212 D4
O tilde õ otilde 245 F5
O tilde majuscule Õ Otilde 213 D5
O tréma ö ouml 246 F6
O tréma majuscule Ö Ouml 214 D6
O barré ø oslash 248 F8
O barré majuscule Ø Oslash 216 D8
U accent grave ù ugrave 249 F9
U accent grave majuscule Ù Ugrave 217 D9
U accent aigü ú uacute 250 FA
U accent aigü majuscule Ú Uacute 218 DA
U accent circonflexe û ucirc 251 FB
U accent circonflexe majuscule Û Ucirc 219 DB
U tréma ü uuml 252 FC
U tréma majuscule Ü Uuml 220 DC
Y accent aigü ý yacute 253 FD
Y accent aigü majuscule Ý Yacute 221 DD
Y tréma ÿ yuml 255 FF
Y tréma majuscule Ÿ Yuml 376 178

Commentaires

1. pika-san, 22.02.2015 15:36:41

Bonjour, serait-il possible d'envoyer cette page à certaines listes nvda? Ce dernier en lit quelques uns comme écrit dans la description

2. QuentinC, 24.02.2015 19:18:04

Bien sûr que tu peux diffuser, c'est fait pour ça le web ! Par contre, ne fais pas un copier-coller de la page complète mais poste bien juste une une URL vers cette page; afin qu'on sache toujours que ça vient de moi d'une part, et d'autre part qu'ils profitent des mises à jour.

Et sinon oui, comme d'habitude, c'est toujours FS qui est le plus à la ramasse en ce qui concerne le support du web et le web en général.

3. <h1>test</h1>, 02.09.2017 11:52:37

<h1>test</h1>

Commenter