Présentation effectuée à la AOSC (28 janvier 2020) par Christophe Villeneuve sur "L'accessibilité web avec WCAG et RGAA".
Vous verrez les notions générales de l'accessibilité, le moyen de le mettre en place dans son code et valider avec des outils si l'ensemble du référentiels est respecté.
10. @hellosct1 -
RGAA
●
Référentiel Général d’Accessibilité pour les Administrations
●
V 4.0 – publié 2019
●
2 niveaux : A et AA
https://www.numerique.gouv.fr/publications/rgaa-accessibilite/
11. @hellosct1 -
Contenu
●
Document introduction
– Anciennement appelé RGAA
oui, comme le décret, comme le référentiel...
ce qui rendait les choses un peu confuses..
●
Guide d'accompagnement
●
Référentiel technique
– la liste des critères et des tests
– le glossaire
– les cas particuliers
– les notes techniques
– la base de référence
– les références ayant conduits à l'élaboration du référentiel technique.
15. @hellosct1 -
WCAG
●
Règles internationales
●
Actuellement v2.1 (Draft 3.0)
●
Edité par le consortium W3C
●
Couvre le standard européen
– Technologies de communication à la voix
– Vidéo (Sous Titrage, audiodescription…)
– Le matériel
– Les logiciels
– La documentation
– …
21. @hellosct1 -
Quand dans le développement ?
Directives
d'accessibilité
pour la
conception
graphique et UX
Directives
d'accessibilité
pour HTML /
CSS
Directives
d'accessibilité pour
les interfaces riches
et Javascript
Directives
d'accessibilité pour les
éditeurs (modèle)
Conception
de maquette
Codage
HTML
Développement
et
intégration
Publication de
contenu en ligne
27. @hellosct1
Liens / Boutons : Exemple
<a href="mon-url"
aria-label="Lire la suite : Le projet du client xxx"
title="Lire la suite : Le projet du client xxx"
>
Lire la suite
</a>
<input
type="submit"
value="Rechercher"
title="Rechercher une actualité"
/>
<button
role="button"
onclick="handleBtnClick(event)"
onKeyUp="handleBtnKeyUp(event)"
aria-pressed="false"
aria-label="Mode édition"
aria-required="true"
> Mode Édition *</button>
Bouton / Submit
Lien
Attention :
Liens non explicites
- Lire la suite
- En savoir plus
- Plus d’informations
- Cliquer ici
- OK
Attributs
- Aria-label
- Title
29. @hellosct1
Formulaires : Exemple 1
<fieldset>
<legend>Participant 1</legend>
<label for="nom">Votre nom</label>
<input type="text" id="nom" name="nom" />
</fieldset>
<fieldset>
<legend>Participant 1</legend>
<label for="annee-naissance">Votre année de naissance</label>
<select id="annee-naissance" name="annee-naissance">
<option value="2022">2022</option>
<option value="2021">2021</option>
<option value="2020">2020</option>
<option value="2019">2019</option>
</select>
</fieldset>
- Utiliser <label> pour baliser chaque intitulé.
- Attribut for sur chaque balise <label> ainsi
qu'un attribut id sur chaque champ.
- Attributs id et for de chaque couple
intitulé/champ.
- Groupes de champs : <fieldset> + <legend>
- Utiliser <label> pour baliser chaque intitulé.
- Attribut for sur chaque balise <label> ainsi
qu'un attribut id sur chaque champ.
- Attributs id et for de chaque couple
intitulé/champ.
- Groupes de champs : <fieldset> + <legend>
30. @hellosct1
Formulaires : Exemple 2
<h3 id="rg1_label">Options du déjeuner</h3>
<ul class="radiogroup" id="rg1" role="radiogroup" aria-labelledby="rg1_label">
<li id="r1" tabindex="-1" role="radio" aria-checked="false">
<img role="presentation" src="radio-unchecked.gif" /> Thaï
</li>
<li id="r2" tabindex="-1" role="radio" aria-checked="false">
<img role="presentation" src="radio-unchecked.gif" /> Subway
</li>
<li id="r3" tabindex="0" role="radio" aria-checked="true">
<img role="presentation" src="radio-checked.gif" /> Libanais
</li>
</ul> - aria-describedby : Associer Descriptif à un
groupe de données
- aria-describedby : Associer Descriptif à un
groupe de données
33. @hellosct1
➢
Page HTML
➢
Images
➢
Liens / Boutons
➢
Formulaires
➢
Couleurs
✔
Clavier
✔
Souris
✔
Navigation
✔
Sous-menu
✔
Fenêtre modale
✔
Infobulle
✔
Zoom
✔
Etre bloqué sur un élement
➢
Navigation
Développement
34. @hellosct1
Navigation : Exemple
<body>
<a class="evitement" href="#contenu">Aller au contenu</a>
…
<div id="main" role="main">
<a id="contenu" tabindex="-1"></a>
…
</div>
…
</body>
Touche TAB : lecture logique
tabindex
* 0 : Accéder à tous les éléments à l'aide du
clavier
* 1: permet de donner le focus aux
éléments sans les ajouter à l'ordre de
tabulation
tabindex
* 0 : Accéder à tous les éléments à l'aide du
clavier
* 1: permet de donner le focus aux
éléments sans les ajouter à l'ordre de
tabulation
35. @hellosct1
➢
Page HTML
➢
Images
➢
Liens / Boutons
➢
Formulaires
➢
Couleurs
✔
Contenus masqués
✔
display: none;
✔
Visibility: hidden ;
✔
Apparence
✔
Taille de texte
✔
Accès à l’information
➢
CSS
Développement
➢
Javascript
36. @hellosct1
CSS : Exemple
- Uniquement des tailles relatives :
em
%
x-small, small...
etc
Accès à l’information = contraste
Tailles pour la police de caractères
42. @hellosct1 -
AInspector WCAG
●
Inspecte les pages Web
– Détection des problèmes liés
●
Aux exigences WCAG 2.0 niveau A et AA
●
Addon Firefox
– https://addons.mozilla.org/firefox/addon/ainspector-wcag
●
Lexique
V : violations
W : warnings
MC : manual checks
P : passes
44. @hellosct1 -
Tanaguru
●
Inspecte les pages Web
– Détection des problèmes liés
●
Aux exigences RGAA
●
Outil open source (licence AGPL)
●
Objectif de tester l’accessibilité du site
●
Disponible
– CI / CD
– En ligne
– Github
– Addon Firefox