L'accessibilité, c'est simple : revoyons les bases

A presentation at ConFoo Montreal in March 2017 in Montreal, QC, Canada by Damien Senger

Slide 1

Slide 1

L’ACCESSIBILITÉ, C’EST SIMPLE

ConFoo • Montréal •
9 mars 2017

Slide 2

Slide 2

Damien Senger designer et développeur web hiwelo.co •
@iamhiwelo Raccoon Studio w eb studio raccoon.studio

Slide 3

Slide 3

L’ACCESSIBILITÉ, C’EST SIMPLE : REVOYONS LES BASES

Slide 4

Slide 4

L’accessibilité, 
 pourquoi ?

Slide 5

Slide 5

Parce que .

Slide 6

Slide 6

Parce que c’est utile .

Slide 7

Slide 7

Parce que c’est simple .

Slide 8

Slide 8

Parce que c’est nécessaire .

Slide 9

Slide 9

Parce que vous essayez 
 d’être des personnes décentes .

Slide 10

Slide 10

L’accessibilité, pour qui ?

Slide 11

Slide 11

Les personnes avec 
 des habilités particulières .

Slide 12

Slide 12

Donc tout le monde .

Slide 13

Slide 13

Nous avons tou•te•s 
 des habilités particulières ou 
 des incapacités temporaires .

Slide 14

Slide 14

Œuvrer pour l’accessibilité, ce n’est pas une lutte contre le handicap. 
 
 C'est assurer la diversité du web.

Slide 15

Slide 15

Comme l’UX, l’accessibilité est une 
 approche centrée sur l’utilisateur .

Slide 16

Slide 16

L’idée sous-jacente : 
 le design inclusif .

Slide 17

Slide 17

Avec l’accessibilité, 
 tout est une histoire de nuance : permanent •
temporaire •
situationnel

Slide 18

Slide 18

Adapter son design 
 aux handicaps permanents, 
 c’est agir pour tou•te•s .

Slide 19

Slide 19

Le design inclusif peut 
 être articulé autour de 5 pôles .

Slide 20

Slide 20

Un pôle autour de la vision . Cécité Infection oculaire Distraction 
 visuelle

Slide 21

Slide 21

Un pôle autour du toucher . Amputation Immobilisation 
 temporaire Activité 
 parallèle

Slide 22

Slide 22

Un pôle autour de l’ouïe . Surdité Infection auriculaire Environnement 
 bruyant

Slide 23

Slide 23

Un pôle autour de la parole . Non verbaux Extinction 
 de voix Accent ou 
 non natif

Slide 24

Slide 24

Un pôle autour de la compréhension . Autisme Maîtrise partielle 
 de la langue Contexte 
 stressant

Slide 25

Slide 25

L’accessibilité, par le design .

Slide 26

Slide 26

Un design non accessible 
 ne peut pas devenir accessible 
 par son simple développement.

Slide 27

Slide 27

Côté design, c’est déjà gérer le contraste .

Slide 28

Slide 28

Côté design, c’est déjà gérer le contraste .

Slide 29

Slide 29

Côté design, c’est déjà gérer le contraste .

Slide 30

Slide 30

Slide 31

Slide 31

WebAIM Color Contrast Checker 
 http://webaim.org/resources/contrastchecker/

Slide 32

Slide 32

Soyez explicites , clairs et concis .

Slide 33

Slide 33

Prévoyez des alternatives . 
 (résumés, sous-titrage, …)

Slide 34

Slide 34

Ne surchargez pas vos utilisateurs. 
 (animations, bruit, quantité, …)

Slide 35

Slide 35

Travaillez en détail votre 
 architecture de l’information .

Slide 36

Slide 36

Rappelez-vous que l’évident 
 n’est pas toujours aussi évident 
 qu’on le pense.

Slide 37

Slide 37

L’accessibilité, par le code .

Slide 38

Slide 38

Un web accessible, c’est un web sémantique .

Slide 39

Slide 39

HTML5

Slide 40

Slide 40

Utilisez les balises sémantiques 
 et les rôles offerts par HTML5.

Slide 41

Slide 41

Apprenez à respecter la spécification HTML5.

Slide 42

Slide 42

Slide 43

Slide 43

Toujours préférer les balises 
 sémantiques sans changer leur rôle

Slide 44

Slide 44

Il y aura quasiment toujours une solution HTML à vos problèmes…

Slide 45

Slide 45

et lorsque ce n’est pas le cas, ARIA est là.

Slide 46

Slide 46

L’accessibilité, par l’exemple .

Slide 47

Slide 47

HTML5 et ARIA, 
 les exemples du W3C : 
 https://w3c.github.io/aria-practices/

Slide 48

Slide 48

La base pour débuter : les images !

Slide 49

Slide 49

!!!" Image décorative sans corrélation avec le contenu !!#

<img

src

"img/example.png"

alt

""

!!!" Image apportant une information par rapport au contenu global !!#

<img

src

"img/example.png"

alt

"Un chat sur une table"

Slide 50

Slide 50

!!!" Quand on désire une vraie légende —>

<figure>

<img

src

"example.png"

