{"id":1831,"date":"2024-03-27T14:25:17","date_gmt":"2024-03-27T13:25:17","guid":{"rendered":"https:\/\/ideance.net\/blog\/?p=1831"},"modified":"2024-03-28T10:02:32","modified_gmt":"2024-03-28T09:02:32","slug":"accessibilite-et-titres-de-section","status":"publish","type":"post","link":"https:\/\/ideance.net\/blog\/en\/1831\/accessibilite-et-titres-de-section\/","title":{"rendered":"Accessibilit\u00e9 et titres de section"},"content":{"rendered":"<p>Les titres dans une page web sont essentiels pour organiser ses contenus.<\/p>\n\n\n\n<p>Cette organisation doit \u00eatre v\u00e9hicul\u00e9e visuellement mais aussi dans le code.<\/p>\n\n\n\n<p>Visuellement, des titres hi\u00e9rarchis\u00e9s via leur mise en forme permettent d\u2019identifier rapidement les diff\u00e9rentes sections de la page.<\/p>\n\n\n\n<p>Dans le code, les titres <code>&lt;h<em>x<\/em>&gt;<\/code> permettent notamment de transmettre la structure de la page aux technologies d\u2019assistance et de naviguer facilement d\u2019une section \u00e0 l\u2019autre.<\/p>\n\n\n\n<p>Prenons l\u2019exemple d\u2019une personne aveugle naviguant avec un lecteur d\u2019\u00e9cran (plage braille et\/ou synth\u00e8se vocale)&nbsp;: une bonne structuration par titres lui donne, entre autres, la possibilit\u00e9 d\u2019avoir une table des mati\u00e8res de la page et de naviguer facilement de titre en titre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Utiliser des titres<\/h2>\n\n\n\n<p>Un titre est un passage de texte d\u00e9crivant le contenu qui le suit.<\/p>\n\n\n\n<p>Chaque titre a un niveau d\u2019importance sur la page.<\/p>\n\n\n\n<p>Visuellement, cela peut se traduire par une taille plus ou moins grande de la police en fonction du niveau, par exemple.<\/p>\n\n\n\n<p>Dans le code, les diff\u00e9rentes balises de <code>&lt;h1&gt;<\/code> \u00e0 <code>&lt;h6&gt;<\/code> donnent un niveau au titre. <code>&lt;h1&gt;<\/code> repr\u00e9sente le titre de la plus haute importance sur la page. <code>&lt;h6&gt;<\/code> repr\u00e9sente celui de la moindre importance.<\/p>\n\n\n\n<p>Exemple de hi\u00e9rarchie de titres :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;Risotto aux c&egrave;pes&lt;\/h1&gt;\n &lt;h2&gt;La recette&lt;\/h2&gt;\n  &lt;h3&gt;Ingr&eacute;dients&lt;\/h3&gt;\n  &lt;h3&gt;Pr&eacute;paration&lt;\/h3&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized with-border\"><img loading=\"lazy\" decoding=\"async\" width=\"261\" height=\"187\" src=\"https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image1.png\" alt=\"\" class=\"wp-image-1834\" style=\"width:300px\" srcset=\"https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image1.png 261w, https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image1-18x12.png 18w\" sizes=\"auto, (max-width: 261px) 100vw, 261px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f4t\u00e9 RGAA<\/h2>\n\n\n\n<p><a href=\"https:\/\/accessibilite.numerique.gouv.fr\/methode\/criteres-et-tests\/#9.1\">Le crit\u00e8re 9.1<\/a> du R\u00e9f\u00e9rentiel G\u00e9n\u00e9ral d\u2019Am\u00e9lioration de l\u2019Accessibilit\u00e9 (RGAA) demande de v\u00e9rifier que l\u2019information de chaque page est correctement structur\u00e9e par des titres.<\/p>\n\n\n\n<p>Pour cela, trois tests doivent \u00eatre valid\u00e9s&nbsp;:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>La hi\u00e9rarchie des titres est-elle pertinente&nbsp;?<\/li>\n\n\n\n<li>Chaque titre est-il pertinent&nbsp;?<\/li>\n\n\n\n<li>Chaque titre visuel l\u2019est-il aussi dans le code&nbsp;?<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Hi\u00e9rarchie des titres<\/h3>\n\n\n\n<p>L\u2019attribution des niveaux aux titres doit \u00eatre coh\u00e9rente avec la structure de la page et ses contenus. Ainsi, il faut veiller \u00e0 ce qu\u2019un titre de grande importance ait un niveau de titre coh\u00e9rent par rapport \u00e0 un autre titre de moindre importance&nbsp;: c\u2019est-\u00e0-dire que le niveau du premier titre soit inf\u00e9rieur au second.<\/p>\n\n\n\n<p>Exemple incorrect\u00a0: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2&gt;Risotto aux c&egrave;pes&lt;\/h2&gt;\n &lt;h3&gt;La recette&lt;\/h3&gt;\n  &lt;h1&gt;Ingr&eacute;dients&lt;\/h1&gt;\n  &lt;h1&gt;Pr&eacute;paration&lt;\/h1&gt;<\/code><\/pre>\n\n\n\n<p>Ici, les titres <code>&lt;h1&gt;<\/code> devraient \u00eatre de niveau 4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pertinence des titres<\/h3>\n\n\n\n<p>Les passages de texte structur\u00e9s en titres doivent d\u00e9crire de fa\u00e7on pertinente le contenu qu\u2019ils introduisent.<\/p>\n\n\n\n<p>Exemple incorrect : <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2&gt;La recette&lt;\/h2&gt;\n &lt;p&gt;Risotto aux c&egrave;pes&lt;\/p&gt;\n &lt;h3&gt;Les ingr&eacute;dients&lt;\/h3&gt;\n&lt;h2&gt;La recette&lt;\/h2&gt;\n &lt;p&gt;La carbonnade&lt;\/p&gt;\n &lt;h3&gt;Les ingr&eacute;dients&lt;\/h3&gt;<\/code><\/pre>\n\n\n\n<p>Les titres <code>&lt;h2&gt;<\/code> ne d\u00e9crivent pas de fa\u00e7on pertinente le contenu qui les suit. Ces titres devraient contenir le nom de la recette.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">S\u00e9mantique des titres<\/h3>\n\n\n\n<p>Les passages de texte qui sont visuellement des titres structurant les contenus de la page doivent avoir la s\u00e9mantique de titre dans le code.<\/p>\n\n\n\n<p>Cette s\u00e9mantique s\u2019obtient de deux fa\u00e7ons :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En utilisant les balises HTML <code>&lt;h<em>x<\/em>&gt;<\/code>.<\/li>\n\n\n\n<li>Ou en utilisant les attributs ARIA (<span lang=\"en\">Accessible Rich Internet Applications<\/span>) <code>role=\"heading\"<\/code> et <code>aria-level<\/code>, repr\u00e9sentant le niveau du titre.<\/li>\n<\/ul>\n\n\n\n<p>La deuxi\u00e8me m\u00e9thode n\u2019est \u00e0 utiliser que dans des cas tr\u00e8s sp\u00e9cifiques o\u00f9 il est impossible d\u2019utiliser les balises <code>&lt;h<em>x<\/em>&gt;<\/code> natives. Par exemple, dans le cadre de la mise en accessibilit\u00e9 d\u2019un code h\u00e9rit\u00e9 qui ne peut \u00eatre drastiquement modifi\u00e9.<\/p>\n\n\n\n<p>Exemple incorrect\u00a0: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;Risotto aux c&egrave;pes&lt;\/h1&gt;\n&lt;p&gt;Un plat r&eacute;confortant v&eacute;g&eacute;tarien&lt;\/p&gt;\n&lt;p style=&quot;font-weight:bold;font-size:1.5rem;&quot;&gt;Les ingr&eacute;dients&lt;\/p&gt;<\/code><\/pre>\n\n\n\n<p>Le passage de texte \u00ab\u00a0Les ingr\u00e9dients\u00a0\u00bb doit \u00eatre structur\u00e9 avec un \u00e9l\u00e9ment <code>&lt;h2&gt;<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bonnes pratiques<\/h2>\n\n\n\n<p>Pour une structuration par titres la plus accessible possible, voici une liste de r\u00e8gles \u00e0 respecter&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La page contient un titre de niveau 1 (<code>&lt;h1&gt;<\/code>) qui d\u00e9crit son contenu principal ou sa fonctionnalit\u00e9 principale&nbsp;: en pratique, id\u00e9alement, il devrait \u00eatre identique \u00e0 l\u2019\u00e9l\u00e9ment <code>&lt;title&gt;<\/code>, titre de la page.<\/li>\n\n\n\n<li>Les sous-titres <code>&lt;h2&gt;<\/code> jusqu\u2019\u00e0 <code>&lt;h6&gt;<\/code> structurent les titres des sous-sections de la page et se distinguent du texte environnant par une mise en forme sp\u00e9cifique \u00e0 chaque niveau.<\/li>\n\n\n\n<li>Les niveaux de titre sont utilis\u00e9s sans discontinuit\u00e9&nbsp;: il faut \u00e9viter les sauts de niveau pouvant perturber les personnes naviguant avec une technologie d\u2019assistance. Par exemple, apr\u00e8s un titre de niveau 2 <code>&lt;h2&gt;<\/code>, passer \u00e0 un titre de niveau 3 <code>&lt;h3&gt;<\/code> plut\u00f4t qu\u2019\u00e0 un titre de niveau 4 <code>&lt;h4&gt;<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conforme ? Non conforme ?<\/h2>\n\n\n\n<p>Les r\u00e8gles \u00e9nonc\u00e9es pr\u00e9c\u00e9demment restent du domaine des bonnes pratiques. En ce qui concerne la conformit\u00e9 stricte, voici ce qu\u2019il faut retenir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ce qui est non-conforme&nbsp;:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une hi\u00e9rarchie de titre non coh\u00e9rente.<\/li>\n\n\n\n<li>Un titre ne d\u00e9crivant pas de fa\u00e7on pertinente la section qu\u2019il introduit.<\/li>\n\n\n\n<li>Un titre visuel sans la s\u00e9mantique dans le code.<\/li>\n\n\n\n<li>La s\u00e9mantique de titre utilis\u00e9e sur un \u00e9l\u00e9ment autre qu\u2019un titre (\u00e9l\u00e9ment <code>&lt;h<em>x<\/em>&gt;<\/code> utilis\u00e9 pour la mise en forme et non pour la structuration).<\/li>\n\n\n\n<li>Un titre vide (\u00e9l\u00e9ment <code>&lt;h<em>x<\/em>&gt;<\/code> sans contenu).<\/li>\n\n\n\n<li>Un titre n\u2019introduisant aucun contenu (\u00e9l\u00e9ment <code>&lt;h<em>x<\/em>&gt;<\/code> non suivi d\u2019un contenu de section).<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Exemples non conformes :<\/h4>\n\n\n\n<p>Titre vide :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;&lt;\/h1&gt;<\/code><\/pre>\n\n\n\n<p>Titre utilis\u00e9 pour la mise en forme d&rsquo;une citation :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2&gt;&laquo; Le pouvoir du Web est dans son universalit&eacute; &raquo;&lt;\/h2&gt; &lt;span&gt;- Tim Berners-Lee&lt;\/span&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Ce qui est conforme :<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u2019absence de titre de niveau 1 <code>&lt;h1&gt;<\/code>.<\/li>\n\n\n\n<li>Plusieurs titres de niveau 1 <code>&lt;h1&gt;<\/code>.<\/li>\n\n\n\n<li>Les sauts dans les niveaux de titre si la hi\u00e9rarchie reste coh\u00e9rente.<\/li>\n\n\n\n<li>Plusieurs titres identiques si le niveau est diff\u00e9rent de 1.<\/li>\n\n\n\n<li>L\u2019insuffisance de titres dans la page, sauf si <a href=\"https:\/\/www.w3.org\/Translations\/WCAG21-fr\/#section-headings\">le niveau AAA des WCAG<\/a> (r\u00e8gles internationales pour l\u2019accessibilit\u00e9 des contenus web) est vis\u00e9.<\/li>\n\n\n\n<li>Les titres visuellement cach\u00e9s en CSS, si ce masquage est accessible, permettant leur restitution par les technologies d\u2019assistance (<a href=\"https:\/\/accessibilite.numerique.gouv.fr\/methode\/glossaire\/#titre\">voir l\u2019entr\u00e9e du glossaire du RGAA<\/a>).<\/li>\n\n\n\n<li>Diff\u00e9rentes mises en forme pour un m\u00eame niveau de titre.<\/li>\n\n\n\n<li>Une mise en forme identique pour des niveaux de titre diff\u00e9rents.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Exemples conformes :<\/h4>\n\n\n\n<p>Saut de niveau : passage \u00e0 un niveau 5 juste apr\u00e8s un niveau 3<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2&gt;Risotto aux c&egrave;pes&lt;\/h2&gt;\n &lt;h3&gt;La recette&lt;\/h3&gt;\n  &lt;h5&gt;Ingr&eacute;dients&lt;\/h5&gt;\n  &lt;h5&gt;Pr&eacute;paration&lt;\/h5&gt;<\/code><\/pre>\n\n\n\n<p>Titres identiques :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2&gt;Risotto aux c&egrave;pes&lt;\/h2&gt;\n &lt;h3&gt;La recette&lt;\/h3&gt;\n  &lt;h4&gt;Ingr&eacute;dients&lt;\/h4&gt;\n  &lt;h4&gt;Pr&eacute;paration&lt;\/h4&gt;\n&lt;h2&gt;Carbonnade flamande&lt;\/h2&gt;\n &lt;h3&gt;La recette&lt;\/h3&gt;\n  &lt;h4&gt;Ingr&eacute;dients&lt;\/h4&gt;\n  &lt;h4&gt;Pr&eacute;paration&lt;\/h4&gt;<\/code><\/pre>\n\n\n\n<p>Mises en forme diff\u00e9rentes pour un m\u00eame niveau de titre :<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized with-border\"><img loading=\"lazy\" decoding=\"async\" width=\"381\" height=\"192\" src=\"https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image2.png\" alt=\"Un titre de niveau 3 est en majuscules. Un autre titre de niveau 3 est en minuscules et en italique. \" class=\"wp-image-1843\" style=\"width:300px\" srcset=\"https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image2.png 381w, https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image2-300x151.png 300w, https:\/\/ideance.net\/blog\/wp-content\/uploads\/2024\/03\/image2-18x9.png 18w\" sizes=\"auto, (max-width: 381px) 100vw, 381px\" \/><\/figure>\n\n\n\n<p class=\"ice-block is-green\">Il est \u00e0 noter que si l\u2019on s\u2019en tient \u00e0 la conformit\u00e9 stricte, le niveau d\u2019accessibilit\u00e9 peut s\u2019av\u00e9rer largement perfectible. Une occasion de rappeler que <strong>la conformit\u00e9 ne garantit pas l\u2019accessibilit\u00e9 optimale<\/strong> de la page. L\u2019application de l\u2019ensemble des bonnes pratiques permet d\u2019am\u00e9liorer l\u2019exp\u00e9rience de l\u2019utilisateur et de l\u2019utilisatrice en facilitant sa navigation dans la page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ressources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/accessibilite.numerique.gouv.fr\/methode\/criteres-et-tests\/#9.1\">Crit\u00e8re 9.1 du RGAA<\/a> concernant la structuration par titres de la page.<\/li>\n\n\n\n<li><a href=\"https:\/\/checklists.opquast.com\/fr\/assurance-qualite-web\/le-contenu-de-chaque-page-est-organise-selon-une-structure-de-titres-et-sous-titres-hierarchisee\">R\u00e8gle n\u00b0227 OPQUAST<\/a> (r\u00e8gles de qualit\u00e9 web) concernant la structuration par titres de la page.<\/li>\n\n\n\n<li><a href=\"https:\/\/developer.mozilla.org\/fr\/docs\/Web\/HTML\/Element\/Heading_Elements\">Les \u00e9l\u00e9ments de titre de section HTML<\/a>.<\/li>\n\n\n\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/Accessibility\/ARIA\/Roles\/heading_role\">ARIA&nbsp;: le r\u00f4le \u00ab&nbsp;heading&nbsp;\u00bb (en anglais).<\/a> <\/li>\n\n\n\n<li>HeadingMaps&nbsp;: extension de navigateur pour <a href=\"https:\/\/addons.mozilla.org\/fr\/firefox\/addon\/headingsmap\/\">Firefox<\/a> et <a href=\"https:\/\/chromewebstore.google.com\/detail\/headingsmap\/flbjommegcjonpdmenkdiocclhjacmbi\">Chrome<\/a> permettant d\u2019afficher la hi\u00e9rarchie de titres de la page.<\/li>\n\n\n\n<li><a href=\"https:\/\/www.tpgi.com\/heading-off-confusion-when-do-headings-fail-wcag\/\">Article de TPGi \u00e0 propos de la conformit\u00e9 WCAG des titres (en anglais).<\/a> <\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Les titres dans une page web sont essentiels pour organiser ses contenus. Cette organisation doit \u00eatre v\u00e9hicul\u00e9e visuellement mais aussi dans le code. Visuellement, des titres hi\u00e9rarchis\u00e9s via leur mise en forme permettent d\u2019identifier rapidement les diff\u00e9rentes sections de la page. Dans le code, les titres &lt;hx&gt; permettent notamment de transmettre la structure de la&hellip;<\/p>","protected":false},"author":13,"featured_media":1832,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[20,14,21],"tags":[],"class_list":["post-1831","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-audit","category-rgaa","category-wcag"],"acf":[],"_links":{"self":[{"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/posts\/1831","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/comments?post=1831"}],"version-history":[{"count":19,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/posts\/1831\/revisions"}],"predecessor-version":[{"id":1867,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/posts\/1831\/revisions\/1867"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/media\/1832"}],"wp:attachment":[{"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/media?parent=1831"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/categories?post=1831"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ideance.net\/blog\/en\/wp-json\/wp\/v2\/tags?post=1831"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}