Zone d’expression visuelle (Composition)
Utilisez une composition pour présenter une zone visuelle éditoriale structurée selon les règles DSFR.
attention
Ce composant nécessite une licence Pro valide en production.
| Information | Valeur |
|---|---|
| Niveau | Pro |
| Composants Twig | dsfr:composition |
Usage
- Réservez ce composant aux pages éditoriales ou d’accueil.
- Renseignez des textes alternatifs pertinents pour les visuels.
Modes d'utilisation
- Exemple principal
- Attributs HTML
Zone d’expression visuelle · exemple principal
<twig:dsfr:composition
title="Aperçu du service"
image="/images/apercu-service.jpg"
alt="Interface du service"
description="Présentation synthétique de la démarche et de ses bénéfices."
/>
Ajoutez vos attributs applicatifs directement sur le composant quand ils concernent le nœud racine rendu par le template.
Attributs pass-through
<twig:dsfr:composition
id="zone-expression-visuelle-example"
class="fr-mt-2w"
data-controller="zone-expression-visuelle"
/>
API publique
| Composant | Rôle |
|---|---|
dsfr:composition | Composant principal de cette page. |
Configuration
| Option | Type | Défaut / requis | Valeurs et usage |
|---|---|---|---|
title | string | Requis ou défaut selon composant | Titre visible du composant. |
image | string | Requis | URL de l’image. |
alt | string | "" | Alternative de l’image. |
description | string|null | null | Texte descriptif. |
href | string|null | Selon composant | URL de destination. Les URL sont normalisées. |
linkLabel | string|null | null | Libellé du bouton/lien. |
Guide d'intégration
| Question | Réponse |
|---|---|
| Famille DSFR | Contenu |
| Quand l'utiliser | Quand vous présentez, organisez ou approfondissez un contenu éditorial ou métier. |
| Quand éviter | Pour les contrôles de formulaire ou la navigation principale, sauf si le composant expose explicitement cette interaction. |
| API publique | Utilisez uniquement les composants Twig listés sur cette page : dsfr:composition. |
| Documentation DSFR | Consultez aussi la bibliothèque officielle : Système de Design de l'État. |
Zone d’expression visuelle : options, accessibilité et rendu DSFR
Variantes de zone d’expression visuelle
- zone d’expression visuelle avec attributs HTML pass-through pour
id,class,data-*etaria-*quand le template le permet.
Points de contrôle propres à ce composant
- Réservez ce composant aux pages éditoriales ou d’accueil.
- Renseignez des textes alternatifs pertinents pour les visuels.
- Contrôlez le rendu lien/action selon la présence de
hrefet le libellé annoncé au clavier. - Renseignez une alternative textuelle utile pour les images informatives et vide pour les images décoratives.
Accessibilité contenu
- Respectez la hiérarchie de titres de la page.
- Les images informatives ont un
altutile ; les images décoratives ont unaltvide. - Les contenus masqués ou ouverts doivent rester pilotables au clavier.
Intégration Symfony/Twig pour dsfr:composition
- Ajoutez vos attributs applicatifs (
data-controller,data-action,aria-*,class) surdsfr:compositionquand ils concernent son nœud racine.
Checklist de recette
- ordre de lecture cohérent
- titres dans le bon niveau
- contenu disponible sans souris
- rendu vérifié en thème clair et sombre ;
- rendu vérifié sur mobile, tablette et desktop ;
- aucune erreur dans le profiler DSFR ni dans l'inspecteur d'accessibilité du navigateur.
Erreurs fréquentes
| Symptôme | Correction |
|---|---|
| Les classes DSFR semblent incomplètes | Utilisez les props du composant plutôt que des classes ajoutées à la main. |
| Le composant rend en local mais pas en production | Vérifiez la licence avec php bin/console dsfr:license:validate. |