feat(content): added much content

This commit is contained in:
nicolas arduin 2024-12-19 14:07:20 +01:00
parent cc899c587f
commit ede9c49e9f
Signed by: nicolas
SSH Key Fingerprint: SHA256:ELi8eDeNLl5PTn64G+o2Kx5+XVDfHF5um2tZigfwWkM
7 changed files with 141 additions and 20 deletions

View File

@ -1,5 +1,17 @@
<template> <template>
<div class="slidev-layout place-content-center"> <div class="slidev-layout place-content-center">
<blockquote>
<slot name="quote" />
</blockquote>
<slot /> <slot />
</div> </div>
</template> </template>
<style scoped>
blockquote {
padding: 0;
margin: var(--space-s) 0;
border: initial;
background: initial;
}
</style>

View File

@ -5,6 +5,14 @@ const props = defineProps({
image: { image: {
type: String, type: String,
required: true required: true
},
ratio: {
type: String,
default: '3fr 2fr'
},
imageAlign: {
type: String,
default: 'center'
} }
}) })
@ -14,7 +22,7 @@ const image = imageSrc(props.image)
<template> <template>
<div class="slidev-layout h-full title"> <div class="slidev-layout h-full title">
<div class="grid h-full gap-4"> <div class="grid h-full gap-4">
<div class="place-self-center"> <div>
<slot /> <slot />
</div> </div>
<div class="image"></div> <div class="image"></div>
@ -24,12 +32,12 @@ const image = imageSrc(props.image)
<style scoped> <style scoped>
.grid { .grid {
grid-template-columns: 3fr 2fr; grid-template-columns: v-bind(ratio);
} }
.image { .image {
block-size: 100%; block-size: 100%;
background-image: v-bind(image); background-image: v-bind(image);
background-size: cover; background-size: cover;
background-position: center; background-position: v-bind(imageAlign);
} }
</style> </style>

6
pages/eco.md Normal file
View File

@ -0,0 +1,6 @@
---
layout: title-image
image: brumm.avif
---
# <span class="highlight">Sobriété</span> et performances

BIN
public/images/field.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
public/images/surricate.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

127
slides.md
View File

