aboutsummaryrefslogtreecommitdiff
path: root/files/fr/learn/html/tables/advanced
diff options
context:
space:
mode:
authorFlorian Merz <me@fiji-flo.de>2021-02-11 12:36:08 +0100
committerFlorian Merz <me@fiji-flo.de>2021-02-11 12:36:08 +0100
commit39f2114f9797eb51994966c6bb8ff1814c9a4da8 (patch)
tree66dbd9c921f56e440f8816ed29ac23682a1ac4ef /files/fr/learn/html/tables/advanced
parent8260a606c143e6b55a467edf017a56bdcd6cba7e (diff)
downloadtranslated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.tar.gz
translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.tar.bz2
translated-content-39f2114f9797eb51994966c6bb8ff1814c9a4da8.zip
unslug fr: move
Diffstat (limited to 'files/fr/learn/html/tables/advanced')
-rw-r--r--files/fr/learn/html/tables/advanced/index.html479
1 files changed, 479 insertions, 0 deletions
diff --git a/files/fr/learn/html/tables/advanced/index.html b/files/fr/learn/html/tables/advanced/index.html
new file mode 100644
index 0000000000..30815fb4ec
--- /dev/null
+++ b/files/fr/learn/html/tables/advanced/index.html
@@ -0,0 +1,479 @@
+---
+title: 'Tableaux HTML : dispositions avancées et accessibilité'
+slug: Apprendre/HTML/Tableaux/Advanced
+tags:
+ - Accessibilité
+ - Apprentissage
+ - Article
+ - Avancés
+ - Codage
+ - Débutant
+ - En-têtes
+ - HTML
+ - Imbrication
+ - Portée
+ - Tableaux
+ - caption
+ - resume
+ - tbody
+ - tfoot
+ - thead
+translation_of: Learn/HTML/Tables/Advanced
+---
+<div>{{LearnSidebar}}</div>
+
+<div>{{PreviousMenuNext("Learn/HTML/Tables/Basics", "Learn/HTML/Tables/Structuring_planet_data", "Learn/HTML/Tables")}}</div>
+
+<p class="summary">Dans le second article de ce module, nous examinerons quelques dispositions avancées des tableaux HTML — comme intitulés ou résumés, groupement des rangées dans l'en-tête, le corps ou le pied de page du tableau — ainsi que l'accessibilité des tableaux aux utilisateurs malvoyants.</p>
+
+<table class="learn-box standard-table">
+ <tbody>
+ <tr>
+ <th scope="row">Prérequis :</th>
+ <td>Les bases de HTML (voir <a href="/fr/docs/Learn/HTML/Introduction_to_HTML">Introduction au HTML</a>).</td>
+ </tr>
+ <tr>
+ <th scope="row">Objectif :</th>
+ <td>En apprendre plus sur les fonctionnalités HTML plus avancées et l'accessibilité aux tableaux.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Ajouter_un_titre_aux_tableaux_avec_&lt;caption>">Ajouter un titre aux tableaux avec &lt;caption&gt;</h2>
+
+<p>Vous pouvez intituler un tableau en mettant son titre dans un élément {{htmlelement("caption")}} et en englobant le tout dans un élément {{htmlelement("table")}}. Mettez le titre juste après la balise ouvrante <code>&lt;table&gt;</code>.</p>
+
+<pre class="brush: html">&lt;table&gt;
+ &lt;caption&gt;Dinosaures dans le Jurassique&lt;/caption&gt;
+
+ ...
+&lt;/table&gt;</pre>
+
+<p>Comme vous pouvez le voir sur le bref exemple ci-dessus, le titre consiste en une description synthétique du contenu du tableau. C'est utile pour tous les lecteurs qui souhaitent savoir rapidement si le tableau peut leur être utile, sans avoir à parcourir tout le contenu, en particulier s'ils sont malvoyants. Plutôt que de faire lire au lecteur d'écran de nombreuses cellules pour savoir sur quoi porte le tableau, il ou elle peut se fier au titre, puis décider de lire ou non le tableau dans le détail.</p>
+
+<p>Le titre est placé directement sous la balise <code>&lt;table&gt;</code>.</p>
+
+<div class="note">
+<p><strong>Note</strong> : L'attribut {{htmlattrxref("summary","table")}} peut aussi être utilisé dans un élément <code>&lt;table&gt;</code> pour fournir une description — il sera lu également par les lecteurs d'écran. Toutefois, nous nous devons de recommander plutôt l'utilisation de l'élément <code>&lt;caption&gt;</code>,  car <code>summary</code> est considéré comme {{glossary("deprecated", "obsolète")}} par la norme HTLM5, et ne peut être lu par l'utilisateur courant  (il n'apparaît pas dans la page).</p>
+</div>
+
+<h3 id="Apprentissage_actif_Ajouter_un_titre">Apprentissage actif : Ajouter un titre</h3>
+
+<p>Essayons en revisitant un exemple rencontré dans l'article précédent.</p>
+
+<ol>
+ <li>Ouvrez le planning du professeur de langue de la fin de <a href="/fr/docs/Learn/HTML/Tables/Basics#Active_learning_colgroup_and_col">Tableaux HTML : notions de base</a> ou faites une copie locale du fichier <a href="https://github.com/mdn/learning-area/blob/master/html/tables/basic/timetable-fixed.html">timetable-fixed.html</a>.</li>
+ <li>Ajoutez un titre approprié pour le tableau.</li>
+ <li>Enregistrez votre code et ouvrez-le dans un navigateur pour voir à quoi il ressemble.</li>
+</ol>
+
+<div class="note">
+<p><strong>Note</strong>: Vous pouvez trouver notre version sur GitHub — voir <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/timetable-caption.html">timetable-caption.html</a> (<a href="http://mdn.github.io/learning-area/html/tables/advanced/timetable-caption.html">voir aussi directement</a>).</p>
+</div>
+
+<h2 id="Ajout_d'une_structure_avec_&lt;thead>_&lt;tfoot>_et_&lt;tbody>">Ajout d'une structure avec &lt;thead&gt;, &lt;tfoot&gt;, et &lt;tbody&gt;</h2>
+
+<p>Comme vos tableaux deviennent un peu plus structurellement complexes, il est utile d'en améliorer la définition. Une façon claire d'y parvenir consiste à utiliser les éléments {{htmlelement("thead")}}, {{htmlelement("tfoot")}} et {{htmlelement("tbody")}}, qui vous permettent de marquer l'en-tête, le pied et le corps du tableau.</p>
+
+<p>Ces éléments ne rendent pas le tableau plus accessible aux utilisateurs de lecteurs d'écran, et n'entraînent aucune amélioration visuelle par eux-mêmes. Ils sont cependant très utiles pour la présentation et la mise en page — agissant comme des accroches pour l'ajout des CSS. Pour vous donner quelques exemples intéressants, dans le cas d'un grand tableau, vous pouvez répéter l'en-tête et le pied de page sur chaque page imprimée ; vous pouvez prévoir l'affichage du corps sur une seule page et accéder au contenu par défilement vers le haut ou vers le bas.</p>
+
+<p>Pour les utiliser :</p>
+
+<ul>
+ <li>L'élément <code>&lt;thead&gt;</code> doit couvrir la partie du tableau qui est l'en-tête — ce sera en général la première ligne contenant les en-têtes de colonnes, mais pas toujours. Dans le code, si vous utilisez les éléments  {{htmlelement("col")}}/{{htmlelement("colgroup")}}, l'en-tête du tableau devrait venir juste en-dessous de ceux-ci.</li>
+ <li>L'élément <code>&lt;tfoot&gt;</code> doit envelopper la partie du tableau qui est le pied de page — ce peut être une dernière ligne contenant, par exemple, la somme des rangées précédentes. Vous pouvez inclure l'élément &lt;tfoot&gt;  à la suite du code contenant le corps du tableau, là où vous souhaitez le trouver, ou juste en-dessous de l'élément &lt;thead&gt; (le navigateur l'affichera toujours en pied de tableau).</li>
+ <li>L'élément <code>&lt;tbody&gt;</code>  doit couvrir toutes les parties du tableau non contenues dans un &lt;thead&gt; ou un &lt;tfoot&gt;. Il pourra apparaître dans le code, sous la déclaration de l'en-tête ou du pied de page, selon la façon dont vous avez décidé de le structurer (voir les notes ci‑dessus).</li>
+</ul>
+
+<div class="note">
+<p><strong>Note</strong> : <code>&lt;tbody&gt;</code> est toujours inclus dans tous les tableaux, implicitement si vous ne l'avez pas spécifié dans votre code. Pour le vérifier, ouvrez un tableau ne contenant pas l'élément <code>&lt;tbody&gt;</code> et regardez le code HTML dans les <a href="/fr/docs/Learn/Common_questions/What_are_browser_developer_tools">outils de développement de votre navigateur</a> — vous verrez que le navigateur a ajouté cette balise pour vous. Si vous vous demandez pourquoi  vous ennuyer à gérer ce qui est ajouté automatiquement — parce que cela vous donne plus de contrôle sur la structure et l'apparence de votre tableau.</p>
+</div>
+
+<h3 id="Apprentissage_actif_Ajout_d'une_structure_au_tableau">Apprentissage actif : Ajout d'une structure au tableau</h3>
+
+<p>Mettons en œuvre ces nouveaux éléments.</p>
+
+<ol>
+ <li>D'abord, faites une copie locale des fichiers <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/spending-record.html">spending-record.html</a> et <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/minimal-table.css">minimal-table.css</a> dans un nouveau dossier.</li>
+ <li>Essayez de les ouvrir dans un navigateur — vous verrez que cela paraît correct, mais gagnerait à être amélioré. La ligne "SUM" qui contient les totaux des montants dépensés semble être au mauvais endroit et il manque certains détails du code.</li>
+ <li>Mettez la ligne d'en-têtes en évidence avec l'élément <code>&lt;thead&gt;</code> , la ligne des totaux ("SUM") dans un <code>&lt;tfoot&gt;</code>, et le reste du contenu dans un <code>&lt;tbody&gt;</code>.</li>
+ <li>Enregistrez et actualisez, et vous verrez que l'ajout de l'élément <code>&lt;tfoot&gt;</code> a renvoyé la ligne "SUM" en bas du tableau.</li>
+ <li>Ensuite, ajoutez un attribut {{htmlattrxref("colspan","td")}}  pour générer une cellule Total ("SUM") couvrant les quatre premières colonnes, ainsi le nombre réel apparaît au pied de la colonne « Coût ».</li>
+ <li>Ajoutons un style supplémentaire au tableau, pour vous donner une idée de l'utilité de ces éléments pour l'application des CSS. Dans le &lt;head&gt; du document HTML, vous pouvez voir un élément {{htmlelement("style")}} vide, ajoutez les lignes suivantes de code CSS :
+ <pre class="brush: css">tbody {
+ font-size: 90%;
+ font-style: italic;
+}
+
+tfoot {
+ font-weight: bold;
+}
+</pre>
+ </li>
+ <li>Enregistrez, actualisez et regardez le résultat. Si <code>&lt;tbody&gt;</code> et <code>&lt;tfoot&gt;</code> n'étaient pas en place, vous devriez écrire plus de commandes plus complexes (sélection/règles) pour l'application des mêmes styles.</li>
+</ol>
+
+<div class="note">
+<p><strong>Note</strong> : Nous ne nous attendons pas à ce que vous compreniez les CSS maintenant. Vous en apprendrez plus avec les modules à propos des CSS (<a href="/fr/docs/Learn/CSS/Introduction_to_CSS">Introduction aux CSS</a> est un bon moyen de commencer ; il y a aussi un article spécifique sur <a href="/fr/docs/Learn/CSS/Styling_boxes/Styling_tables">l'esthétique des tables</a>).</p>
+</div>
+
+<p>Le code de votre tableau fini devrait ressembler à quelque chose comme :</p>
+
+<div class="hidden">
+<h6 id="Hidden_example">Hidden example</h6>
+
+<pre class="brush: html">&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+ &lt;head&gt;
+ &lt;meta charset="utf-8"&gt;
+ &lt;title&gt;Enregistrer mes dépenses&lt;/title&gt;
+ &lt;style&gt;
+
+ html {
+ font-family: sans-serif;
+ }
+
+ table {
+ border-collapse: collapse;
+ border: 2px solid rgb(200,200,200);
+ letter-spacing: 1px;
+ font-size: 0.8rem;
+ }
+
+ td, th {
+ border: 1px solid rgb(190,190,190);
+ padding: 10px 20px;
+ }
+
+ th {
+ background-color: rgb(235,235,235);
+ }
+
+ td {
+ text-align: center;
+ }
+
+ tr:nth-child(even) td {
+ background-color: rgb(250,250,250);
+ }
+
+ tr:nth-child(odd) td {
+ background-color: rgb(245,245,245);
+ }
+
+ caption {
+ padding: 10px;
+ }
+
+ tbody {
+ font-size: 90%;
+ font-style: italic;
+ }
+
+ tfoot {
+ font-weight: bold;
+ }
+ &lt;/style&gt;
+ &lt;/head&gt;
+ &lt;body&gt;
+ &lt;table&gt;
+ &lt;caption&gt;Comment j'ai choisi de dépenser mon argent&lt;/caption&gt;
+ &lt;thead&gt;
+ &lt;tr&gt;
+ &lt;th&gt;Achats&lt;/th&gt;
+ &lt;th&gt;Où ?&lt;/th&gt;
+ &lt;th&gt;Date&lt;/th&gt;
+ &lt;th&gt;Avis&lt;/th&gt;
+ &lt;th&gt;Coût (€)&lt;/th&gt;
+ &lt;/tr&gt;
+ &lt;/thead&gt;
+ &lt;tfoot&gt;
+ &lt;tr&gt;
+ &lt;td colspan="4"&gt;SUM&lt;/td&gt;
+ &lt;td&gt;118&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;/tfoot&gt;
+ &lt;tbody&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Coupe de cheveux&lt;/td&gt;
+ &lt;td&gt;Coiffeur&lt;/td&gt;
+ &lt;td&gt;12/09&lt;/td&gt;
+ &lt;td&gt;Bonne idée&lt;/td&gt;
+ &lt;td&gt;30&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Lasagnes&lt;/td&gt;
+ &lt;td&gt;Restaurant&lt;/td&gt;
+ &lt;td&gt;12/09&lt;/td&gt;
+ &lt;td&gt;Regrets&lt;/td&gt;
+ &lt;td&gt;18&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Souliers&lt;/td&gt;
+ &lt;td&gt;Chaussures&lt;/td&gt;
+ &lt;td&gt;13/09&lt;/td&gt;
+ &lt;td&gt;Gros regrets&lt;/td&gt;
+ &lt;td&gt;65&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;Dentifrice&lt;/td&gt;
+ &lt;td&gt;Supermarché&lt;/td&gt;
+ &lt;td&gt;13/09&lt;/td&gt;
+ &lt;td&gt;Bien&lt;/td&gt;
+ &lt;td&gt;5&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;/tbody&gt;
+ &lt;/table&gt;
+
+ &lt;/body&gt;
+&lt;/html&gt;</pre>
+</div>
+
+<p>{{ EmbedLiveSample('Hidden_example', '100%', 300, "", "", "hide-codepen-jsfiddle") }}</p>
+
+<div class="note">
+<p><strong>Note </strong>: Vous pouvez aussi le trouver sur Github  <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/spending-record-finished.html">spending-record-finished.html</a> (<a href="http://mdn.github.io/learning-area/html/tables/advanced/spending-record-finished.html">voir aussi le résultat</a> directement).</p>
+</div>
+
+<h2 id="Tableaux_imbriqués">Tableaux imbriqués</h2>
+
+<p>Il est possible d'inclure un tableau dans un autre, à condition d'en spécifier la structure complète, y compris l'élément <code>&lt;table&gt;</code>. Ce n'est généralement pas vraiment conseillé, car cette opération rend le balisage plus confus et moins accessible pour les utilisateurs de lecteurs d'écran, alors que dans de nombreux cas, il suffit d'insérer des cellules/lignes/colonnes supplémentaires dans un tableau existant. Mais il est parfois nécessaire de le faire, quand par exemple vous souhaitez importer facilement des données provenant d'autres sources.</p>
+
+<p>Le balisage suivant montre un tableau simple imbriqué :</p>
+
+<pre class="brush: html">&lt;table id="table1"&gt;
+ &lt;tr&gt;
+ &lt;th&gt;title1&lt;/th&gt;
+ &lt;th&gt;title2&lt;/th&gt;
+ &lt;th&gt;title3&lt;/th&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td id="nested"&gt;
+ &lt;table id="table2"&gt;
+ &lt;tr&gt;
+ &lt;td&gt;cell1&lt;/td&gt;
+ &lt;td&gt;cell2&lt;/td&gt;
+ &lt;td&gt;cell3&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;/table&gt;
+ &lt;/td&gt;
+ &lt;td&gt;cell2&lt;/td&gt;
+ &lt;td&gt;cell3&lt;/td&gt;
+ &lt;/tr&gt;
+ &lt;tr&gt;
+ &lt;td&gt;cell4&lt;/td&gt;
+ &lt;td&gt;cell5&lt;/td&gt;
+ &lt;td&gt;cell6&lt;/td&gt;
+ &lt;/tr&gt;
+&lt;/table&gt;</pre>
+
+<p>Voici la sortie qui en résulte :</p>
+
+<table id="table1">
+ <tbody>
+ <tr>
+ <th>title1</th>
+ <th>title2</th>
+ <th>title3</th>
+ </tr>
+ <tr>
+ <td id="nested">
+ <table id="table2">
+ <tbody>
+ <tr>
+ <td>cell1</td>
+ <td>cell2</td>
+ <td>cell3</td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td>cell2</td>
+ <td>cell3</td>
+ </tr>
+ <tr>
+ <td>cell4</td>
+ <td>cell5</td>
+ <td>cell6</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Tableaux_pour_utilisateurs_malvoyants">Tableaux pour utilisateurs malvoyants</h2>
+
+<p>Rappelons brièvement comment nous utilisons les tableaux de données. Un tableau peut être un outil pratique pour accéder rapidement à une donnée et rechercher différentes valeurs. Par exemple, un bref coup d'oeil sur le tableau suivant suffit pour savoir combien de bagues ont été vendues à Gand en août dernier. Pour comprendre ces informations, nous faisons visuellement l'association entre les données du tableau et les en-têtes de colonnes et/ou de lignes.</p>
+
+<table>
+ <caption>Articles vendus Août 2016</caption>
+ <tbody>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <th colspan="3" scope="colgroup">Vêtements</th>
+ <th colspan="2" scope="colgroup">Accessoires</th>
+ </tr>
+ <tr>
+ <td> </td>
+ <td> </td>
+ <th scope="col">Pantalons</th>
+ <th scope="col">Jupes</th>
+ <th scope="col">Robes</th>
+ <th scope="col">Bracelets</th>
+ <th scope="col">Bagues</th>
+ </tr>
+ <tr>
+ <th rowspan="3" scope="rowgroup">Belgique</th>
+ <th scope="row">Anvers</th>
+ <td>56</td>
+ <td>22</td>
+ <td>43</td>
+ <td>72</td>
+ <td>23</td>
+ </tr>
+ <tr>
+ <th scope="row">Gand</th>
+ <td>46</td>
+ <td>18</td>
+ <td>50</td>
+ <td>61</td>
+ <td>15</td>
+ </tr>
+ <tr>
+ <th scope="row">Bruxelles</th>
+ <td>51</td>
+ <td>27</td>
+ <td>38</td>
+ <td>69</td>
+ <td>28</td>
+ </tr>
+ <tr>
+ <th rowspan="2" scope="rowgroup">Pays-bas</th>
+ <th scope="row">Amsterdam</th>
+ <td>89</td>
+ <td>34</td>
+ <td>69</td>
+ <td>85</td>
+ <td>38</td>
+ </tr>
+ <tr>
+ <th scope="row">Utrecht</th>
+ <td>80</td>
+ <td>12</td>
+ <td>43</td>
+ <td>36</td>
+ <td>19</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Mais que faire si vous ne pouvez pas créer ces associations visuelles ? Comment pouvez-vous lire un tableau comme celui ci-dessus ? Les personnes malvoyantes utilisent souvent un lecteur d'écran qui leur lit les informations des pages web. Ce n'est pas un problème quand vous lisez du texte brut, mais l'interprêtation d'un tableau peut constituer un défi pour une personne aveugle. Néanmoins, avec le balisage approprié, nous pouvons remplacer des associations visuelles par des associations programmées.</p>
+
+<div class="note">
+<p><strong>Note :</strong> Il y a environ 253 millions de personnes vivant avec des déficiences visuelles selon les  <a href="http://www.who.int/mediacentre/factsheets/fs282/fr/" title="Vision Impairment Data">données de l'OMS en 2017</a>.</p>
+</div>
+
+<p>Cette partie de l'article indique des techniques avancées pour rendre les tableaux les plus accessibles possible.</p>
+
+<h3 class="attTitle" id="Utilisation_des_en-têtes_de_colonnes_et_de_lignes">Utilisation des en-têtes de colonnes et de lignes</h3>
+
+<p>Les lecteurs d'écran identifieront tous les en-têtes et les utiliseront pour réaliser automatiquement les associations entre ces en-têtes et les cellules correspondantes.  La combinaison des en-têtes des colonnes et des lignes doit permettre d'identifier et d'interprêter les données de chaque cellule. Ainsi, les utilisateurs de lecteurs d'écran peuvent accéder aux données d'une façon similaire à celle des utilisateurs voyants.</p>
+
+<p>Nous avons déjà traité des en-têtes dans notre article précédent — voir <a href="/fr/docs/Learn/HTML/Tables/Basics#Adding_headers_with_%3Cth%3E_elements">Ajouter des en-têtes avec &lt;th&gt;</a> .</p>
+
+<h3 class="attTitle" id="L'attribut_scope">L'attribut <code>scope</code></h3>
+
+<p>Aux balises <code>&lt;th&gt;</code>, sujet de l'article précédent, ajoutons l'attribut {{htmlattrxref("scope","th")}}. Il peut être mentionné dans un élément <code>&lt;th&gt;</code> pour indiquer précisément à un lecteur d'écran si la cellule contient un en-tête de colonne ou de ligne — par exemple, sommes‑nous dans un en-tête de ligne, ou de colonne ? En revenant à notre exemple d'enregistrement de dépenses vu plus tôt, il est possible de définir sans ambiguité un en-tête de colonne comme étant un en-tête de colonne ainsi :</p>
+
+<pre class="brush: html">&lt;thead&gt;
+ &lt;tr&gt;
+ &lt;th scope="col"&gt;Achats&lt;/th&gt;
+ &lt;th scope="col"&gt;Ou ?&lt;/th&gt;
+ &lt;th scope="col"&gt;Date&lt;/th&gt;
+ &lt;th scope="col"&gt;Avis&lt;/th&gt;
+ &lt;th scope="col"&gt;Coût (€)&lt;/th&gt;
+ &lt;/tr&gt;
+&lt;/thead&gt;</pre>
+
+<p>Et chaque ligne pourrait également avoir une définition de son en-tête comme ceci (à condition d'avoir ajouté des en-têtes de lignes comme des en-têtes de colonnes):</p>
+
+<pre class="brush: html">&lt;tr&gt;
+ &lt;th scope="row"&gt;Coupe de cheveux&lt;/th&gt;
+ &lt;td&gt;Coiffeur&lt;/td&gt;
+ &lt;td&gt;12/09&lt;/td&gt;
+ &lt;td&gt;Bonne idée&lt;/td&gt;
+ &lt;td&gt;30&lt;/td&gt;
+&lt;/tr&gt;</pre>
+
+<p>Les lecteurs d'écran reconnaîtront un balisage structuré comme celui-ci et permettront à leurs utilisateurs de lire en une fois une colonne ou une ligne entière par exemple.</p>
+
+<p><code>scope</code> a deux autres valeurs possibles — <code>colgroup</code> et <code>rowgroup</code>. Elles sont utilisées pour les en-têtes qui couvrent plusieurs colonnes ou lignes. Si vous revenez au tableau « Articles vendus... » au début de ce paragraphe du présent article, vous voyez que la cellule « Vêtements » se trouve au-dessus des cellules  « Pantalons », « Jupes » et « Robes ». Toutes ces cellules sont marquées comme en-têtes (<code>&lt;th&gt;</code>), mais « Vêtements » est un en-tête de niveau supérieur qui définit trois « sous-en-têtes ». « Vêtements » comportera donc un attribut  <code>scope="colgroup"</code>, alors que les autres doivent recevront un attribut <code>scope="col"</code>.</p>
+
+<h3 class="attTitle" id="Les_attributs_id_et_headers">Les attributs <code>id</code> et <code>headers</code></h3>
+
+<p>Une alternative à l'usage de l'attribut <code>scope</code> est l'utilisation des attributs {{htmlattrxref("id")}} et {{htmlattrxref("headers", "td")}} pour créer une association entre en-têtes et cellules. Ils sont utilisés de la manière suivante :</p>
+
+<ol>
+ <li>Vous ajoutez un identifiant unique <code>id</code> à chaque élément <code>&lt;th&gt;</code>.</li>
+ <li>Vous ajoutez un attribut <code>headers</code> à chaque élément  <code>&lt;td&gt;</code> . Chaque attribut <code>headers</code> doit contenir une liste des <code>id</code> de tous les éléments &lt;th&gt; qu'il contient, séparés par des espaces.</li>
+</ol>
+
+<p>Votre tableau HTML possède donc la position explicite de chaque cellule dans le tableau, définie par les en-têtes de chaque colonne et chaque ligne qui en font partie, un peu comme dans une feuille de calcul. Pour un bon fonctionnement, le tableau a réellement besoin d'en-têtes de colonnes et de lignes.</p>
+
+<p>En revenant à notre exemple de tableau des dépenses et des coûts, les deux extraits précédents pourraient être réécrits ainsi :</p>
+
+<pre class="brush: html">&lt;thead&gt;
+ &lt;tr&gt;
+ &lt;th id="purchase"&gt;Achats&lt;/th&gt;
+ &lt;th id="location"&gt;Où ?&lt;/th&gt;
+ &lt;th id="date"&gt;Date&lt;/th&gt;
+ &lt;th id="evaluation"&gt;Avis&lt;/th&gt;
+ &lt;th id="cost"&gt;Coût (€)&lt;/th&gt;
+ &lt;/tr&gt;
+&lt;/thead&gt;
+&lt;tbody&gt;
+&lt;tr&gt;
+ &lt;th id="haircut"&gt;Coupe de cheveux&lt;/th&gt;
+ &lt;td headers="location haircut"&gt;Coiffeur&lt;/td&gt;
+ &lt;td headers="date haircut"&gt;12/09&lt;/td&gt;
+ &lt;td headers="evaluation haircut"&gt;Bonne idée&lt;/td&gt;
+ &lt;td headers="cost haircut"&gt;30&lt;/td&gt;
+&lt;/tr&gt;
+
+ ...
+
+&lt;/tbody&gt;</pre>
+
+<div class="note">
+<p><strong>Note</strong>: Cette méthode crée des associations très précises entre en-têtes et données mais elle utilise <strong>beaucoup</strong> plus de balisage et ne laisse aucune marge d'erreur.  L'approche <code>scope</code> est généralement suffisante pour la plupart des tableaux.</p>
+</div>
+
+<h3 id="Apprentissage_actif_jouer_avec_scope_et_headers">Apprentissage actif : jouer avec <code>scope</code> et <code>headers</code></h3>
+
+<ol>
+ <li>Pour cet exercice final, nous aimerions que vous fassiez une copie locale de <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/items-sold.html">items‑sold.html</a> et <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/minimal-table.css">minimal-table.css</a>, dans un nouveau répertoire.</li>
+ <li>Maintenant essayez d'ajouter un attribut <code>scope</code> approprié pour améliorer ce tableau.</li>
+ <li>Enfin, essayez avec une autre copie du fichier initial, de faire un tableau plus accessible en utilisant les attributs <code>id</code> et <code>headers</code>.</li>
+</ol>
+
+<div class="note">
+<p><strong>Note</strong> : Vous pouvez contrôler votre travail en le comparant à nos exemples finis  — voir <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/items-sold-scope.html">items-sold-scope.html</a> (<a href="http://mdn.github.io/learning-area/html/tables/advanced/items-sold-scope.html">voir aussi directement</a>)<br>
+          et <a href="https://github.com/mdn/learning-area/blob/master/html/tables/advanced/items-sold-headers.html">items-sold-headers.html</a> (<a href="http://mdn.github.io/learning-area/html/tables/advanced/items-sold-headers.html">voir aussi directement</a>).</p>
+</div>
+
+<h2 id="Résumé">Résumé</h2>
+
+<p>Il reste encore quelques autres choses à apprendre sur les tableaux HTML, mais nous vous avons vraiment indiqué tout ce qu'il est nécessaire de savoir pour le moment. À ce stade, vous voulez peut-être en apprendre plus sur les styles de tableaux HTML — voyez alors <a href="/fr/docs/Learn/CSS/Styling_boxes/Styling_tables">Décor des tableaux</a>.</p>
+
+<div>{{PreviousMenuNext("Learn/HTML/Tables/Basics", "Learn/HTML/Tables/Structuring_planet_data", "Learn/HTML/Tables")}}</div>
+
+<div>
+<div>
+<h2 id="Dans_ce_module">Dans ce module</h2>
+
+<ul>
+ <li><a href="/fr/docs/Learn/HTML/Tables/Basics">Tableaux HTML : notions de base</a></li>
+ <li><a href="/fr/docs/Learn/HTML/Tables/Advanced">Tableaux HTML : dispositions avancées et accessibilité</a></li>
+ <li><a class="new" href="/fr/docs/Learn/HTML/Tables/Structuring_planet_data" rel="nofollow">Structuration de données sur les planètes</a></li>
+</ul>
+</div>
+</div>