pages.mediaAccessible.altText.title

components.exampleToggle.badExample

image

pages.mediaAccessible.altText.product.name

pages.mediaAccessible.altText.product.price

star.pngpages.mediaAccessible.altText.product.rating (pages.mediaAccessible.altText.product.reviews)
success.svg pages.mediaAccessible.altText.notification
<!-- pages.mediaAccessible.codeExamples.altText.badComment -->
<img src="laptop.jpg" alt="image" />
<img src="star-icon.svg" alt="star.png" />
<img src="success-icon.svg" alt="success.svg" />

components.exampleToggle.goodExample

pages.mediaAccessible.altText.product.alt

pages.mediaAccessible.altText.product.name

pages.mediaAccessible.altText.product.price

pages.mediaAccessible.altText.product.ratingAltpages.mediaAccessible.altText.product.rating pages.mediaAccessible.altText.product.stars(pages.mediaAccessible.altText.product.reviews)
pages.mediaAccessible.altText.notification
<!-- pages.mediaAccessible.codeExamples.altText.goodComment -->
<img src="laptop.jpg"
     alt="MacBook Pro 16 pouces, vue de face,
          écran ouvert montrant l'interface macOS" />

<!-- pages.mediaAccessible.codeExamples.altText.decorativeIcon -->
<img src="star-icon.svg" alt="" />
<span>
  <span class="sr-only">Note de </span>4.8/5
  <span class="sr-only"> étoiles</span> (127 avis)
</span>

<!-- pages.mediaAccessible.codeExamples.altText.decorativeNotification -->
<img src="success-icon.svg" alt="" />
<span>Commande confirmée !</span>

components.exampleToggle.explanation pages.mediaAccessible.altText.explanation

pages.mediaAccessible.video.title

components.exampleToggle.badExample

pages.mediaAccessible.video.heading

📹 pages.mediaAccessible.video.bad.placeholder
pages.mediaAccessible.video.bad.note
<!-- pages.mediaAccessible.codeExamples.video.badComment -->
<video width="100%" height="200" autoplay loop muted>
  <source src="demo.mp4" type="video/mp4">
  Votre navigateur ne supporte pas la vidéo.
</video>

components.exampleToggle.goodExample

pages.mediaAccessible.video.heading

📹 pages.mediaAccessible.video.good.placeholder
pages.mediaAccessible.video.good.note
pages.mediaAccessible.video.good.description
<!-- pages.mediaAccessible.codeExamples.video.goodComment -->
<video width="100%" height="200"
       controls
       preload="metadata"
       aria-describedby="video-description">
  <source src="demo.mp4" type="video/mp4">

  <!-- pages.mediaAccessible.codeExamples.video.subtitles -->
  <track kind="captions"
         src="captions.vtt"
         srclang="fr"
         label="Français"
         default>

  <!-- pages.mediaAccessible.codeExamples.video.audioDescriptions -->
  <track kind="descriptions"
         src="descriptions.vtt"
         srclang="fr"
         label="Description audio">

  <!-- pages.mediaAccessible.codeExamples.video.fallback -->
  Votre navigateur ne supporte pas la vidéo.
  <a href="transcript.html">Consulter la transcription</a>
</video>

<div id="video-description">
  Vidéo de 2 minutes présentant les fonctionnalités du MacBook Pro.
  Sous-titres en français disponibles.
</div>

components.exampleToggle.explanation pages.mediaAccessible.video.explanation

pages.mediaAccessible.charts.title

components.exampleToggle.badExample

pages.mediaAccessible.charts.heading

<!-- pages.mediaAccessible.codeExamples.charts.badComment -->
<svg width="300" height="150" viewBox="0 0 300 150">
  <rect
    x="50"
    y="100"
    width="40"
    height="40"
    fill="#3b82f6"
  />
  <rect
    x="110"
    y="80"
    width="40"
    height="60"
    fill="#3b82f6"
  />
  <rect
    x="170"
    y="60"
    width="40"
    height="80"
    fill="#3b82f6"
  />
  <rect
    x="230"
    y="40"
    width="40"
    height="100"
    fill="#3b82f6"
  />
</svg>

components.exampleToggle.goodExample

pages.mediaAccessible.charts.heading

pages.mediaAccessible.charts.chartTitlepages.mediaAccessible.charts.chartDescQ1Q2Q3Q4
pages.mediaAccessible.charts.table.caption
pages.mediaAccessible.charts.table.columns.quarterpages.mediaAccessible.charts.table.columns.salespages.mediaAccessible.charts.table.columns.evolution
pages.mediaAccessible.charts.table.data.q1.quarterpages.mediaAccessible.charts.table.data.q1.salespages.mediaAccessible.charts.table.data.q1.evolution
pages.mediaAccessible.charts.table.data.q2.quarterpages.mediaAccessible.charts.table.data.q2.salespages.mediaAccessible.charts.table.data.q2.evolution
pages.mediaAccessible.charts.table.data.q3.quarterpages.mediaAccessible.charts.table.data.q3.salespages.mediaAccessible.charts.table.data.q3.evolution
pages.mediaAccessible.charts.table.data.q4.quarterpages.mediaAccessible.charts.table.data.q4.salespages.mediaAccessible.charts.table.data.q4.evolution
<!-- pages.mediaAccessible.codeExamples.charts.goodComment -->
<svg width="300" height="150"
     role="img"
     aria-labelledby="chart-title"
     aria-describedby="chart-desc">

  <title id="chart-title">Graphique en barres des ventes trimestrielles</title>
  <desc id="chart-desc">
    Évolution croissante des ventes sur 4 trimestres :
    Q1: 40k€, Q2: 60k€, Q3: 80k€, Q4: 100k€
  </desc>

  <!-- pages.mediaAccessible.codeExamples.charts.bars -->
  <rect
    x="50"
    y="100"
    width="40"
    height="40"
    fill="#3b82f6"
  />
  <rect
    x="110"
    y="80"
    width="40"
    height="60"
    fill="#3b82f6"
  />
  <rect
    x="170"
    y="60"
    width="40"
    height="80"
    fill="#3b82f6"
  />
  <rect
    x="230"
    y="40"
    width="40"
    height="100"
    fill="#3b82f6"
  />

  <!-- pages.mediaAccessible.codeExamples.charts.accessibleLabels -->
  <text x="70" y="130">Q1</text>
  <text x="130" y="130">Q2</text>
  <text x="190" y="130">Q3</text>
  <text x="250" y="130">Q4</text>
</svg>

<!-- pages.mediaAccessible.codeExamples.charts.alternativeTable -->
<table>
  <caption>Données détaillées des ventes trimestrielles</caption>
  <thead>
    <tr>
      <th scope="col">Trimestre</th>
      <th scope="col">Ventes (k€)</th>
      <th scope="col">Évolution</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Q1 2025</th>
      <td>40</td>
      <td>-</td>
    </tr>
    <!-- pages.mediaAccessible.codeExamples.charts.otherRows -->
  </tbody>
</table>

components.exampleToggle.explanation pages.mediaAccessible.charts.explanation