Meetup WP Paris 28 avril 2017
Remix Coworking Paris 8 (Saint-Lazare)
Accessibilité (A11Y) dans
WordPress
2Meetup WPParis 28 avril 2017 - Claire Bizingre
@accesbilis
www.accesbilis.fr
Consultante formatrice Web
Accessibilité numérique et WordPress
Claire Bizingre
3Meetup WPParis 28 avril 2017 - Claire Bizingre
Accessibilité
universelle
Non-voyants
Séniors
Sourds
Malvoyants
Daltoniens
Handicap moteur
Membres supérieurs
Malentendants
Dyslexiques Handicap mental
Les internautes concernés
4Meetup WPParis 28 avril 2017 - Claire Bizingre
@WPAccessibility
https://make.wordpress.org/accessibility/
WordPress A11Y team
5Meetup WPParis 28 avril 2017 - Claire Bizingre
Thèmes
Contenus
Plugins
Défauts potentiels d’accessibilité dans WP
6Meetup WPParis 28 avril 2017 - Claire Bizingre
Contenus
et éditeurPluginsThèmesMaquette graphique
Prototype
Cahier des charges Conception Intégration Développement Rédaction
Tout au long du projet
L’accessibilité et la gestion d’un projet WP
7Meetup WPParis 28 avril 2017 - Claire Bizingre
http://checklists.opquast.com/fr/
A11Y
Référencement
Webmarketing
Traduction Performance
Sécurité
Code
Responsive
Webdesign
ErgonomieServices
Contenus
L’accessibilité, un des éléments de la qualité Web
8Meetup WPParis 28 avril 2017 - Claire Bizingre
Quelles évolutions pour améliorer l’A11Y dans WordPress ?
Focus sur l’éditeur, les médias et
les widgets
9Meetup WPParis 28 avril 2017 - Claire Bizingre
• Plus de texte souligné
• Plus de texte justifié
Les évolutions effectuées dans l’éditeur WP
10Meetup WPParis 28 avril 2017 - Claire Bizingre
Critère accessibilité RGAA :
« Pour chaque page Web,
le texte ne doit pas être justifié.
Cette règle est-elle respectée ? »
Problème de lisibilité
Justification et espaces irréguliers
11Meetup WPParis 28 avril 2017 - Claire Bizingre
Bonne pratique Opquast :
« Le soulignement est réservé aux
hyperliens. »
Éviter les clics inutiles
Ce texte ne comporte aucun lien.
Un soulignement, un clic !
12Meetup WPParis 28 avril 2017 - Claire Bizingre
Accentuer les majuscules, c’est possible !
13Meetup WPParis 28 avril 2017 - Claire Bizingre
→ Évolution : supprimer le bouton couleurs du texte ?
Attention au contraste des couleurs
14Meetup WPParis 28 avril 2017 - Claire Bizingre
→ Évolution : avertir le rédacteur si usage de Titre 1 ?
→ Évolution : supprimer le Titre 1 ?
• Besoin d’une hiérarchie correcte
• Titre 1, titre de l’article ou la page
• À partir de Titre2 pour le contenu
Attention à la hiérarchie des titres
15Meetup WPParis 28 avril 2017 - Claire Bizingre
https://www.gregoirenoyelle.com/wordpress-personnaliser-menu-tinymce-4/
// supprimer le titre 1 de l'éditeur
function gn_tinymce_filtre($arr){
$arr['block_formats'] = 'Paragraph=p;Heading 2=h2;Heading 3=h3;
Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre';
return $arr;
}
// hook tiny_mce_before_init
add_filter('tiny_mce_before_init', 'gn_tinymce_filtre');
Suppression du titre 1 avec un hook WP
16Meetup WPParis 28 avril 2017 - Claire Bizingre
Dessiné par @anybodesign
Alternative vide,
alt="" généré
Titre rempli avec le nom
du fichier
Plus de alt rempli avec le titre du fichier, enfin !
17Meetup WPParis 28 avril 2017 - Claire Bizingre
Dessiné par @anybodesign
Attribut alt rempli
Alternative pour décrire l’image
Meetup WPParis 28 avril 2017 - Claire Bizingre 18
→ Évolution : avertir le rédacteur si le texte
alternatif est vide sur le logo ?
Si le logo est cliquable via le thème, le lien est vide !
<a href="https://wpparis.fr/">
<img src="https://wpparis.fr/wp-content/uploads/2016/05/wpparis-
boat-600x600.png"" alt="" … />
</a>
Dessiné par @anybodesign
Logo « Apparence », attention à l’alternative vide
19Meetup WPParis 28 avril 2017 - Claire Bizingre
Si le logo est cliquable via le thème, le lien a un intitulé :
l’alternative !
<a href="https://wpparis.fr/">
<img src="https://wpparis.fr/wp-content/uploads/2016/05/wpparis-
boat-600x600.png""
alt="WP Paris – L’association des utilisateurs parisiens de WordPress" />
</a>
Dessiné par @anybodesign
Logo dans « Apparence », remplir l’alternative
20Meetup WPParis 28 avril 2017 - Claire Bizingre
L’ouverture du lien dans un nouvel
onglet n’est pas signalé à l’internaute !
<a href=https://www.o2switch.fr/
target="_blank">o2switch</a>
héberge gracieusement WP Paris.
o2switch héberge gracieusement WP Paris.
Nouvelle fenêtre, nécessité d’avertir l’internaute
21Meetup WPParis 28 avril 2017 - Claire Bizingre
L’attribut title généré sur le lien contient le texte
du lien suivi de nouvelle fenêtre.
<a href=https://www.o2switch.fr/
target="_blank"
title="o2switch - nouvelle fenêtre">o2switch</a>
héberge gracieusement WP Paris.
→ Évolution : sur le lien, génération
automatique si case cochée : title="o2switch –
nouvelle fenêtre" ?
o2switch héberge gracieusement WP Paris.
Nouvelle fenêtre, title généré automatiquement
22Meetup WPParis 28 avril 2017 - Claire Bizingre
L’attribut title généré sur le lien, contient le texte
du champ de saisie.
o2switch – nouvelle fenêtreTitle du lien
→ Évolution : ajout d’un nouveau champ title avec
remplissage par défaut pour aider le rédacteur :
o2switch – nouvelle fenêtre ?
o2switch héberge gracieusement WP Paris.
Nouvelle fenêtre, champ title éditable
Meetup WPParis 28 avril 2017 - Claire Bizingre 23
Indication sur le lien et non sur l’image, comment faire ?
Nouvelle fenêtre sur image cliquable
24Meetup WPParis 28 avril 2017 - Claire Bizingre
L’attribut title généré sur le lien, contient
le texte du champ de saisie.
o2switch – nouvelle fenêtreTitle du lien
→ Évolution : ajout d’un nouveau champ
title avec remplissage par défaut pour
aider le rédacteur : o2switch –
nouvelle fenêtre ?
→ Évolution : sur le lien, génération
automatique si case cochée :
title="o2switch – nouvelle fenêtre" ?
Nouvelle fenêtre sur une image cliquable, évolutions
25Meetup WPParis 28 avril 2017 - Claire Bizingre
→ Évolution : générer automatiquement le format et le poids ?
<a href="tableau-recapitulatif-des-aides-et-subventions.pdf" >
Tableau récapitulatif des aides et subventions (pdf - 186 ko)
</a>
Fichier en téléchargement, format et poids nécessaires
26Meetup WPParis 28 avril 2017 - Claire Bizingre
• Suppression de l’attribut title
(info bulle) sur les liens
• Inutile car identique à l’intitulé
du lien
Title redondant sur catégories et archives, c‘est fini !
27Meetup WPParis 28 avril 2017 - Claire Bizingre
Élément
de liste
Élément
de liste
→ Évolution : générer une balise <div> pour chaque widget ?
Génération de la balise <li> pour
chaque widget
Widgets, génération d’une liste par défaut
28Meetup WPParis 28 avril 2017 - Claire Bizingre
function theme_slug_widgets_init() {
register_sidebar(array(
…
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
));
}
// hook widgets_init
add_action( 'widgets_init', 'theme_slug_widgets_init' );
Widgets, modification du code avec un hook WP
29Meetup WPParis 28 avril 2017 - Claire Bizingre
Voir le ticket #35566 : https://core.trac.wordpress.org/focus/accessibility
→ Évolution : générer une liste de liens, unité em, rem, title
avec l’intitulé du lien et le nombre d’articles ?
• Pas de balise <ul>
• Pas de balise <li> pour chaque lien
Widget nuage de tags, pas de liste, unité pt, title ambigu
30Meetup WPParis 28 avril 2017 - Claire Bizingre
function custom_tag_cloud_widget($args){
// génération d’une liste de liens
$args['format'] = 'list';
return $args;
}
// hook widget_tag_cloud_args
add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' );
Widget nuage de tags, liste de liens avec hook WP
31Meetup WPParis 28 avril 2017 - Claire Bizingre
→ Évolution : générer un h2 à la place d’un h3
pour le sous-titre « Laisser un commentaire » ?
$comments_args = array(
'title_reply_before' => '<h2 id="reply-title">',
'title_reply_after' => '</h2>'
);
comment_form($comments_args);
« Laisser un commentaire », h3 par défaut
32Meetup WPParis 28 avril 2017 - Claire Bizingre
• Thème avec le tag « accessibility ready »
• Utiliser wp_accessibility pour les thèmes téléchargés
• Traduire les thèmes
• Les améliorer avec des thèmes enfants.
• Développer vos propres thèmes pour intégrer l’A11Y :
https://anybodesign.com/coder-propre-theme-wordpress/
• Améliorer les plugins : WCAG 2.0 form fields for Gravity Forms pour
Gravity Form, hooks de WooCommerce, patch JS…
Et les thèmes, et les plugins !
Meetup WPParis 28 avril 2017 - Claire Bizingre 33
• Accessibility section - jQuery Plugins - Nicolas Hoffmann :
https://a11y.nicolas-hoffmann.net/
• Van11y (Vanilla-Accessibility) - collection de scripts accessibles –
Nicolas Hoffmann : https://van11y.net/fr/
Composants accessibles
34Meetup WPParis 28 avril 2017 - Claire Bizingre
Claire Bizingre
@accesbilis
https://www.linkedin.com/in/claire-bizingre/
Merci !