@ -33,13 +33,9 @@ layout: intro
# <span class="highlight">L'accessibilité numérique</span> en 10 étapes # <span class="highlight">L'accessibilité numérique</span> en 10 étapes
<div class="abs-br m-6"> <div class="abs-br m-6">
<a href="https://www.nardu.in" rel="noreferer noopener">Nico,</a> Décembre 2024.<br>licence&nbsp;: <a href="https://creativecommons.org/licenses/by-nc/4.0/" rel="noreferer noopener">CC BY-NC</a> <a href="https://www.nardu.in" rel="noreferer noopener">Nico,</a> Décembre 2024.<br>licence&nbsp;: <a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="noreferer noopener">CC BY-SA</a>
</div> </div>
<!--
The last comment block of each slide will be treated as slide notes. It will be visible and editable in Presenter Mode along with the slide. [Read more in the docs](https://sli.dev/guide/syntax.html#notes)
-->
--- ---
hideInToc: true hideInToc: true
layout: bullets layout: bullets
@ -122,10 +118,9 @@ certains sont temporaires, certains arrivent avec l'âge
--- ---
layout: bullets layout: bullets
hideInToc: true hideInToc: true
hide: true
--- ---
## L'accessibilité du Web englobe tous les handicaps qui affectent l'accès au Web, notamment&nbsp;: ## L'accessibilité numérique englobe tous les handicaps qui affectent l'accès au Web, notamment&nbsp;:
- auditifs - auditifs
- cognitifs - cognitifs
@ -251,13 +246,15 @@ image: ours.jpg
# &#8203;3. <span class="highlight">Formulaires</span> # &#8203;3. <span class="highlight">Formulaires</span>
**Toujours** associer un `label` aux champs `input`, `select`, `textarea`, `meter`, `progress`. - Associez **toujours** un `label` aux champs `input`, `select`, `textarea`, `meter`, `progress`
- Indiquez clairement les champs obligatoires
- Ne désactivez pas le bouton d'envoi
```html{2,3} ```html{2,3}
// [!code word:name] // [!code word:name]
<form> <form>
<label for="name">Nom</label> <label for="name">Nom (obligatoire)</label>
<input id="name" type="text" /> <input id="name" type="text" required/>
</form> </form>
``` ```
@ -279,8 +276,6 @@ Si le `label` doit être masqué, utilisez une classe CSS `visually-hidden` (ou
</div> </div>
[Qu'est-il arrivé au champ texte&nbsp;? <small>Vidéo en anglais.</small>](https://briefs.video/videos/what-happened-to-text-inputs/)
--- ---
layout: content layout: content
--- ---
@ -307,6 +302,8 @@ Proposez du remplissage automatique et des claviers adaptés si besoin.
</form> </form>
``` ```
<small>[Qu'est-il arrivé au champ texte&nbsp;? <small>Vidéo en anglais.</small>](https://briefs.video/videos/what-happened-to-text-inputs/)</small>
</div> </div>
--- ---
@ -349,23 +346,121 @@ image: pierre.jpeg
# &#8203;6. <span class="highlight">Simplifiez</span> l'interface, privilégiez <span class="highlight">le contenu</span> # &#8203;6. <span class="highlight">Simplifiez</span> l'interface, privilégiez <span class="highlight">le contenu</span>
- ne cachez pas le contenu - ne cachez pas le contenu ([carousel much?](https://shouldiuseacarousel.com/), [tabs much?](https://www.youtube.com/live/XntrwuBjE5c?feature=shared&t=1582))
- n'animez pas (trop) le contenu - n'animez pas (trop) le contenu
`@media (prefers-reduced-motion: no-preference) { go crazy 🤪 }` `@media (prefers-reduced-motion: no-preference) { go crazy 🤪 }`
- ne gênez pas le contenu - ne gênez pas le contenu
- soulignez les liens, ne soulignez rien d'autre - soulignez les liens, ne soulignez rien d'autre
- ne supprimez pas le focus - ne supprimez pas le focus
- n'utilisez pas uniquement la couleur pour indiquer un état - n'utilisez pas uniquement la couleur pour indiquer un état
- faites des phrases courtes et [faciles à comprendre](https://www.culture.gouv.fr/Thematiques/developpement-culturel/Culture-et-handicap/Facile-a-lire-et-a-comprendre-FALC-une-methode-utile)
--- ---
layout: title-image layout: title-image
image: marmotte.jpg image: marmotte.jpg
--- ---
# &#8203;7. Chouchoutez <span class="highlight">les images</span> # &#8203;7. Chouchoutez <span class="highlight">les images</span> et vidéos
## images
- ajoutez systématiquement l'attribut `alt` - ajoutez systématiquement l'attribut `alt`
- `alt=""` si l'image est décorative - `alt=""` si l'image est décorative
- `alt="[...]"` si l'image est porteuse d'information - `alt="[DESCRIPTION]"` si l'image est porteuse d'information
- renseignez si possible les attributs `width` et `height` pour éviter le "<span lang="en">layout shift</span>" - renseignez si possible les attributs `width` et `height` pour éviter le "<span lang="en">layout shift</span>"
- optimisez et convertissez dans des formats récents (ex. `webp`, `avif`) - [redimensionnez, optimisez et convertissez](https://squoosh.app/) dans des formats récents (ex. `webp`, `avif`)
## vidéos
- ne lancez pas la lecture automatiquement
- [redimensionnez, optimisez et convertissez](https://handbrake.fr/) dans des formats récents (ex. `h265`, `av1`)
---
layout: title-image
image: tigre.avif
image-align: right
---
# &#8203;8. Éléments <span class="highlight">obligatoires</span>
- ajoutez systématiquement les attributs&nbsp;:
`<html lang="[langue de la page]" dir="[sens de lecture]">`
- signalez les changements de langue dans le contenu avec `lang`
- renseignez un `title` pour chaque page
- n'utilisez pas une balise pour faire de la mise en forme (ex. `h3` à la place d'un `h2` pour le rendre plus petit).
<small>**Astuce&nbsp;:** créez une classe correspondant à chaque niveau de titre afin de garder la hiérarchie intacte.</small>
```css
/* [!code word:.h2] */
h2,
.h2 {
font-size: 4rem;
font-weight: bold;
}
/* [!code word:.h3] */
h3,
.h3 {
font-size: 3rem;
font-weight: 300;
}
```
---
layout: title-image
image: surricate.jpg
---
# &#8203;9. Trucs <span class="highlight">en plus</span>
- Designez pour `320px` de large au minimum
- Ajoutez au moins un [lien d'évitement](https://accessibilite.numerique.gouv.fr/methode/glossaire/#liens-d-evitement-ou-d-acces-rapide)
- Ne changez pas [l'ordre de tabulation](https://accessibilite.numerique.gouv.fr/methode/glossaire/#ordre-de-tabulation) de la page
- Capturez le <span lang="en">focus</span> dans les fenêtre modale/menu
- Proposez au moins deux systèmes de navigation (menu, plan du site, moteur de recherche)
- [N'abusez pas d'ARIA](https://briefs.video/videos/what-is-aria-even-for/)
> Les pages d'accueil avec de l'ARIA affichent en moyenne 34,2 % d'erreurs (détectées) en plus que celles sans ARIA.
> <small>[source](https://webaim.org/projects/million/#:~:text=Home%20pages%20with%20ARIA%20present%20averaged%2034.2%25%20more%20detected%20errors%20than%20those%20without%20ARIA)</small>
---
layout: title-image
image: field.jpg
ratio: 1fr 1fr
---
# &#8203;10. (in)<span class="highlight">Formez-vous</span>
## Formations
- [Access42](https://formations.access42.net/formations/)
- [<span lang="en">Practical Accessibility</span>](https://practical-accessibility.today/)
## Ressources
- [Référentiel général damélioration de laccessibilité (RGAA)](https://accessibilite.numerique.gouv.fr/)
- [Blog Access42](https://access42.net/blog/)
- [Webbed Briefs](https://briefs.video/) (vidéo, anglais)
- [Adrian Rosseli](https://adrianroselli.com/) (blog, anglais)
## Conférences
- [Paris Web](https://www.paris-web.fr/)
- [a11y Paris](https://www.a11yparis.org/)
- [CSS Day](https://cssday.nl)
---
layout: quote
---
::quote::
# <span class="highlight">Rien n'est accessible</span> à tout le monde. Par conséquent, <span class="highlight">tout ce que vous ajoutez</span> à votre interface ne peut que la rendre <span class="highlight">moins accessible.</span> La simplicité <span class="highlight">(sobriété)</span> est le seule remède.
::default::
Heydon Pickering <cite>[The Folly of Chasing Demographics](https://www.youtube.com/watch?v=XntrwuBjE5c)</cite>
---
src: ./pages/eco.md
hide: false
---

View File

@ -30,7 +30,7 @@ body {
text-wrap: balance; text-wrap: balance;
} }
:is(h1, h2, h3, h4, .h2, .h3, .h4) + * { :is(h1, h2, h3, h4, .h2, .h3, .h4) + * {
margin-block-start: var(--space-s); margin-block-start: var(--space-xs);
} }
:is(h1) { :is(h1) {
max-inline-size: 20ch; max-inline-size: 20ch;