Rapport de conformité en matière d'accessibilité
Conformité VPAT 2.5 auto-déclarée par rapport aux WCAG 2.1 niveaux A + AA, aux normes révisées de la Section 508 et à la norme EN 301 549 V3.2.1.
Périmètre
- Date
- Date Time
- Booking
- Vue Calendrier
- Vue Chronologie
- Vue Semaine
- Vue Occupation
- Vue Agenda
- Assistant de configuration
Ce rapport couvre les composants MultiDatePick eux-mêmes : les composants Date, Date Time et Booking, les cinq vues de calendrier du composant Booking et l'assistant de configuration. La plateforme Salesforce qui les entoure (habillage Lightning, barre de navigation, en-tête d'enregistrement, listes associées, App Launcher) relève de la responsabilité de Salesforce et de son propre VPAT, disponible sur salesforce.com/company/legal/accessibility.
Vous achetez pour un organisme public ? Lisez notre guide Section 508 pour les équipes du secteur public.
Résultats de l'analyse
axe-core 4.11, règles WCAG 2.1 A et AA, exécuté le 21 octobre 2026 sur le package géré 0.12.0-4 et sur le code source non packagé, puis le 26 octobre 2026 sur le code source non packagé incluant les ajouts de la 0.13.0. Les trois analyses ont donné le même résultat.
| Surface | Violations | Règles respectées |
|---|---|---|
| Composant Date | 0 | 16 |
| Composant Date Time | 0 | 17 |
| Composant Booking | 0 | 17 |
| Vue Calendrier | 0 | 18 |
| Vue Chronologie | 0 | 17 |
| Vue Semaine | 0 | 17 |
| Vue Occupation | 0 | 17 |
| Vue Agenda | 0 | 16 |
axe signale deux vérifications à contrôler manuellement sur chaque surface. Il ne peut pas suivre les références d'id ARIA dans le shadow DOM de Lightning ; la revue du code confirme que chaque id référencé existe dans le même composant. Il ne renvoie pas non plus de résultat de contraste automatisé à l'intérieur du composant ; le contraste est traité au critère 1.4.3 ci-dessous.
Terminologie
Les niveaux de conformité de ce rapport utilisent les termes suivants (selon le modèle ITI VPAT 2.5) :
- Supports : la fonctionnalité du produit dispose d'au moins une méthode qui satisfait le critère sans défaut connu, ou le satisfait par une solution équivalente.
- Partially Supports : certaines fonctionnalités du produit ne satisfont pas le critère.
- Does Not Support : la majorité des fonctionnalités du produit ne satisfont pas le critère.
- Not Applicable : le critère ne concerne pas le produit.
WCAG 2.1 niveau A
| Critère | Conformité | Remarques |
|---|---|---|
| 1.1.1 Contenu non textuel | Supports | Tous les boutons interactifs composés uniquement d'une icône (précédent/suivant du calendrier, cellules de jour, créneaux horaires, pastilles de statut) exposent un nom accessible via aria-label ou title. Le nom accessible des cellules de jour contient la date complète et l'état (par ex. « mercredi 1 avril 2026, sélectionné, aujourd'hui »). |
| 1.2.1 Contenu seulement audio ou vidéo | Not Applicable | Aucun contenu audio ou vidéo. |
| 1.2.2 Sous-titres (pré-enregistrés) | Not Applicable | Aucun média synchronisé. |
| 1.2.3 Audio-description ou version de remplacement pour un média temporel | Not Applicable | Aucun contenu vidéo. |
| 1.3.1 Information et relations | Supports | Le balisage du calendrier utilise une grille ARIA sémantique : role="grid" → role="row" → role="gridcell" + role="columnheader". Les étiquettes de formulaire sont associées par programmation via lightning-input / lightning-textarea. Les groupes de pastilles de statut utilisent role="group". |
| 1.3.2 Ordre séquentiel logique | Supports | L'ordre du DOM correspond à l'ordre de lecture visuel. Les étapes de l'assistant s'affichent dans l'ordre numérique, les semaines du calendrier de haut en bas, les créneaux horaires dans l'ordre chronologique. |
| 1.3.3 Caractéristiques sensorielles | Supports | Les instructions ne reposent jamais uniquement sur la couleur, la forme ou la position. Les couleurs de statut sont accompagnées de libellés texte dans la rangée de pastilles de statut. |
| 1.4.1 Utilisation de la couleur | Supports | Les dates sélectionnées affichent à la fois un remplissage coloré ET un anneau de bordure épais. Les créneaux en conflit affichent des rayures diagonales ET un badge de statut. |
| 1.4.2 Contrôle du son | Not Applicable | Le produit n'émet aucun son. |
| 2.1.1 Clavier | Supports | Tous les éléments interactifs sont accessibles au clavier. Les flèches parcourent la grille des jours ; Tab passe du calendrier aux pastilles de statut puis à la grille horaire ; Entrée / Espace active la cellule qui a le focus ; Échap ferme les fenêtres modales. Les flèches de mois et d'année sont des boutons natifs dans l'ordre de tabulation (0.13.0). Dans les cinq vues, le sélecteur de vue, chaque barre de réservation, bloc, cellule de heatmap et ligne d'agenda est un bouton natif doté d'un nom accessible. |
| 2.1.2 Pas de piège au clavier | Supports | Le focus peut quitter chaque composant avec Tab ou Échap. Les écrans de type modal (Importer/Exporter, Enregistrer la configuration) se ferment avec Échap. |
| 2.1.4 Raccourcis clavier utilisant des caractères | Supports | Aucun raccourci à un seul caractère susceptible d'entrer en conflit avec les technologies d'assistance. Les flèches, Entrée et Échap ne s'appliquent qu'à la grille du calendrier qui a le focus. |
| 2.2.1 Réglage du délai | Not Applicable | Aucune limite de temps n'est imposée aux interactions. Le suivi du déploiement des métadonnées personnalisées (CMT) affiche la progression sans limite de temps pour l'utilisateur. |
| 2.2.2 Mettre en pause, arrêter, masquer | Not Applicable | Aucun contenu en mouvement, clignotant, défilant ou mis à jour automatiquement. Les fenêtres au survol apparaissent à la demande et disparaissent quand le pointeur s'éloigne. |
| 2.3.1 Pas plus de trois flashs ou sous le seuil critique | Supports | Aucun contenu clignotant. L'indicateur de déploiement en cours tourne lentement, sous le seuil de flash. |
| 2.4.1 Contourner des blocs | Supports | Le produit est un composant, pas une page complète ; le contournement des blocs est assuré par les liens d'évitement (Skip Navigation) de Salesforce. |
| 2.4.2 Titre de page | Not Applicable | Les titres de page sont définis par la plateforme Salesforce, pas par le composant. |
| 2.4.3 Parcours du focus | Supports | L'ordre de tabulation suit l'ordre logique du DOM : titre → grille du calendrier → pastilles de statut (si affichées) → grille des créneaux horaires (si affichée) → boutons du pied. |
| 2.4.4 Fonction du lien (selon le contexte) | Supports | Les liens de l'assistant (« Suivre la visite guidée d'abord », « Exploration approfondie des composants : Dates · DateTime · Booking ») ont un texte explicite. Le lien « Voir l'enregistrement » de la fenêtre au survol est clair dans son contexte. |
| 3.1.1 Langue de la page | Supports | Respecte les paramètres régionaux Salesforce de l'utilisateur. Traductions intégrées pour 9 langues : anglais, espagnol, français, allemand, italien, japonais, hindi, portugais du Brésil, chinois simplifié. |
| 3.2.1 Au focus | Supports | Donner le focus à une cellule de jour, une pastille de statut ou un créneau horaire ne provoque pas de changement de contexte. La sélection n'a lieu que sur un clic, Entrée ou Espace explicite. |
| 3.2.2 À la saisie | Supports | Modifier la valeur d'un champ de formulaire ne déclenche pas d'envoi automatique. Ce sont les boutons explicites « Suivant », « Enregistrer » ou « Réserver » qui déclenchent l'envoi. |
| 3.3.1 Identification des erreurs | Supports | Les erreurs de formulaire (date invalide, conflit, sécurité au niveau du champ) s'affichent dans des notifications toast et dans un texte d'erreur en ligne avec role="alert" pour être annoncées par les lecteurs d'écran. Les erreurs nomment le champ, l'objet ou la règle en cause : une règle de validation affiche son propre message, et une autorisation manquante est nommée. |
| 3.3.2 Étiquettes ou instructions | Supports | Chaque champ de formulaire a une étiquette associée par programmation. Un texte d'aide en ligne accompagne les actions en plusieurs étapes. |
| 4.1.1 Analyse syntaxique | Supports | Le balisage HTML est bien formé ; il est validé par le compilateur LWC à la compilation. (Critère retiré dans les WCAG 2.2.) |
| 4.1.2 Nom, rôle et valeur | Supports | Tous les éléments interactifs exposent un nom, un rôle et une valeur accessibles. Le calendrier utilise le modèle de grille ARIA avec aria-selected sur les cellules. Les champs de formulaire utilisent les composants sémantiques lightning-input / lightning-textarea / lightning-combobox. Le sélecteur de vue est un groupe de boutons étiqueté avec aria-pressed sur la vue active, et les noms des vues ainsi que son étiquette suivent la langue de l'utilisateur. Chaque flèche de mois et d'année est un bouton nommé selon son action (« Mois précédent », « Mois suivant »). Un jour du calendrier qui ne peut pas être choisi est annoncé comme indisponible et porte aria-disabled. La commande Ajouter au calendrier est un vrai lien de téléchargement avec un nom visible. axe-core ne trouve aucune violation sur les huit surfaces (voir Résultats de l'analyse). |
WCAG 2.1 niveau AA
| Critère | Conformité | Remarques |
|---|---|---|
| 1.2.4 Sous-titres (en direct) | Not Applicable | Aucun média en direct. |
| 1.2.5 Audio-description (pré-enregistrée) | Not Applicable | Aucun contenu vidéo. |
| 1.3.4 Orientation | Supports | La mise en page CSS du produit s'adapte aux modes portrait et paysage. Aucun verrouillage de l'orientation. |
| 1.3.5 Identifier la finalité des champs | Supports | Les champs de formulaire indiquent leur finalité via les attributs de lightning-input. Les champs date utilisent type="date", les champs heure type="time". |
| 1.4.3 Contraste (minimum) | Partially Supports | Les couleurs par défaut offrent un contraste de 4,5:1 avec l'arrière-plan. Les couleurs de statut sont choisies par l'administrateur. Un remplissage pâle sur fond blanc peut descendre sous 4,5:1, et le produit ne peut pas empêcher ce choix. Utilisez la palette de couleurs SLDS pour rester conforme. L'analyse automatisée ne renvoie pas de résultat de contraste à l'intérieur du composant : cette évaluation repose donc sur la revue de la palette par défaut. |
| 1.4.4 Redimensionnement du texte | Supports | Le texte peut être agrandi jusqu'à 200 % avec le zoom du navigateur sans perte de contenu ni de fonctionnalité. |
| 1.4.5 Texte sous forme d'image | Supports | Tout le texte est rendu en texte réel. L'interface n'utilise aucune image de texte. |
| 1.4.10 Redistribution | Partially Supports | La grille du calendrier et la grille des créneaux horaires se redistribuent aux points de rupture courants. À 320 pixels CSS de large, la grille des jours conserve ses 7 colonnes (les cellules se rétrécissent proportionnellement au lieu de passer en pile verticale). Le choix de parcours à deux cartes de l'assistant s'empile verticalement sous 640 px. Chronologie, Semaine et Occupation sont des grilles à deux dimensions ; dans un conteneur étroit, elles défilent horizontalement dans une zone accessible au clavier. Agenda est une colonne unique qui se redistribue. |
| 1.4.11 Contraste du contenu non textuel | Supports | Les états des composants interactifs (anneau de focus, survol, sélection) utilisent des couleurs de bordure ou de remplissage d'un contraste d'au moins 3:1 avec les couleurs adjacentes. |
| 1.4.12 Espacement du texte | Supports | Les espacements de texte imposés par l'utilisateur n'entraînent aucune perte de contenu. Les conteneurs de texte n'ont pas de hauteur fixe susceptible de couper le contenu. |
| 1.4.13 Contenu au survol ou au focus | Supports | La fenêtre au survol d'une réservation peut être masquée (le pointeur s'éloigne, Échap la ferme), survolée, et reste affichée (elle ne disparaît pas tant qu'elle a le focus). |
| 2.4.5 Accès multiples | Not Applicable | Le produit est un composant, pas un site web de plusieurs pages. |
| 2.4.6 En-têtes et étiquettes | Supports | Les libellés des étapes de l'assistant de configuration sont explicites (« Nom & type », « Objet & champs », « Statut & affichage », « Vérifier & enregistrer »). |
| 2.4.7 Visibilité du focus | Supports | Tous les éléments interactifs affichent un indicateur de focus visible (anneau bleu sur les cellules, contour orange sur les dates sélectionnées, états de focus des boutons SLDS). |
| 2.5.1 Gestes de pointeur | Supports | La sélection par glissement et le glissement d'une réservation dans Chronologie ou Semaine sont des raccourcis ; le clic et le formulaire de modification de l'enregistrement en sont toujours l'équivalent. Aucun geste basé sur un tracé ou à plusieurs points de contact n'est requis. |
| 2.5.2 Annulation du pointeur | Supports | La sélection est validée au relâchement du clic (et non à l'appui). Le pointeur peut être éloigné d'une commande avant le relâchement pour annuler. |
| 2.5.3 Étiquette dans le nom | Supports | Les libellés visibles des boutons correspondent à leurs noms accessibles (« Enregistrer les dates », « Réserver », « Modifier les réservations »). |
| 2.5.4 Activation par le mouvement | Not Applicable | Le produit ne réagit pas aux mouvements de l'appareil. |
| 3.1.2 Langue d'un passage | Supports | Les libellés traduits respectent les paramètres régionaux Salesforce de l'utilisateur. Aucun mélange de langues sur un même écran. |
| 3.2.3 Navigation cohérente | Supports | La navigation entre les étapes de l'assistant (Suivant / Précédent) est identique dans tous les parcours. La rangée de boutons du pied est identique d'un composant à l'autre. |
| 3.2.4 Identification cohérente | Supports | Les chevrons précédent/suivant du calendrier, les couleurs des pastilles de statut, les badges de capacité et les icônes des créneaux horaires sont identiques d'un composant à l'autre. |
| 3.3.3 Suggestion après une erreur | Supports | Les erreurs de validation indiquent quoi corriger. Une importation de configuration incorrecte affiche par exemple « JSON invalide. Veuillez vérifier le format et réessayer. » Un enregistrement qui tombe dans le délai de prévenance de la fenêtre de réservation nomme les dates et invite à les retirer ou à choisir un horaire plus tardif. |
| 3.3.4 Prévention des erreurs (juridiques, financières, de données) | Supports | Les actions destructrices (supprimer une réservation) exigent une confirmation en deux clics. Les enregistrements sont additifs par défaut. Les dates retirées ne sont jamais supprimées sans une suppression explicite en mode édition. |
| 4.1.3 Messages d'état | Supports | Les messages d'état utilisent role="alert", role="status" ou le ShowToastEvent de Salesforce, et sont annoncés par les lecteurs d'écran sans déplacement du focus. La proposition Ajouter au calendrier après un enregistrement et l'avis de licence sont des zones role="status". |
Section 508 révisée
Pour les logiciels, la Section 508 renvoie aux WCAG 2.0 niveaux A et AA. Les critères des WCAG 2.0 sont un sous-ensemble des critères WCAG 2.1 détaillés ci-dessus ; reportez-vous aux tableaux WCAG pour chaque critère applicable.
Chapitre 3 : critères de performance fonctionnelle
| Critère | Conformité | Remarques |
|---|---|---|
| 302.1 Sans vision | Supports | Entièrement utilisable avec un lecteur d'écran. Les rôles et étiquettes ARIA annoncent la structure du calendrier, le statut et l'état des interactions. |
| 302.2 Avec une vision limitée | Supports | Prend en charge le zoom du navigateur jusqu'à 200 % (WCAG 1.4.4) et l'espacement du texte ajusté par l'utilisateur (1.4.12). |
| 302.3 Sans perception des couleurs | Supports | La couleur n'est jamais le seul indicateur d'état. Les dates sélectionnées ont une bordure épaisse, les conflits des rayures diagonales, et les pastilles de statut comportent des libellés texte. |
| 302.4 Sans audition | Not Applicable | Le produit n'émet aucun son. |
| 302.5 Avec une audition limitée | Not Applicable | Le produit n'émet aucun son. |
| 302.6 Sans parole | Not Applicable | Le produit ne nécessite aucune saisie vocale. |
| 302.7 Avec une capacité de manipulation limitée | Supports | Entièrement utilisable avec un seul pointeur ou au clavier seul. Aucun geste multipoint n'est requis. |
| 302.8 Avec une portée et une force limitées | Supports | Les cibles de clic de la grille des jours respectent le minimum de 24×24 pixels CSS. En mode de capacité dense, les créneaux horaires sont plus petits : c'est un réglage de densité choisi par l'administrateur. |
| 302.9 Avec des capacités linguistiques, cognitives et d'apprentissage limitées | Supports | L'assistant de configuration propose un parcours guidé « Guidez-moi » avec un texte d'aide en ligne. Des infobulles expliquent les propriétés avancées. Les messages d'erreur évitent le jargon. |
Chapitre 5 : logiciels
| Critère | Conformité | Remarques |
|---|---|---|
| 502.2.1 Contrôle des fonctions d'accessibilité par l'utilisateur | Not Applicable | Le produit ne remplace pas les fonctions d'accessibilité de la plateforme. |
| 502.2.2 Aucune perturbation des fonctions d'accessibilité | Supports | N'interfère pas avec les fonctions d'accessibilité de la plateforme Salesforce. |
| 502.3 Services d'accessibilité | Supports | Exposé via la sémantique ARIA / HTML standard. Aucune API d'accessibilité propriétaire n'est utilisée. |
| 502.4 Fonctions d'accessibilité de la plateforme | Supports | Respecte les fonctions d'accessibilité du navigateur et du système d'exploitation (zoom, mode contraste élevé, réduction des animations). |
Chapitre 6 : documentation et services d'assistance
| Critère | Conformité | Remarques |
|---|---|---|
| 602.2 Fonctions d'accessibilité et de compatibilité | Supports | Ce VPAT documente les fonctions d'accessibilité. Publié à cette URL. |
| 602.3 Documentation d'assistance électronique | Supports | Toute la documentation du produit est publiée en HTML accessible sur multidatepick.com. |
| 602.4 Formats alternatifs pour la documentation non électronique | Not Applicable | Toute la documentation d'assistance est électronique. |
| 603.2 Informations sur l'accessibilité et la compatibilité | Supports | Le support par e-mail répond aux questions d'accessibilité. |
| 603.3 Adaptations pour la communication | Supports | Un support par e-mail est disponible pour les utilisateurs qui le préfèrent au téléphone ou au chat. |
EN 301 549 V3.2.1
La norme EN 301 549 renvoie aux WCAG 2.1 niveaux A et AA dans tout son chapitre 9 (Web) et son chapitre 11 (Logiciels), et ajoute des exigences propres aux TIC. Les critères hors WCAG ci-dessous sont traités directement ; tout le reste renvoie aux tableaux WCAG ci-dessus.
| Critère | Conformité | Remarques |
|---|---|---|
| 4. Déclarations de performance fonctionnelle | Supports | Identique au chapitre 3 de la Section 508 ci-dessus. |
| 5.1 Fonctionnalité fermée | Not Applicable | Le produit n'est pas une fonctionnalité fermée. |
| 5.2 Activation des fonctions d'accessibilité | Supports | Les fonctions d'accessibilité (étiquettes ARIA, navigation au clavier, compatibilité avec les lecteurs d'écran) sont toujours actives. Aucune activation par l'utilisateur n'est nécessaire. |
| 9 Web (WCAG 2.1 A + AA) | Partially Supports | Voir les tableaux WCAG ci-dessus. Partiel sur 1.4.3 (couleur configurable par l'administrateur) et 1.4.10 (redistribution à 320 px). |
| 11 Logiciels (WCAG 2.1 A + AA) | Partially Supports | Voir les tableaux WCAG ci-dessus. Partiel sur 1.4.3 (couleur configurable par l'administrateur) et 1.4.10 (redistribution à 320 px). |
| 12 Documentation et services d'assistance | Supports | Identique au chapitre 6 de la Section 508 ci-dessus. |
Pour toute question, remarque ou demande de correction relative à l'accessibilité : support@multidatepick.com.
Des calendriers accessibles pour toutes les équipes
Bientôt disponible sur Salesforce AppExchange. $20 par utilisateur et par mois, toutes les fonctionnalités incluses, avec un essai gratuit de 30 jours.