alt

"Un chat sur une table"

<img

src

"example2.png"

alt

"Un chat sur une chaise"

<figcaption>

Légende ! $ figcaption> !$ figure

Slide 51

Slide 51

Rappelez-vous que vous pouvez rapidement lier des contenus .

Slide 52

Slide 52

<h2

id

“ariaTitle”

Titre de la section !$ h2>

<section

aria

labelledby

“ariaTitle”

<p> Texte d’introduction de cet exemple !$ p> <p> Blabla sans importance !$ p>

!$ section

Slide 53

Slide 53

Ou indiquer un information 
 portée uniquement par le design 
 invisible des lecteurs d’écran.

Slide 54

Slide 54

<section

aria

label

“Titre de la section”

<p> Texte d’introduction de cet exemple !$ p> <p> Blabla sans importance !$ p>

!$ section

Slide 55

Slide 55

C’est, par exemple, 
 le cas des polices d’icônes .

Slide 56

Slide 56

<p>
Il était l’histoire d’un petit 

<i

class

“icon

cat”

aria

hidden

“true” 


title

“chat”

! $ i> <span

class

“sr

only”

chat !$ span>

qui aimait le lait. 

!$ p> < 

Slide 57

Slide 57

<p>
Il était l’histoire d’un petit 

<i

class

“ico

cat”

title

“chat”

aria

label

“chat”

!$ i>

qui aimait le lait. 

!$ p> < 

Slide 58

Slide 58

!&

Exemple ici de la classe SR only de Bootstrap .sr

only {

position : absolute ;

width : 1px ;

height : 1px ;

padding : 0 ;

margin : -1px ;

overflow : hidden ;

clip : rect(0,0,0,0) ;

border : 0 ; }

Slide 59

Slide 59

Pensez aussi à toujours regarder 
 du côté de tous les standards… 
 comme Unicode également !

Slide 60

Slide 60

<p>
Il était l’histoire d’un petit 

! qui aimait le lait. !$ p> !!!" ou !!#

<p>
Il était l’histoire d’un petit 

<span

aria

label

“chat”

! !$ span>


 qui aimait le lait. !$ p> < 

Slide 61

Slide 61

Lorsque vous créez vos 
 polices d’icônes, faites donc attention à la signification 
 originale du caractère choisi

Slide 62

Slide 62

Une sombre histoire de numéros : Unicode et les chiffres ordinaux

Slide 63

Slide 63

!!!" En utilisant le caractère Unicode !!#

Le coureur nº10.

!!!" Seulement il n’est pas toujours disponible dans la police de caractère !!#

Le coureur n <sup> o !$ sup> 10.

!!!" Et puis nº, est

ce compris par tou·te·s ? !!#

Le coureur <abbr

title

“numéro”

n <sup> o !$ sup> !$ abbr> 10. !!!" Et on termine avec la lecture au SR !!#

Le coureur <abbr

title

“numéro”


 aria

label

“numéro”

n <sup> o !$ sup> !$ abbr> 10. < 

Slide 64

Slide 64

Slide 65

Slide 65

Des abréviations pour tou•te•s.

Slide 66

Slide 66

!!!" Parce que tout le monde ne connait pas le NYPD —>

<abbr

title

“New York Police District”

NYPD !$ abbr>

!!!" Et qu’en plus, avec l’accent c’est mieux !!#

Une enquête rondement menée par le

<abbr

title

“New York Police District”

lang

“en”

NYPD !$ abbr> . < 

Slide 67

Slide 67

Rendre accessible 
 l’ écriture non genrée

Slide 68

Slide 68

!!!" Selon les préconisations quand l’épicène n’est pas possible dans un contexte !!#

Lisible de tou·te·s. !!!" Cette graphie est lue par les lecteurs d’écrans !!#

Lisible de tout point médian thé point médian S

!!!" La lecture devant en être faite d’après le haut conseil à l’égalité français est !!#

Lisible de toutes et de tous.

!!!" Comment le faire lire correctement !!#

Lisible de 
 <span

aria

label

“toutes et tous”

tou·te·s !$ span> . < 

Slide 69

Slide 69

L’accessibilité, avec des outils .

Slide 70

Slide 70

L’onglet accessibilité des Dev Tools de Chrome

Slide 71

Slide 71

WCAG Accessibility Audit tool

Slide 72

Slide 72

Web Accessibility Evaluation Tool (WAVE)

Slide 73

Slide 73

Web Accessibility Evaluation Tools List

Slide 74

Slide 74

L’accessibilité, en bref !

Slide 75

Slide 75

L’accessibilité, c’est pour tou•te•s ! 1 .

Slide 76

Slide 76

Utiliser correctement HTML5 
 c’est la plus grande partie du travail 2.

Slide 77

Slide 77

La technologie ne rendra pas accessible un design mal conçu 3.

Slide 78

Slide 78

Posez-vous toujours la question 
 “et si (…) ?” 4.

Slide 79

Slide 79

L’évidence n’est jamais évidente. 5.

Slide 80

Slide 80

Merci de votre attentio n, à vous la parole !

@iamhiwelo