--- author: Nicolas Arduin download: true exportFilename: intriduction-accessibilite-numerique lineNumbers: true remoteAssets: true htmlAttrs: dir: ltr lang: fr theme: ./ # some information about your slides (markdown enabled) title: Introduction à l'accessibilité numérique info: | ## Commencer avec l'accessibilité Pourquoi, pour qui et comment ? Learn more at [Sli.dev](https://sli.dev) # https://sli.dev/features/drawing drawings: persist: false # slide transition: https://sli.dev/guide/animations.html#slide-transitions transition: fade-out # enable MDC Syntax: https://sli.dev/features/mdc mdc: true # make slide text selectable selectable: true # take snapshot for each slide in the overview overviewSnapshots: true hideInToc: true layout: intro --- # L'accessibilité numérique en 10 étapes
Nico, Décembre 2024.
licence : CC BY-NC
--- hideInToc: true layout: bullets --- # Sommaire --- layout: content --- # Contexte > “ La force du Web réside dans son universalité. L'accès de tous, quel que soit le handicap, en est un aspect essentiel. ” Tim Berners-Lee, Directeur du W3C et inventeur du World Wide Web
> “ L’accessibilité numérique est un droit fondamental. C’est la possibilité pour toutes et tous d’utiliser les outils informatiques, quelle que soit leur façon d’y accéder. ” Access 42
> The W3C vision is that the Web and related technologies are accessible so that all people with disabilities around the globe can participate equally in the digital world. W3C WAI
--- layout: content --- # Législation **Obligation actuelle :** - les personnes morales de droit public - les personnes morales délégataires d’une mission de service public - les entreprises privées dont le chiffre d’affaires est supérieur à 250 millions d’euros
**À partir de Juin 2025 :** > Les entreprises employant moins de dix personnes qui fournissent des services et dont le chiffre d'affaires annuel n'excède pas deux millions d'euros. [article L412-13 du Code de la consommation](https://www.legifrance.gouv.fr/codes/id/LEGISCTA000047284903) (applicable au 28 juin 2025) > Tous les sites et plateformes de commerce électronique doivent être accessibles pour les nouveaux services à partir de 2025 et pour l’existant à partir de 2030. Plus de détails dans [cet article d'Access 42](https://access42.net/transposition-directive-europeenne-ue-2019-882-accessibilite-produits-services/)
--- layout: fact hideInToc: true --- # 30 % de la population française rencontre des difficultés au quotidien [Rapport 2024 de la DREES.](https://drees.solidarites-sante.gouv.fr/sites/default/files/2024-12/HANDICAP24MAJ061224-2.pdf)
**La majorité des handicaps sont invisibles.** --- layout: bullets hideInToc: true hide: true --- ## L'accessibilité du Web englobe tous les handicaps qui affectent l'accès au Web, notamment : - auditifs - cognitifs - neurologiques - physiques - psychologiques - oraux - visuels --- layout: auto-grid columns: 2 rows: 250px --- # Exemples de technologies d'assistance ::content:: --- layout: content --- # ​1. Éléments HTML sémantiques ````md magic-move {lines: false} ```html

Titre de la page

Titre de la section

Contenu de la page

``` ```html

Titre de la page

Titre de la section

Contenu de la page

Pied de page

``` ```` --- layout: auto-grid columns: 2 --- # ​2. Structure des titres ::content:: ```md {all|2|3|4|none}{lines: false} Erroné └── h1 Titre principal ├── h2 Titre secondaire ├── h4 Titre niveau 4 // [!code error] │ └── h5 Titre niveau 5 ├── h2 Titre secondaire │ ├── h2 Titre secondaire │ ├── h3 Titre tertiaire │ │ ├── h4 Titre niveau 4 │ │ │ └── h6 Titre niveau 6 │ └── h3 Titre tertiaire └── h1 Titre principal ``` ```md {none|all}{lines: false} Correct └── h1 Titre principal ├── h2 Titre secondaire ├── h2 Titre secondaire │ └── h3 Titre tertiaire ├── h2 Titre secondaire │ ├── h3 Titre tertiaire │ ├── h3 Titre tertiaire │ │ ├── h4 Titre niveau 4 │ │ │ └── h5 Titre niveau 5 │ └── h3 Titre tertiaire └── h2 Titre secondaire ``` ::after:: Add-on HeadingsMap : [firefox](https://addons.mozilla.org/fr/firefox/addon/headingsmap/), [chrome](https://chromewebstore.google.com/detail/headingsmap/gdaioanblnkeegccagdlnolobgjhfhhm) --- layout: title-image image: ours.jpg --- # ​3. Formulaires **Toujours** associer un `label` aux champs `input`, `select`, `textarea`, `meter`, `progress`. ```html{2,3} // [!code word:name]
```
Si le `label` doit être masqué, utilisez une classe CSS `visually-hidden` (ou `sr-only`). ```css .visually-hidden { position: absolute; overflow: hidden; block-size: 1px; inline-size: 1px; clip: rect(0 0 0 0); clip-path: inset(100%); white-space: nowrap; } ```
[Qu'est-il arrivé au champ texte ? Vidéo en anglais.](https://briefs.video/videos/what-happened-to-text-inputs/) --- layout: content ---
Facilitez le remplissage des champs avec des instructions claires, des exemples et des messages d'erreur.
Proposez du remplissage automatique et des claviers adaptés si besoin. ```html{2-3,5-6}
```
--- layout: content --- # ​4. Polices et typographie - unités - utilisez des [unités relatives](https://whatunit.com/) (ex. `em`, `rem`, `lh`, `ex`) pour permettre aux utilisateurs de modifier la taille des polices - ou des fonctions de calcul CSS (ex. `clamp()`, `calc()`) - taille des polices - minimum `16px` (équivalent) pour le corps de texte - créez une [échelle typographique fluide](https://utopia.fyi/type/calculator?c=320,18,1.2,1240,20,1.25,5,2,&s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&g=s,l,xl,12) - alignement du texte - ne **JAMAIS** justifier le texte - limitez les textes centrés - évitez les sauts de ligne forcés `
` - `text-wrap: balance;` sur les titres - familles - préférez des polices travaillées pour leur lisibilité (ex. [Atkinson Hyperlegible](https://brailleinstitute.org/freefont), [Luciole](https://luciole-vision.com/)) - ou conservez le choix utilisateur `font-family: system-ui, FALLBACK;` --- layout: title-image image: fleur.jpg --- # ​5. Vérifiez les contrastes Sujet complexe car l'algorithme du WCAG repose uniquement sur des calculs et pas sur des tests visuels de perception. - [Calculateur WCAG](https://coolors.co/contrast-checker) officiellement intégré dans le standard d'accessibilité - [Calculateur APC](https://www.myndex.com/BPCA/) plus précis mais expérimental et non intégré à un quelconque standard. --- layout: title-image image: pierre.jpeg --- # ​6. Simplifiez l'interface, privilégiez le contenu - ne cachez pas le contenu - n'animez pas (trop) le contenu `@media (prefers-reduced-motion: no-preference) { go crazy 🤪 }` - ne gênez pas le contenu - soulignez les liens, ne soulignez rien d'autre - ne supprimez pas le focus - n'utilisez pas uniquement la couleur pour indiquer un état --- layout: title-image image: marmotte.jpg --- # ​7. Chouchoutez les images - ajoutez systématiquement l'attribut `alt` - `alt=""` si l'image est décorative - `alt="[...]"` si l'image est porteuse d'information - renseignez si possible les attributs `width` et `height` pour éviter le "layout shift" - optimisez et convertissez dans des formats récents (ex. `webp`, `avif`)