A11y et WordPress

  • 1.
    Meetup WP Paris28 avril 2017 Remix Coworking Paris 8 (Saint-Lazare) Accessibilité (A11Y) dans WordPress
  • 2.
    2Meetup WPParis 28avril 2017 - Claire Bizingre @accesbilis www.accesbilis.fr Consultante formatrice Web Accessibilité numérique et WordPress Claire Bizingre
  • 3.
    3Meetup WPParis 28avril 2017 - Claire Bizingre Accessibilité universelle Non-voyants Séniors Sourds Malvoyants Daltoniens Handicap moteur Membres supérieurs Malentendants Dyslexiques Handicap mental Les internautes concernés
  • 4.
    4Meetup WPParis 28avril 2017 - Claire Bizingre @WPAccessibility https://make.wordpress.org/accessibility/ WordPress A11Y team
  • 5.
    5Meetup WPParis 28avril 2017 - Claire Bizingre Thèmes Contenus Plugins Défauts potentiels d’accessibilité dans WP
  • 6.
    6Meetup WPParis 28avril 2017 - Claire Bizingre Contenus et éditeurPluginsThèmesMaquette graphique Prototype Cahier des charges Conception Intégration Développement Rédaction Tout au long du projet L’accessibilité et la gestion d’un projet WP
  • 7.
    7Meetup WPParis 28avril 2017 - Claire Bizingre http://checklists.opquast.com/fr/ A11Y Référencement Webmarketing Traduction Performance Sécurité Code Responsive Webdesign ErgonomieServices Contenus L’accessibilité, un des éléments de la qualité Web
  • 8.
    8Meetup WPParis 28avril 2017 - Claire Bizingre Quelles évolutions pour améliorer l’A11Y dans WordPress ? Focus sur l’éditeur, les médias et les widgets
  • 9.
    9Meetup WPParis 28avril 2017 - Claire Bizingre • Plus de texte souligné • Plus de texte justifié Les évolutions effectuées dans l’éditeur WP
  • 10.
    10Meetup WPParis 28avril 2017 - Claire Bizingre Critère accessibilité RGAA : « Pour chaque page Web, le texte ne doit pas être justifié. Cette règle est-elle respectée ? » Problème de lisibilité Justification et espaces irréguliers
  • 11.
    11Meetup WPParis 28avril 2017 - Claire Bizingre Bonne pratique Opquast : « Le soulignement est réservé aux hyperliens. » Éviter les clics inutiles Ce texte ne comporte aucun lien. Un soulignement, un clic !
  • 12.
    12Meetup WPParis 28avril 2017 - Claire Bizingre Accentuer les majuscules, c’est possible !
  • 13.
    13Meetup WPParis 28avril 2017 - Claire Bizingre → Évolution : supprimer le bouton couleurs du texte ? Attention au contraste des couleurs
  • 14.
    14Meetup WPParis 28avril 2017 - Claire Bizingre → Évolution : avertir le rédacteur si usage de Titre 1 ? → Évolution : supprimer le Titre 1 ? • Besoin d’une hiérarchie correcte • Titre 1, titre de l’article ou la page • À partir de Titre2 pour le contenu Attention à la hiérarchie des titres
  • 15.
    15Meetup WPParis 28avril 2017 - Claire Bizingre https://www.gregoirenoyelle.com/wordpress-personnaliser-menu-tinymce-4/ // supprimer le titre 1 de l'éditeur function gn_tinymce_filtre($arr){ $arr['block_formats'] = 'Paragraph=p;Heading 2=h2;Heading 3=h3; Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre'; return $arr; } // hook tiny_mce_before_init add_filter('tiny_mce_before_init', 'gn_tinymce_filtre'); Suppression du titre 1 avec un hook WP
  • 16.
    16Meetup WPParis 28avril 2017 - Claire Bizingre Dessiné par @anybodesign Alternative vide, alt="" généré Titre rempli avec le nom du fichier Plus de alt rempli avec le titre du fichier, enfin !
  • 17.
    17Meetup WPParis 28avril 2017 - Claire Bizingre Dessiné par @anybodesign Attribut alt rempli Alternative pour décrire l’image
  • 18.
    Meetup WPParis 28avril 2017 - Claire Bizingre 18 → Évolution : avertir le rédacteur si le texte alternatif est vide sur le logo ? Si le logo est cliquable via le thème, le lien est vide ! <a href="https://wpparis.fr/"> <img src="https://wpparis.fr/wp-content/uploads/2016/05/wpparis- boat-600x600.png"" alt="" … /> </a> Dessiné par @anybodesign Logo « Apparence », attention à l’alternative vide
  • 19.
    19Meetup WPParis 28avril 2017 - Claire Bizingre Si le logo est cliquable via le thème, le lien a un intitulé : l’alternative ! <a href="https://wpparis.fr/"> <img src="https://wpparis.fr/wp-content/uploads/2016/05/wpparis- boat-600x600.png"" alt="WP Paris – L’association des utilisateurs parisiens de WordPress" /> </a> Dessiné par @anybodesign Logo dans « Apparence », remplir l’alternative
  • 20.
    20Meetup WPParis 28avril 2017 - Claire Bizingre L’ouverture du lien dans un nouvel onglet n’est pas signalé à l’internaute ! <a href=https://www.o2switch.fr/ target="_blank">o2switch</a> héberge gracieusement WP Paris. o2switch héberge gracieusement WP Paris. Nouvelle fenêtre, nécessité d’avertir l’internaute
  • 21.
    21Meetup WPParis 28avril 2017 - Claire Bizingre L’attribut title généré sur le lien contient le texte du lien suivi de nouvelle fenêtre. <a href=https://www.o2switch.fr/ target="_blank" title="o2switch - nouvelle fenêtre">o2switch</a> héberge gracieusement WP Paris. → Évolution : sur le lien, génération automatique si case cochée : title="o2switch – nouvelle fenêtre" ? o2switch héberge gracieusement WP Paris. Nouvelle fenêtre, title généré automatiquement
  • 22.
    22Meetup WPParis 28avril 2017 - Claire Bizingre L’attribut title généré sur le lien, contient le texte du champ de saisie. o2switch – nouvelle fenêtreTitle du lien → Évolution : ajout d’un nouveau champ title avec remplissage par défaut pour aider le rédacteur : o2switch – nouvelle fenêtre ? o2switch héberge gracieusement WP Paris. Nouvelle fenêtre, champ title éditable
  • 23.
    Meetup WPParis 28avril 2017 - Claire Bizingre 23 Indication sur le lien et non sur l’image, comment faire ? Nouvelle fenêtre sur image cliquable
  • 24.
    24Meetup WPParis 28avril 2017 - Claire Bizingre L’attribut title généré sur le lien, contient le texte du champ de saisie. o2switch – nouvelle fenêtreTitle du lien → Évolution : ajout d’un nouveau champ title avec remplissage par défaut pour aider le rédacteur : o2switch – nouvelle fenêtre ? → Évolution : sur le lien, génération automatique si case cochée : title="o2switch – nouvelle fenêtre" ? Nouvelle fenêtre sur une image cliquable, évolutions
  • 25.
    25Meetup WPParis 28avril 2017 - Claire Bizingre → Évolution : générer automatiquement le format et le poids ? <a href="tableau-recapitulatif-des-aides-et-subventions.pdf" > Tableau récapitulatif des aides et subventions (pdf - 186 ko) </a> Fichier en téléchargement, format et poids nécessaires
  • 26.
    26Meetup WPParis 28avril 2017 - Claire Bizingre • Suppression de l’attribut title (info bulle) sur les liens • Inutile car identique à l’intitulé du lien Title redondant sur catégories et archives, c‘est fini !
  • 27.
    27Meetup WPParis 28avril 2017 - Claire Bizingre Élément de liste Élément de liste → Évolution : générer une balise <div> pour chaque widget ? Génération de la balise <li> pour chaque widget Widgets, génération d’une liste par défaut
  • 28.
    28Meetup WPParis 28avril 2017 - Claire Bizingre function theme_slug_widgets_init() { register_sidebar(array( … 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', )); } // hook widgets_init add_action( 'widgets_init', 'theme_slug_widgets_init' ); Widgets, modification du code avec un hook WP
  • 29.
    29Meetup WPParis 28avril 2017 - Claire Bizingre Voir le ticket #35566 : https://core.trac.wordpress.org/focus/accessibility → Évolution : générer une liste de liens, unité em, rem, title avec l’intitulé du lien et le nombre d’articles ? • Pas de balise <ul> • Pas de balise <li> pour chaque lien Widget nuage de tags, pas de liste, unité pt, title ambigu
  • 30.
    30Meetup WPParis 28avril 2017 - Claire Bizingre function custom_tag_cloud_widget($args){ // génération d’une liste de liens $args['format'] = 'list'; return $args; } // hook widget_tag_cloud_args add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' ); Widget nuage de tags, liste de liens avec hook WP
  • 31.
    31Meetup WPParis 28avril 2017 - Claire Bizingre → Évolution : générer un h2 à la place d’un h3 pour le sous-titre « Laisser un commentaire » ? $comments_args = array( 'title_reply_before' => '<h2 id="reply-title">', 'title_reply_after' => '</h2>' ); comment_form($comments_args); « Laisser un commentaire », h3 par défaut
  • 32.
    32Meetup WPParis 28avril 2017 - Claire Bizingre • Thème avec le tag « accessibility ready » • Utiliser wp_accessibility pour les thèmes téléchargés • Traduire les thèmes • Les améliorer avec des thèmes enfants. • Développer vos propres thèmes pour intégrer l’A11Y : https://anybodesign.com/coder-propre-theme-wordpress/ • Améliorer les plugins : WCAG 2.0 form fields for Gravity Forms pour Gravity Form, hooks de WooCommerce, patch JS… Et les thèmes, et les plugins !
  • 33.
    Meetup WPParis 28avril 2017 - Claire Bizingre 33 • Accessibility section - jQuery Plugins - Nicolas Hoffmann : https://a11y.nicolas-hoffmann.net/ • Van11y (Vanilla-Accessibility) - collection de scripts accessibles – Nicolas Hoffmann : https://van11y.net/fr/ Composants accessibles
  • 34.
    34Meetup WPParis 28avril 2017 - Claire Bizingre Claire Bizingre @accesbilis https://www.linkedin.com/in/claire-bizingre/ Merci !